{"version":3,"file":"alloymobile-angular.mjs","sources":["../../../projects/alloymobile-angular/src/lib/cell/icon/icon.model.ts","../../../projects/alloymobile-angular/src/lib/cell/icon/icon/icon.component.ts","../../../projects/alloymobile-angular/src/lib/cell/icon/icon/icon.component.html","../../../projects/alloymobile-angular/src/lib/cell/link/link.model.ts","../../../projects/alloymobile-angular/src/lib/cell/button/button.model.ts","../../../projects/alloymobile-angular/src/lib/cell/button/button/button.component.ts","../../../projects/alloymobile-angular/src/lib/cell/button/button/button.component.html","../../../projects/alloymobile-angular/src/lib/cell/link/link/link.component.ts","../../../projects/alloymobile-angular/src/lib/cell/link/link/link.component.html","../../../projects/alloymobile-angular/src/lib/cell/input/input.model.ts","../../../projects/alloymobile-angular/src/lib/tissue/inputs/input-floating-texts/input-floating-texts.component.ts","../../../projects/alloymobile-angular/src/lib/tissue/inputs/input-floating-texts/input-floating-texts.component.html","../../../projects/alloymobile-angular/src/lib/tissue/inputs/input-icon-texts/input-icon-texts.component.ts","../../../projects/alloymobile-angular/src/lib/tissue/inputs/input-icon-texts/input-icon-texts.component.html","../../../projects/alloymobile-angular/src/lib/cell/button/button-icon/button-icon.component.ts","../../../projects/alloymobile-angular/src/lib/cell/button/button-icon/button-icon.component.html","../../../projects/alloymobile-angular/src/lib/cell/link/link-icon/link-icon.component.ts","../../../projects/alloymobile-angular/src/lib/cell/link/link-icon/link-icon.component.html","../../../projects/alloymobile-angular/src/lib/cell/input/input-text/input-text.component.ts","../../../projects/alloymobile-angular/src/lib/cell/input/input-text/input-text.component.html","../../../projects/alloymobile-angular/src/lib/tissue/bar/bar.model.ts","../../../projects/alloymobile-angular/src/lib/tissue/card/card.model.ts","../../../projects/alloymobile-angular/src/lib/cell/icon/icon-link/icon-link.component.ts","../../../projects/alloymobile-angular/src/lib/cell/icon/icon-link/icon-link.component.html","../../../projects/alloymobile-angular/src/lib/cell/link/link-logo/link-logo.component.ts","../../../projects/alloymobile-angular/src/lib/cell/link/link-logo/link-logo.component.html","../../../projects/alloymobile-angular/src/lib/tissue/bar/link-bar/link-bar.component.ts","../../../projects/alloymobile-angular/src/lib/tissue/bar/link-bar/link-bar.component.html","../../../projects/alloymobile-angular/src/lib/cell/icon/icon-button/icon-button.component.ts","../../../projects/alloymobile-angular/src/lib/cell/icon/icon-button/icon-button.component.html","../../../projects/alloymobile-angular/src/lib/tissue/bar/button-bar/button-bar.component.ts","../../../projects/alloymobile-angular/src/lib/tissue/bar/button-bar/button-bar.component.html","../../../projects/alloymobile-angular/src/lib/tissue/card/card-action/card-action.component.ts","../../../projects/alloymobile-angular/src/lib/tissue/card/card-action/card-action.component.html","../../../projects/alloymobile-angular/src/lib/tissue/card/card-icon-action/card-icon-action.component.ts","../../../projects/alloymobile-angular/src/lib/tissue/card/card-icon-action/card-icon-action.component.html","../../../projects/alloymobile-angular/src/lib/tissue/card/card-image-action/card-image-action.component.ts","../../../projects/alloymobile-angular/src/lib/tissue/card/card-image-action/card-image-action.component.html","../../../projects/alloymobile-angular/src/lib/tissue/card/card/card.component.ts","../../../projects/alloymobile-angular/src/lib/tissue/card/card/card.component.html","../../../projects/alloymobile-angular/src/lib/tissue/card/card-image/card-image.component.ts","../../../projects/alloymobile-angular/src/lib/tissue/card/card-image/card-image.component.html","../../../projects/alloymobile-angular/src/lib/tissue/card/card-icon/card-icon.component.ts","../../../projects/alloymobile-angular/src/lib/tissue/card/card-icon/card-icon.component.html","../../../projects/alloymobile-angular/src/lib/tissue/navbar/navbar.model.ts","../../../projects/alloymobile-angular/src/lib/tissue/navbar/navbar/navbar.component.ts","../../../projects/alloymobile-angular/src/lib/tissue/navbar/navbar/navbar.component.html","../../../projects/alloymobile-angular/src/lib/tissue/inputs/input-texts/input-texts.component.ts","../../../projects/alloymobile-angular/src/lib/tissue/inputs/input-texts/input-texts.component.html","../../../projects/alloymobile-angular/src/lib/cell/button/button-submit/button-submit.component.ts","../../../projects/alloymobile-angular/src/lib/cell/button/button-submit/button-submit.component.html","../../../projects/alloymobile-angular/src/lib/tissue/table/table.model.ts","../../../projects/alloymobile-angular/src/lib/tissue/table/table/table.component.ts","../../../projects/alloymobile-angular/src/lib/tissue/table/table/table.component.html","../../../projects/alloymobile-angular/src/lib/tissue/searchbar/searchbar.model.ts","../../../projects/alloymobile-angular/src/lib/cell/input/input-icon-text/input-icon-text.component.ts","../../../projects/alloymobile-angular/src/lib/cell/input/input-icon-text/input-icon-text.component.html","../../../projects/alloymobile-angular/src/lib/tissue/searchbar/searchbar/searchbar.component.ts","../../../projects/alloymobile-angular/src/lib/tissue/searchbar/searchbar/searchbar.component.html","../../../projects/alloymobile-angular/src/lib/tissue/page/page.component.ts","../../../projects/alloymobile-angular/src/lib/tissue/page/page.component.html","../../../projects/alloymobile-angular/src/lib/tissue/clientbar/clientbar.model.ts","../../../projects/alloymobile-angular/src/lib/tissue/clientbar/clientbar/clientbar.component.ts","../../../projects/alloymobile-angular/src/lib/tissue/clientbar/clientbar/clientbar.component.html","../../../projects/alloymobile-angular/src/lib/tissue/table/table-action/table-action.component.ts","../../../projects/alloymobile-angular/src/lib/tissue/table/table-action/table-action.component.html","../../../projects/alloymobile-angular/src/lib/tissue/footer/footer-model.ts","../../../projects/alloymobile-angular/src/lib/tissue/footer/footer/footer.component.ts","../../../projects/alloymobile-angular/src/lib/tissue/footer/footer/footer.component.html","../../../projects/alloymobile-angular/src/lib/organ/form/form.model.ts","../../../projects/alloymobile-angular/src/lib/organ/form/form/form.component.ts","../../../projects/alloymobile-angular/src/lib/organ/form/form/form.component.html","../../../projects/alloymobile-angular/src/lib/organ/modal/modal.model.ts","../../../projects/alloymobile-angular/src/lib/organ/modal/modal/modal.component.ts","../../../projects/alloymobile-angular/src/lib/organ/modal/modal/modal.component.html","../../../projects/alloymobile-angular/src/lib/organ/modal/modal-toast/modal-toast.component.ts","../../../projects/alloymobile-angular/src/lib/organ/modal/modal-toast/modal-toast.component.html","../../../projects/alloymobile-angular/src/lib/organ/reset/reset.model.ts","../../../projects/alloymobile-angular/src/lib/organ/reset/reset/reset.component.ts","../../../projects/alloymobile-angular/src/lib/organ/reset/reset/reset.component.html","../../../projects/alloymobile-angular/src/lib/organ/code/code.model.ts","../../../projects/alloymobile-angular/src/lib/organ/code/code/code.component.ts","../../../projects/alloymobile-angular/src/lib/organ/code/code/code.component.html","../../../projects/alloymobile-angular/src/lib/organ/login/login.model.ts","../../../projects/alloymobile-angular/src/lib/organ/login/login/login.component.ts","../../../projects/alloymobile-angular/src/lib/organ/login/login/login.component.html","../../../projects/alloymobile-angular/src/lib/organ/register/register.model.ts","../../../projects/alloymobile-angular/src/lib/organ/register/register/register.component.ts","../../../projects/alloymobile-angular/src/lib/organ/register/register/register.component.html","../../../projects/alloymobile-angular/src/lib/organ/forget/forget.model.ts","../../../projects/alloymobile-angular/src/lib/organ/forget/forget/forget.component.ts","../../../projects/alloymobile-angular/src/lib/organ/forget/forget/forget.component.html","../../../projects/alloymobile-angular/src/lib/organ/crud/crud.model.ts","../../../projects/alloymobile-angular/src/lib/organ/crud/crud-table/crud-table.component.ts","../../../projects/alloymobile-angular/src/lib/organ/crud/crud-table/crud-table.component.html","../../../projects/alloymobile-angular/src/lib/organ/crud/crud-card/crud-card.component.ts","../../../projects/alloymobile-angular/src/lib/organ/crud/crud-card/crud-card.component.html","../../../projects/alloymobile-angular/src/lib/organ/profile/profile.model.ts","../../../projects/alloymobile-angular/src/lib/organ/profile/profile/profile.component.ts","../../../projects/alloymobile-angular/src/lib/organ/profile/profile/profile.component.html","../../../projects/alloymobile-angular/src/lib/tissue/nav/nav.model.ts","../../../projects/alloymobile-angular/src/lib/tissue/nav/tab-form/tab-form.component.ts","../../../projects/alloymobile-angular/src/lib/tissue/nav/tab-form/tab-form.component.html","../../../projects/alloymobile-angular/src/lib/cell/input/input-floating-text/input-floating-text.component.ts","../../../projects/alloymobile-angular/src/lib/cell/input/input-floating-text/input-floating-text.component.html","../../../projects/alloymobile-angular/src/lib/cell/button/button-dropdown/button-dropdown.component.ts","../../../projects/alloymobile-angular/src/lib/cell/button/button-dropdown/button-dropdown.component.html","../../../projects/alloymobile-angular/src/lib/tissue/pay/pay.model.ts","../../../projects/alloymobile-angular/src/lib/tissue/pay/pay/pay.component.ts","../../../projects/alloymobile-angular/src/lib/tissue/pay/pay/pay.component.html","../../../projects/alloymobile-angular/src/lib/organ/checkout/checkout.model.ts","../../../projects/alloymobile-angular/src/lib/organ/checkout/checkout/checkout.component.ts","../../../projects/alloymobile-angular/src/lib/organ/checkout/checkout/checkout.component.html","../../../projects/alloymobile-angular/src/lib/organ/donate/donate.model.ts","../../../projects/alloymobile-angular/src/lib/organ/donate/donate/donate.component.ts","../../../projects/alloymobile-angular/src/lib/organ/donate/donate/donate.component.html","../../../projects/alloymobile-angular/src/lib/tissue/navbar/navbar-action/navbar-action.component.ts","../../../projects/alloymobile-angular/src/lib/tissue/navbar/navbar-action/navbar-action.component.html","../../../projects/alloymobile-angular/src/lib/organ/contact/contact.model.ts","../../../projects/alloymobile-angular/src/lib/organ/contact/contact/contact.component.ts","../../../projects/alloymobile-angular/src/lib/organ/contact/contact/contact.component.html","../../../projects/alloymobile-angular/src/lib/organ/email/email.model.ts","../../../projects/alloymobile-angular/src/lib/organ/email/email/email.component.ts","../../../projects/alloymobile-angular/src/lib/organ/email/email/email.component.html","../../../projects/alloymobile-angular/src/lib/tissue/bar/side-bar/side-bar.component.ts","../../../projects/alloymobile-angular/src/lib/tissue/bar/side-bar/side-bar.component.html","../../../projects/alloymobile-angular/src/lib/alloymobile-angular.module.ts","../../../projects/alloymobile-angular/src/lib/tissue/page/page.model.ts","../../../projects/alloymobile-angular/src/public-api.ts","../../../projects/alloymobile-angular/src/alloymobile-angular.ts"],"sourcesContent":["import { IconDefinition, SizeProp } from '@fortawesome/fontawesome-svg-core';\nimport {\n  faAccessibleIcon,\n  faAccusoft,\n  faAdn,\n  faAdversal,\n  faAffiliatetheme,\n  faAlgolia,\n  faAmazon,\n  faAmazonPay,\n  faAmilia,\n  faAndroid,\n  faAngellist,\n  faAngrycreative,\n  faAngular,\n  faAppStore,\n  faAppStoreIos,\n  faApper,\n  faApple,\n  faApplePay,\n  faAsymmetrik,\n  faAudible,\n  faAutoprefixer,\n  faAvianex,\n  faAviato,\n  faAws,\n  faBandcamp,\n  faBehance,\n  faBehanceSquare,\n  faBimobject,\n  faBitbucket,\n  faBitcoin,\n  faBity,\n  faBlackTie,\n  faBlackberry,\n  faBlogger,\n  faBloggerB,\n  faBluetooth,\n  faBluetoothB,\n  faBtc,\n  faBuromobelexperte,\n  faBuysellads,\n  faCcAmazonPay,\n  faCcAmex,\n  faCcApplePay,\n  faCcDinersClub,\n  faCcDiscover,\n  faCcJcb,\n  faCcMastercard,\n  faCcPaypal,\n  faCcStripe,\n  faCcVisa,\n  faCentercode,\n  faChrome,\n  faCloudscale,\n  faCloudsmith,\n  faCloudversify,\n  faCodepen,\n  faCodiepie,\n  faConnectdevelop,\n  faContao,\n  faCpanel,\n  faCreativeCommons,\n  faCreativeCommonsBy,\n  faCreativeCommonsNc,\n  faCreativeCommonsNcEu,\n  faCreativeCommonsNcJp,\n  faCreativeCommonsNd,\n  faCreativeCommonsPd,\n  faCreativeCommonsPdAlt,\n  faCreativeCommonsRemix,\n  faCreativeCommonsSa,\n  faCreativeCommonsSampling,\n  faCreativeCommonsSamplingPlus,\n  faCreativeCommonsShare,\n  faCss3,\n  faCss3Alt,\n  faCuttlefish,\n  faDAndD,\n  faDashcube,\n  faDelicious,\n  faDeploydog,\n  faDeskpro,\n  faDeviantart,\n  faDigg,\n  faDigitalOcean,\n  faDiscord,\n  faDiscourse,\n  faDochub,\n  faDocker,\n  faDraft2digital,\n  faDribbble,\n  faDribbbleSquare,\n  faDropbox,\n  faDrupal,\n  faDyalog,\n  faEarlybirds,\n  faEbay,\n  faEdge,\n  faElementor,\n  faEmber,\n  faEmpire,\n  faEnvira,\n  faErlang,\n  faEthereum,\n  faEtsy,\n  faExpeditedssl,\n  faFacebook,\n  faFacebookF,\n  faFacebookMessenger,\n  faFacebookSquare,\n  faFirefox,\n  faFirstOrder,\n  faFirstOrderAlt,\n  faFirstdraft,\n  faFlickr,\n  faFlipboard,\n  faFly,\n  faFontAwesome,\n  faFontAwesomeAlt,\n  faFontAwesomeFlag,\n  faFonticons,\n  faFonticonsFi,\n  faFortAwesome,\n  faFortAwesomeAlt,\n  faForumbee,\n  faFoursquare,\n  faFreeCodeCamp,\n  faFreebsd,\n  faFulcrum,\n  faGalacticRepublic,\n  faGalacticSenate,\n  faGetPocket,\n  faGg,\n  faGgCircle,\n  faGit,\n  faGitSquare,\n  faGithub,\n  faGithubAlt,\n  faGithubSquare,\n  faGitkraken,\n  faGitlab,\n  faGitter,\n  faGlide,\n  faGlideG,\n  faGofore,\n  faGoodreads,\n  faGoodreadsG,\n  faGoogle,\n  faGoogleDrive,\n  faGooglePlay,\n  faGooglePlus,\n  faGooglePlusG,\n  faGooglePlusSquare,\n  faGoogleWallet,\n  faGratipay,\n  faGrav,\n  faGripfire,\n  faGrunt,\n  faGulp,\n  faHackerNews,\n  faHackerNewsSquare,\n  faHips,\n  faHireAHelper,\n  faHooli,\n  faHotjar,\n  faHouzz,\n  faHtml5,\n  faHubspot,\n  faImdb,\n  faInstagram,\n  faInternetExplorer,\n  faIoxhost,\n  faItunes,\n  faItunesNote,\n  faJava,\n  faJediOrder,\n  faJenkins,\n  faJoget,\n  faJoomla,\n  faJs,\n  faJsSquare,\n  faJsfiddle,\n  faKeybase,\n  faKeycdn,\n  faKickstarter,\n  faKickstarterK,\n  faKorvue,\n  faLaravel,\n  faLastfm,\n  faLastfmSquare,\n  faLeanpub,\n  faLess,\n  faLine,\n  faLinkedin,\n  faLinkedinIn,\n  faLinode,\n  faLinux,\n  faLyft,\n  faMagento,\n  faMandalorian,\n  faMastodon,\n  faMaxcdn,\n  faMedapps,\n  faMedium,\n  faMediumM,\n  faMedrt,\n  faMeetup,\n  faMicrosoft,\n  faMix,\n  faMixcloud,\n  faMizuni,\n  faModx,\n  faMonero,\n  faNapster,\n  faNode,\n  faNodeJs,\n  faNpm,\n  faNs8,\n  faNutritionix,\n  faOdnoklassniki,\n  faOdnoklassnikiSquare,\n  faOldRepublic,\n  faOpencart,\n  faOpenid,\n  faOpera,\n  faOptinMonster,\n  faOsi,\n  faPage4,\n  faPagelines,\n  faPalfed,\n  faPatreon,\n  faPaypal,\n  faPeriscope,\n  faPhabricator,\n  faPhoenixFramework,\n  faPhoenixSquadron,\n  faPhp,\n  faPiedPiper,\n  faPiedPiperAlt,\n  faPiedPiperHat,\n  faPiedPiperPp,\n  faPinterest,\n  faPinterestP,\n  faPinterestSquare,\n  faPlaystation,\n  faProductHunt,\n  faPushed,\n  faPython,\n  faQq,\n  faQuinscape,\n  faQuora,\n  faRProject,\n  faRavelry,\n  faReact,\n  faReadme,\n  faRebel,\n  faRedRiver,\n  faReddit,\n  faRedditAlien,\n  faRedditSquare,\n  faRendact,\n  faRenren,\n  faReplyd,\n  faResearchgate,\n  faResolving,\n  faRocketchat,\n  faRockrms,\n  faSafari,\n  faSass,\n  faSchlix,\n  faScribd,\n  faSearchengin,\n  faSellcast,\n  faSellsy,\n  faServicestack,\n  faShirtsinbulk,\n  faSimplybuilt,\n  faSistrix,\n  faSith,\n  faSkyatlas,\n  faSkype,\n  faSlack,\n  faSlackHash,\n  faSlideshare,\n  faSnapchat,\n  faSnapchatGhost,\n  faSnapchatSquare,\n  faSoundcloud,\n  faSpeakap,\n  faSpotify,\n  faStackExchange,\n  faStackOverflow,\n  faStaylinked,\n  faSteam,\n  faSteamSquare,\n  faSteamSymbol,\n  faStickerMule,\n  faStrava,\n  faStripe,\n  faStripeS,\n  faStudiovinari,\n  faStumbleupon,\n  faStumbleuponCircle,\n  faSuperpowers,\n  faSupple,\n  faTeamspeak,\n  faTelegram,\n  faTelegramPlane,\n  faTencentWeibo,\n  faThemeisle,\n  faTradeFederation,\n  faTrello,\n  faTumblr,\n  faTumblrSquare,\n  faTwitch,\n  faTwitter,\n  faTwitterSquare,\n  faTypo3,\n  faUber,\n  faUikit,\n  faUniregistry,\n  faUntappd,\n  faUsb,\n  faUssunnah,\n  faVaadin,\n  faViacoin,\n  faViadeo,\n  faViadeoSquare,\n  faViber,\n  faVimeo,\n  faVimeoSquare,\n  faVimeoV,\n  faVine,\n  faVk,\n  faVnv,\n  faVuejs,\n  faWeibo,\n  faWeixin,\n  faWhatsapp,\n  faWhatsappSquare,\n  faWhmcs,\n  faWikipediaW,\n  faWindows,\n  faWolfPackBattalion,\n  faWordpress,\n  faWordpressSimple,\n  faWpbeginner,\n  faWpexplorer,\n  faWpforms,\n  faXbox,\n  faXing,\n  faXingSquare,\n  faYCombinator,\n  faYahoo,\n  faYandex,\n  faYandexInternational,\n  faYelp,\n  faYoast,\n  faYoutube,\n  faYoutubeSquare,\n\n} from '@fortawesome/free-brands-svg-icons';\n\nimport {\n  faArrowLeftLong,\n  faBlog,\n  faBorderAll,\n  faDashboard,\n  faEnvelopeOpenText,\n  faIcons,\n  faLocation,\n  faPhoneAlt,\n  faRightToBracket,\n  faAddressBook,\n  faAddressCard,\n  faAdjust,\n  faAlignCenter,\n  faAlignJustify,\n  faAlignLeft,\n  faAlignRight,\n  faAllergies,\n  faAmbulance,\n  faAmericanSignLanguageInterpreting,\n  faAnchor,\n  faAngleDoubleDown,\n  faAngleDoubleLeft,\n  faAngleDoubleRight,\n  faAngleDoubleUp,\n  faAngleDown,\n  faAngleLeft,\n  faAngleRight,\n  faAngleUp,\n  faArchive,\n  faArrowAltCircleDown,\n  faArrowAltCircleLeft,\n  faArrowAltCircleRight,\n  faArrowAltCircleUp,\n  faArrowCircleDown,\n  faArrowCircleLeft,\n  faArrowCircleRight,\n  faArrowCircleUp,\n  faArrowDown,\n  faArrowLeft,\n  faArrowRight,\n  faArrowUp,\n  faArrowsAlt,\n  faArrowsAltH,\n  faArrowsAltV,\n  faAssistiveListeningSystems,\n  faAsterisk,\n  faAt,\n  faAudioDescription,\n  faBackward,\n  faBalanceScale,\n  faBan,\n  faBandAid,\n  faBarcode,\n  faBars,\n  faBaseballBall,\n  faBasketballBall,\n  faBath,\n  faBatteryEmpty,\n  faBatteryFull,\n  faBatteryHalf,\n  faBatteryQuarter,\n  faBatteryThreeQuarters,\n  faBed,\n  faBeer,\n  faBell,\n  faBellSlash,\n  faBicycle,\n  faBinoculars,\n  faBirthdayCake,\n  faBlender,\n  faBlind,\n  faBold,\n  faBolt,\n  faBomb,\n  faBook,\n  faBookOpen,\n  faBookmark,\n  faBowlingBall,\n  faBox,\n  faBoxOpen,\n  faBoxes,\n  faBraille,\n  faBriefcase,\n  faBriefcaseMedical,\n  faBroadcastTower,\n  faBroom,\n  faBug,\n  faBuilding,\n  faBullhorn,\n  faBullseye,\n  faBurn,\n  faBus,\n  faCalculator,\n  faCalendar,\n  faCalendarAlt,\n  faCalendarCheck,\n  faCalendarMinus,\n  faCalendarPlus,\n  faCalendarTimes,\n  faCamera,\n  faCameraRetro,\n  faCapsules,\n  faCar,\n  faCaretDown,\n  faCaretLeft,\n  faCaretRight,\n  faCaretSquareDown,\n  faCaretSquareLeft,\n  faCaretSquareRight,\n  faCaretSquareUp,\n  faCaretUp,\n  faCartArrowDown,\n  faCartPlus,\n  faCertificate,\n  faChalkboard,\n  faChalkboardTeacher,\n  faChartArea,\n  faChartBar,\n  faChartLine,\n  faChartPie,\n  faCheck,\n  faCheckCircle,\n  faCheckSquare,\n  faChess,\n  faChessBishop,\n  faChessBoard,\n  faChessKing,\n  faChessKnight,\n  faChessPawn,\n  faChessQueen,\n  faChessRook,\n  faChevronCircleDown,\n  faChevronCircleLeft,\n  faChevronCircleRight,\n  faChevronCircleUp,\n  faChevronDown,\n  faChevronLeft,\n  faChevronRight,\n  faChevronUp,\n  faChild,\n  faChurch,\n  faCircle,\n  faCircleNotch,\n  faClipboard,\n  faClipboardCheck,\n  faClipboardList,\n  faClock,\n  faClone,\n  faClosedCaptioning,\n  faCloud,\n  faCloudDownloadAlt,\n  faCloudUploadAlt,\n  faCode,\n  faCodeBranch,\n  faCoffee,\n  faCog,\n  faCogs,\n  faCoins,\n  faColumns,\n  faComment,\n  faCommentAlt,\n  faCommentDots,\n  faCommentSlash,\n  faComments,\n  faCompactDisc,\n  faCompass,\n  faCompress,\n  faCopy,\n  faCopyright,\n  faCouch,\n  faCreditCard,\n  faCrop,\n  faCrosshairs,\n  faCrow,\n  faCrown,\n  faCube,\n  faCubes,\n  faCut,\n  faDatabase,\n  faDeaf,\n  faDesktop,\n  faDiagnoses,\n  faDice,\n  faDiceFive,\n  faDiceFour,\n  faDiceOne,\n  faDiceSix,\n  faDiceThree,\n  faDiceTwo,\n  faDivide,\n  faDna,\n  faDollarSign,\n  faDolly,\n  faDollyFlatbed,\n  faDonate,\n  faDoorClosed,\n  faDoorOpen,\n  faDotCircle,\n  faDove,\n  faDownload,\n  faDumbbell,\n  faEdit,\n  faEject,\n  faEllipsisH,\n  faEllipsisV,\n  faEnvelope,\n  faEnvelopeOpen,\n  faEnvelopeSquare,\n  faEquals,\n  faEraser,\n  faEuroSign,\n  faExchangeAlt,\n  faExclamation,\n  faExclamationCircle,\n  faExclamationTriangle,\n  faExpand,\n  faExpandArrowsAlt,\n  faExternalLinkAlt,\n  faExternalLinkSquareAlt,\n  faEye,\n  faEyeDropper,\n  faEyeSlash,\n  faFastBackward,\n  faFastForward,\n  faFax,\n  faFeather,\n  faFemale,\n  faFighterJet,\n  faFile,\n  faFileAlt,\n  faFileArchive,\n  faFileAudio,\n  faFileCode,\n  faFileExcel,\n  faFileImage,\n  faFileMedical,\n  faFileMedicalAlt,\n  faFilePdf,\n  faFilePowerpoint,\n  faFileVideo,\n  faFileWord,\n  faFilm,\n  faFilter,\n  faFire,\n  faFireExtinguisher,\n  faFirstAid,\n  faFlag,\n  faFlagCheckered,\n  faFlask,\n  faFolder,\n  faFolderOpen,\n  faFont,\n  faFontAwesomeLogoFull,\n  faFootballBall,\n  faForward,\n  faFrog,\n  faFrown,\n  faFutbol,\n  faGamepad,\n  faGasPump,\n  faGavel,\n  faGem,\n  faGenderless,\n  faGift,\n  faGlassMartini,\n  faGlasses,\n  faGlobe,\n  faGolfBall,\n  faGraduationCap,\n  faGreaterThan,\n  faGreaterThanEqual,\n  faHSquare,\n  faHandHolding,\n  faHandHoldingHeart,\n  faHandHoldingUsd,\n  faHandLizard,\n  faHandPaper,\n  faHandPeace,\n  faHandPointDown,\n  faHandPointLeft,\n  faHandPointRight,\n  faHandPointUp,\n  faHandPointer,\n  faHandRock,\n  faHandScissors,\n  faHandSpock,\n  faHands,\n  faHandsHelping,\n  faHandshake,\n  faHashtag,\n  faHdd,\n  faHeading,\n  faHeadphones,\n  faHeart,\n  faHeartbeat,\n  faHelicopter,\n  faHistory,\n  faHockeyPuck,\n  faHome,\n  faHospital,\n  faHospitalAlt,\n  faHospitalSymbol,\n  faHourglass,\n  faHourglassEnd,\n  faHourglassHalf,\n  faHourglassStart,\n  faICursor,\n  faIdBadge,\n  faIdCard,\n  faIdCardAlt,\n  faImage,\n  faImages,\n  faInbox,\n  faIndent,\n  faIndustry,\n  faInfinity,\n  faInfo,\n  faInfoCircle,\n  faItalic,\n  faKey,\n  faKeyboard,\n  faKiwiBird,\n  faLanguage,\n  faLaptop,\n  faLeaf,\n  faLemon,\n  faLessThan,\n  faLessThanEqual,\n  faLevelDownAlt,\n  faLevelUpAlt,\n  faLifeRing,\n  faLightbulb,\n  faLink,\n  faLiraSign,\n  faList,\n  faListAlt,\n  faListOl,\n  faListUl,\n  faLocationArrow,\n  faLock,\n  faLockOpen,\n  faLongArrowAltDown,\n  faLongArrowAltLeft,\n  faLongArrowAltRight,\n  faLongArrowAltUp,\n  faLowVision,\n  faMagic,\n  faMagnet,\n  faMale,\n  faMap,\n  faMapMarker,\n  faMapMarkerAlt,\n  faMapPin,\n  faMapSigns,\n  faMars,\n  faMarsDouble,\n  faMarsStroke,\n  faMarsStrokeH,\n  faMarsStrokeV,\n  faMedkit,\n  faMeh,\n  faMemory,\n  faMercury,\n  faMicrochip,\n  faMicrophone,\n  faMicrophoneAlt,\n  faMicrophoneAltSlash,\n  faMicrophoneSlash,\n  faMinus,\n  faMinusCircle,\n  faMinusSquare,\n  faMobile,\n  faMobileAlt,\n  faMoneyBill,\n  faMoneyBillAlt,\n  faMoneyBillWave,\n  faMoneyBillWaveAlt,\n  faMoneyCheck,\n  faMoneyCheckAlt,\n  faMoon,\n  faMotorcycle,\n  faMousePointer,\n  faMusic,\n  faNeuter,\n  faNewspaper,\n  faNotEqual,\n  faNotesMedical,\n  faObjectGroup,\n  faObjectUngroup,\n  faOutdent,\n  faPaintBrush,\n  faPalette,\n  faPallet,\n  faPaperPlane,\n  faPaperclip,\n  faParachuteBox,\n  faParagraph,\n  faParking,\n  faPaste,\n  faPause,\n  faPauseCircle,\n  faPaw,\n  faPenSquare,\n  faPencilAlt,\n  faPeopleCarry,\n  faPercent,\n  faPercentage,\n  faPhone,\n  faPhoneSlash,\n  faPhoneSquare,\n  faPhoneVolume,\n  faPiggyBank,\n  faPills,\n  faPlane,\n  faPlay,\n  faPlayCircle,\n  faPlug,\n  faPlus,\n  faPlusCircle,\n  faPlusSquare,\n  faPodcast,\n  faPoo,\n  faPortrait,\n  faPoundSign,\n  faPowerOff,\n  faPrescriptionBottle,\n  faPrescriptionBottleAlt,\n  faPrint,\n  faProcedures,\n  faProjectDiagram,\n  faPuzzlePiece,\n  faQrcode,\n  faQuestion,\n  faQuestionCircle,\n  faQuidditch,\n  faQuoteLeft,\n  faQuoteRight,\n  faRandom,\n  faReceipt,\n  faRecycle,\n  faRedo,\n  faRedoAlt,\n  faRegistered,\n  faReply,\n  faReplyAll,\n  faRetweet,\n  faRibbon,\n  faRoad,\n  faRobot,\n  faRocket,\n  faRss,\n  faRssSquare,\n  faRubleSign,\n  faRuler,\n  faRulerCombined,\n  faRulerHorizontal,\n  faRulerVertical,\n  faRupeeSign,\n  faSave,\n  faSchool,\n  faScrewdriver,\n  faSearch,\n  faSearchMinus,\n  faSearchPlus,\n  faSeedling,\n  faServer,\n  faShare,\n  faShareAlt,\n  faShareAltSquare,\n  faShareSquare,\n  faShekelSign,\n  faShieldAlt,\n  faShip,\n  faShippingFast,\n  faShoePrints,\n  faShoppingBag,\n  faShoppingBasket,\n  faShoppingCart,\n  faShower,\n  faSign,\n  faSignInAlt,\n  faSignLanguage,\n  faSignOutAlt,\n  faSignal,\n  faSitemap,\n  faSkull,\n  faSlidersH,\n  faSmile,\n  faSmoking,\n  faSmokingBan,\n  faSnowflake,\n  faSort,\n  faSortAlphaDown,\n  faSortAlphaUp,\n  faSortAmountDown,\n  faSortAmountUp,\n  faSortDown,\n  faSortNumericDown,\n  faSortNumericUp,\n  faSortUp,\n  faSpaceShuttle,\n  faSpinner,\n  faSquare,\n  faSquareFull,\n  faStar,\n  faStarHalf,\n  faStepBackward,\n  faStepForward,\n  faStethoscope,\n  faStickyNote,\n  faStop,\n  faStopCircle,\n  faStopwatch,\n  faStore,\n  faStoreAlt,\n  faStream,\n  faStreetView,\n  faStrikethrough,\n  faStroopwafel,\n  faSubscript,\n  faSubway,\n  faSuitcase,\n  faSun,\n  faSuperscript,\n  faSync,\n  faSyncAlt,\n  faSyringe,\n  faTable,\n  faTableTennis,\n  faTablet,\n  faTabletAlt,\n  faTablets,\n  faTachometerAlt,\n  faTag,\n  faTags,\n  faTape,\n  faTasks,\n  faTaxi,\n  faTerminal,\n  faTextHeight,\n  faTextWidth,\n  faTh,\n  faThLarge,\n  faThList,\n  faThermometer,\n  faThermometerEmpty,\n  faThermometerFull,\n  faThermometerHalf,\n  faThermometerQuarter,\n  faThermometerThreeQuarters,\n  faThumbsDown,\n  faThumbsUp,\n  faThumbtack,\n  faTicketAlt,\n  faTimes,\n  faTimesCircle,\n  faTint,\n  faToggleOff,\n  faToggleOn,\n  faToolbox,\n  faTrademark,\n  faTrain,\n  faTransgender,\n  faTransgenderAlt,\n  faTrash,\n  faTrashAlt,\n  faTree,\n  faTrophy,\n  faTruck,\n  faTruckLoading,\n  faTruckMoving,\n  faTshirt,\n  faTty,\n  faTv,\n  faUmbrella,\n  faUnderline,\n  faUndo,\n  faUndoAlt,\n  faUniversalAccess,\n  faUniversity,\n  faUnlink,\n  faUnlock,\n  faUnlockAlt,\n  faUpload,\n  faUser,\n  faUserAlt,\n  faUserAltSlash,\n  faUserAstronaut,\n  faUserCheck,\n  faUserCircle,\n  faUserClock,\n  faUserCog,\n  faUserEdit,\n  faUserFriends,\n  faUserGraduate,\n  faUserLock,\n  faUserMd,\n  faUserMinus,\n  faUserNinja,\n  faUserPlus,\n  faUserSecret,\n  faUserShield,\n  faUserSlash,\n  faUserTag,\n  faUserTie,\n  faUserTimes,\n  faUsers,\n  faUsersCog,\n  faUtensilSpoon,\n  faUtensils,\n  faVenus,\n  faVenusDouble,\n  faVenusMars,\n  faVial,\n  faVials,\n  faVideo,\n  faVideoSlash,\n  faVolleyballBall,\n  faVolumeDown,\n  faVolumeOff,\n  faVolumeUp,\n  faWalking,\n  faWallet,\n  faWarehouse,\n  faWeight,\n  faWheelchair,\n  faWifi,\n  faWindowClose,\n  faWindowMaximize,\n  faWindowMinimize,\n  faWindowRestore,\n  faWineGlass,\n  faWonSign,\n  faWrench,\n  faXRay,\n  faYenSign,\n  faSignature,\n  faGear,\n  faGears,\n  faMessage,\n  faLocationPin,\n  faLocationPinLock,\n  faLocationDot,\n  faMapLocation,\n  faMapLocationDot,\n  faHouse,\n  faHouseChimney,\n  faHouseUser,\n  faHouseLock,\n  faHouseLaptop,\n  faCircleDot,\n  faTableColumns,\n  faWater,\n} from '@fortawesome/free-solid-svg-icons';\n\nexport class AlloyIcon {\n  id: string;\n  className: string;\n  icon: IconDefinition;\n  size: SizeProp;\n  spin: boolean;\n  static idGenerator: number = 0;\n  constructor(res?: any) {\n    if (res) {\n      this.id = res.id ? res.id : \"icon\" + ++AlloyIcon.idGenerator;\n      this.icon = res.icon\n        ? AlloyIcon.getIcon(res.icon)\n        : AlloyIcon.getIcon('faMicrochip');\n      this.size = res.size\n        ? AlloyIcon.getSizeProp(res.size)\n        : AlloyIcon.getSizeProp('lg');\n      this.spin = res.spin ? res.spin : false;\n      this.className = res.className ? res.className : \"\";\n    } else {\n      this.id = \"icon\" + ++AlloyIcon.idGenerator;\n      this.icon = AlloyIcon.getIcon('faMicrochip');\n      this.size = AlloyIcon.getSizeProp('lg');\n      this.spin = false;\n      this.className = \"\";\n    }\n  }\n\n  static getAlloyIcon(icon): AlloyIcon{\n    if(icon instanceof AlloyIcon){\n      return icon;\n    }else{\n      return( new AlloyIcon(icon));\n    }\n  }\n\n  static getIcon(icon: string): IconDefinition {\n    switch (icon) {\n      case 'faWater' :  return  faWater; \n      case 'faTableColumns' :  return  faTableColumns;\n      case 'faCircleDot' :  return  faCircleDot;\n      case 'faHouse' :  return  faHouse;\n      case 'faHouseChimney' :  return  faHouseChimney;\n      case 'faHouseUser' :  return  faHouseUser;\n      case 'faHouseLock' :  return  faHouseLock;\n      case 'faHouseLaptop' :  return  faHouseLaptop;\n      case 'faSignature' :  return  faSignature;\n      case 'faLocationPin' :  return  faLocationPin;\n      case 'faLocationPinLock' :  return  faLocationPinLock;\n      case 'faLocationDot' :  return  faLocationDot;\n      case 'faMapLocation' :  return  faMapLocation;\n      case 'faMapLocationDot' :  return  faMapLocationDot;\n      case 'faGear' :  return  faGear;\n      case 'faGears' :  return  faGears;\n      case 'faMessage' :  return  faMessage;\n      case 'faArrowLeftLong' :  return  faArrowLeftLong;\n      case 'faBlog' :  return  faBlog;\n      case 'faBorderAll' :  return  faBorderAll;\n      case 'faDashboard' :  return  faDashboard;\n      case 'faEnvelopeOpenText' :  return  faEnvelopeOpenText;\n      case 'faIcons' :  return  faIcons;\n      case 'faLocation' :  return  faLocation;\n      case 'faPhoneAlt' :  return  faPhoneAlt;\n      case 'faRightToBracket' :  return  faRightToBracket;\n      case 'faAddressBook' :  return  faAddressBook;\n      case 'faAddressCard' :  return  faAddressCard;\n      case 'faAdjust' :  return  faAdjust;\n      case 'faAlignCenter' :  return  faAlignCenter;\n      case 'faAlignJustify' :  return  faAlignJustify;\n      case 'faAlignLeft' :  return  faAlignLeft;\n      case 'faAlignRight' :  return  faAlignRight;\n      case 'faAllergies' :  return  faAllergies;\n      case 'faAmbulance' :  return  faAmbulance;\n      case 'faAmericanSignLanguageInterpreting' :  return  faAmericanSignLanguageInterpreting;\n      case 'faAnchor' :  return  faAnchor;\n      case 'faAngleDoubleDown' :  return  faAngleDoubleDown;\n      case 'faAngleDoubleLeft' :  return  faAngleDoubleLeft;\n      case 'faAngleDoubleRight' :  return  faAngleDoubleRight;\n      case 'faAngleDoubleUp' :  return  faAngleDoubleUp;\n      case 'faAngleDown' :  return  faAngleDown;\n      case 'faAngleLeft' :  return  faAngleLeft;\n      case 'faAngleRight' :  return  faAngleRight;\n      case 'faAngleUp' :  return  faAngleUp;\n      case 'faArchive' :  return  faArchive;\n      case 'faArrowAltCircleDown' :  return  faArrowAltCircleDown;\n      case 'faArrowAltCircleLeft' :  return  faArrowAltCircleLeft;\n      case 'faArrowAltCircleRight' :  return  faArrowAltCircleRight;\n      case 'faArrowAltCircleUp' :  return  faArrowAltCircleUp;\n      case 'faArrowCircleDown' :  return  faArrowCircleDown;\n      case 'faArrowCircleLeft' :  return  faArrowCircleLeft;\n      case 'faArrowCircleRight' :  return  faArrowCircleRight;\n      case 'faArrowCircleUp' :  return  faArrowCircleUp;\n      case 'faArrowDown' :  return  faArrowDown;\n      case 'faArrowLeft' :  return  faArrowLeft;\n      case 'faArrowRight' :  return  faArrowRight;\n      case 'faArrowUp' :  return  faArrowUp;\n      case 'faArrowsAlt' :  return  faArrowsAlt;\n      case 'faArrowsAltH' :  return  faArrowsAltH;\n      case 'faArrowsAltV' :  return  faArrowsAltV;\n      case 'faAssistiveListeningSystems' :  return  faAssistiveListeningSystems;\n      case 'faAsterisk' :  return  faAsterisk;\n      case 'faAt' :  return  faAt;\n      case 'faAudioDescription' :  return  faAudioDescription;\n      case 'faBackward' :  return  faBackward;\n      case 'faBalanceScale' :  return  faBalanceScale;\n      case 'faBan' :  return  faBan;\n      case 'faBandAid' :  return  faBandAid;\n      case 'faBarcode' :  return  faBarcode;\n      case 'faBars' :  return  faBars;\n      case 'faBaseballBall' :  return  faBaseballBall;\n      case 'faBasketballBall' :  return  faBasketballBall;\n      case 'faBath' :  return  faBath;\n      case 'faBatteryEmpty' :  return  faBatteryEmpty;\n      case 'faBatteryFull' :  return  faBatteryFull;\n      case 'faBatteryHalf' :  return  faBatteryHalf;\n      case 'faBatteryQuarter' :  return  faBatteryQuarter;\n      case 'faBatteryThreeQuarters' :  return  faBatteryThreeQuarters;\n      case 'faBed' :  return  faBed;\n      case 'faBeer' :  return  faBeer;\n      case 'faBell' :  return  faBell;\n      case 'faBellSlash' :  return  faBellSlash;\n      case 'faBicycle' :  return  faBicycle;\n      case 'faBinoculars' :  return  faBinoculars;\n      case 'faBirthdayCake' :  return  faBirthdayCake;\n      case 'faBlender' :  return  faBlender;\n      case 'faBlind' :  return  faBlind;\n      case 'faBold' :  return  faBold;\n      case 'faBolt' :  return  faBolt;\n      case 'faBomb' :  return  faBomb;\n      case 'faBook' :  return  faBook;\n      case 'faBookOpen' :  return  faBookOpen;\n      case 'faBookmark' :  return  faBookmark;\n      case 'faBowlingBall' :  return  faBowlingBall;\n      case 'faBox' :  return  faBox;\n      case 'faBoxOpen' :  return  faBoxOpen;\n      case 'faBoxes' :  return  faBoxes;\n      case 'faBraille' :  return  faBraille;\n      case 'faBriefcase' :  return  faBriefcase;\n      case 'faBriefcaseMedical' :  return  faBriefcaseMedical;\n      case 'faBroadcastTower' :  return  faBroadcastTower;\n      case 'faBroom' :  return  faBroom;\n      case 'faBug' :  return  faBug;\n      case 'faBuilding' :  return  faBuilding;\n      case 'faBullhorn' :  return  faBullhorn;\n      case 'faBullseye' :  return  faBullseye;\n      case 'faBurn' :  return  faBurn;\n      case 'faBus' :  return  faBus;\n      case 'faCalculator' :  return  faCalculator;\n      case 'faCalendar' :  return  faCalendar;\n      case 'faCalendarAlt' :  return  faCalendarAlt;\n      case 'faCalendarCheck' :  return  faCalendarCheck;\n      case 'faCalendarMinus' :  return  faCalendarMinus;\n      case 'faCalendarPlus' :  return  faCalendarPlus;\n      case 'faCalendarTimes' :  return  faCalendarTimes;\n      case 'faCamera' :  return  faCamera;\n      case 'faCameraRetro' :  return  faCameraRetro;\n      case 'faCapsules' :  return  faCapsules;\n      case 'faCar' :  return  faCar;\n      case 'faCaretDown' :  return  faCaretDown;\n      case 'faCaretLeft' :  return  faCaretLeft;\n      case 'faCaretRight' :  return  faCaretRight;\n      case 'faCaretSquareDown' :  return  faCaretSquareDown;\n      case 'faCaretSquareLeft' :  return  faCaretSquareLeft;\n      case 'faCaretSquareRight' :  return  faCaretSquareRight;\n      case 'faCaretSquareUp' :  return  faCaretSquareUp;\n      case 'faCaretUp' :  return  faCaretUp;\n      case 'faCartArrowDown' :  return  faCartArrowDown;\n      case 'faCartPlus' :  return  faCartPlus;\n      case 'faCertificate' :  return  faCertificate;\n      case 'faChalkboard' :  return  faChalkboard;\n      case 'faChalkboardTeacher' :  return  faChalkboardTeacher;\n      case 'faChartArea' :  return  faChartArea;\n      case 'faChartBar' :  return  faChartBar;\n      case 'faChartLine' :  return  faChartLine;\n      case 'faChartPie' :  return  faChartPie;\n      case 'faCheck' :  return  faCheck;\n      case 'faCheckCircle' :  return  faCheckCircle;\n      case 'faCheckSquare' :  return  faCheckSquare;\n      case 'faChess' :  return  faChess;\n      case 'faChessBishop' :  return  faChessBishop;\n      case 'faChessBoard' :  return  faChessBoard;\n      case 'faChessKing' :  return  faChessKing;\n      case 'faChessKnight' :  return  faChessKnight;\n      case 'faChessPawn' :  return  faChessPawn;\n      case 'faChessQueen' :  return  faChessQueen;\n      case 'faChessRook' :  return  faChessRook;\n      case 'faChevronCircleDown' :  return  faChevronCircleDown;\n      case 'faChevronCircleLeft' :  return  faChevronCircleLeft;\n      case 'faChevronCircleRight' :  return  faChevronCircleRight;\n      case 'faChevronCircleUp' :  return  faChevronCircleUp;\n      case 'faChevronDown' :  return  faChevronDown;\n      case 'faChevronLeft' :  return  faChevronLeft;\n      case 'faChevronRight' :  return  faChevronRight;\n      case 'faChevronUp' :  return  faChevronUp;\n      case 'faChild' :  return  faChild;\n      case 'faChurch' :  return  faChurch;\n      case 'faCircle' :  return  faCircle;\n      case 'faCircleNotch' :  return  faCircleNotch;\n      case 'faClipboard' :  return  faClipboard;\n      case 'faClipboardCheck' :  return  faClipboardCheck;\n      case 'faClipboardList' :  return  faClipboardList;\n      case 'faClock' :  return  faClock;\n      case 'faClone' :  return  faClone;\n      case 'faClosedCaptioning' :  return  faClosedCaptioning;\n      case 'faCloud' :  return  faCloud;\n      case 'faCloudDownloadAlt' :  return  faCloudDownloadAlt;\n      case 'faCloudUploadAlt' :  return  faCloudUploadAlt;\n      case 'faCode' :  return  faCode;\n      case 'faCodeBranch' :  return  faCodeBranch;\n      case 'faCoffee' :  return  faCoffee;\n      case 'faCog' :  return  faCog;\n      case 'faCogs' :  return  faCogs;\n      case 'faCoins' :  return  faCoins;\n      case 'faColumns' :  return  faColumns;\n      case 'faComment' :  return  faComment;\n      case 'faCommentAlt' :  return  faCommentAlt;\n      case 'faCommentDots' :  return  faCommentDots;\n      case 'faCommentSlash' :  return  faCommentSlash;\n      case 'faComments' :  return  faComments;\n      case 'faCompactDisc' :  return  faCompactDisc;\n      case 'faCompass' :  return  faCompass;\n      case 'faCompress' :  return  faCompress;\n      case 'faCopy' :  return  faCopy;\n      case 'faCopyright' :  return  faCopyright;\n      case 'faCouch' :  return  faCouch;\n      case 'faCreditCard' :  return  faCreditCard;\n      case 'faCrop' :  return  faCrop;\n      case 'faCrosshairs' :  return  faCrosshairs;\n      case 'faCrow' :  return  faCrow;\n      case 'faCrown' :  return  faCrown;\n      case 'faCube' :  return  faCube;\n      case 'faCubes' :  return  faCubes;\n      case 'faCut' :  return  faCut;\n      case 'faDatabase' :  return  faDatabase;\n      case 'faDeaf' :  return  faDeaf;\n      case 'faDesktop' :  return  faDesktop;\n      case 'faDiagnoses' :  return  faDiagnoses;\n      case 'faDice' :  return  faDice;\n      case 'faDiceFive' :  return  faDiceFive;\n      case 'faDiceFour' :  return  faDiceFour;\n      case 'faDiceOne' :  return  faDiceOne;\n      case 'faDiceSix' :  return  faDiceSix;\n      case 'faDiceThree' :  return  faDiceThree;\n      case 'faDiceTwo' :  return  faDiceTwo;\n      case 'faDivide' :  return  faDivide;\n      case 'faDna' :  return  faDna;\n      case 'faDollarSign' :  return  faDollarSign;\n      case 'faDolly' :  return  faDolly;\n      case 'faDollyFlatbed' :  return  faDollyFlatbed;\n      case 'faDonate' :  return  faDonate;\n      case 'faDoorClosed' :  return  faDoorClosed;\n      case 'faDoorOpen' :  return  faDoorOpen;\n      case 'faDotCircle' :  return  faDotCircle;\n      case 'faDove' :  return  faDove;\n      case 'faDownload' :  return  faDownload;\n      case 'faDumbbell' :  return  faDumbbell;\n      case 'faEdit' :  return  faEdit;\n      case 'faEject' :  return  faEject;\n      case 'faEllipsisH' :  return  faEllipsisH;\n      case 'faEllipsisV' :  return  faEllipsisV;\n      case 'faEnvelope' :  return  faEnvelope;\n      case 'faEnvelopeOpen' :  return  faEnvelopeOpen;\n      case 'faEnvelopeSquare' :  return  faEnvelopeSquare;\n      case 'faEquals' :  return  faEquals;\n      case 'faEraser' :  return  faEraser;\n      case 'faEuroSign' :  return  faEuroSign;\n      case 'faExchangeAlt' :  return  faExchangeAlt;\n      case 'faExclamation' :  return  faExclamation;\n      case 'faExclamationCircle' :  return  faExclamationCircle;\n      case 'faExclamationTriangle' :  return  faExclamationTriangle;\n      case 'faExpand' :  return  faExpand;\n      case 'faExpandArrowsAlt' :  return  faExpandArrowsAlt;\n      case 'faExternalLinkAlt' :  return  faExternalLinkAlt;\n      case 'faExternalLinkSquareAlt' :  return  faExternalLinkSquareAlt;\n      case 'faEye' :  return  faEye;\n      case 'faEyeDropper' :  return  faEyeDropper;\n      case 'faEyeSlash' :  return  faEyeSlash;\n      case 'faFastBackward' :  return  faFastBackward;\n      case 'faFastForward' :  return  faFastForward;\n      case 'faFax' :  return  faFax;\n      case 'faFeather' :  return  faFeather;\n      case 'faFemale' :  return  faFemale;\n      case 'faFighterJet' :  return  faFighterJet;\n      case 'faFile' :  return  faFile;\n      case 'faFileAlt' :  return  faFileAlt;\n      case 'faFileArchive' :  return  faFileArchive;\n      case 'faFileAudio' :  return  faFileAudio;\n      case 'faFileCode' :  return  faFileCode;\n      case 'faFileExcel' :  return  faFileExcel;\n      case 'faFileImage' :  return  faFileImage;\n      case 'faFileMedical' :  return  faFileMedical;\n      case 'faFileMedicalAlt' :  return  faFileMedicalAlt;\n      case 'faFilePdf' :  return  faFilePdf;\n      case 'faFilePowerpoint' :  return  faFilePowerpoint;\n      case 'faFileVideo' :  return  faFileVideo;\n      case 'faFileWord' :  return  faFileWord;\n      case 'faFilm' :  return  faFilm;\n      case 'faFilter' :  return  faFilter;\n      case 'faFire' :  return  faFire;\n      case 'faFireExtinguisher' :  return  faFireExtinguisher;\n      case 'faFirstAid' :  return  faFirstAid;\n      case 'faFlag' :  return  faFlag;\n      case 'faFlagCheckered' :  return  faFlagCheckered;\n      case 'faFlask' :  return  faFlask;\n      case 'faFolder' :  return  faFolder;\n      case 'faFolderOpen' :  return  faFolderOpen;\n      case 'faFont' :  return  faFont;\n      case 'faFontAwesomeLogoFull' :  return  faFontAwesomeLogoFull;\n      case 'faFootballBall' :  return  faFootballBall;\n      case 'faForward' :  return  faForward;\n      case 'faFrog' :  return  faFrog;\n      case 'faFrown' :  return  faFrown;\n      case 'faFutbol' :  return  faFutbol;\n      case 'faGamepad' :  return  faGamepad;\n      case 'faGasPump' :  return  faGasPump;\n      case 'faGavel' :  return  faGavel;\n      case 'faGem' :  return  faGem;\n      case 'faGenderless' :  return  faGenderless;\n      case 'faGift' :  return  faGift;\n      case 'faGlassMartini' :  return  faGlassMartini;\n      case 'faGlasses' :  return  faGlasses;\n      case 'faGlobe' :  return  faGlobe;\n      case 'faGolfBall' :  return  faGolfBall;\n      case 'faGraduationCap' :  return  faGraduationCap;\n      case 'faGreaterThan' :  return  faGreaterThan;\n      case 'faGreaterThanEqual' :  return  faGreaterThanEqual;\n      case 'faHSquare' :  return  faHSquare;\n      case 'faHandHolding' :  return  faHandHolding;\n      case 'faHandHoldingHeart' :  return  faHandHoldingHeart;\n      case 'faHandHoldingUsd' :  return  faHandHoldingUsd;\n      case 'faHandLizard' :  return  faHandLizard;\n      case 'faHandPaper' :  return  faHandPaper;\n      case 'faHandPeace' :  return  faHandPeace;\n      case 'faHandPointDown' :  return  faHandPointDown;\n      case 'faHandPointLeft' :  return  faHandPointLeft;\n      case 'faHandPointRight' :  return  faHandPointRight;\n      case 'faHandPointUp' :  return  faHandPointUp;\n      case 'faHandPointer' :  return  faHandPointer;\n      case 'faHandRock' :  return  faHandRock;\n      case 'faHandScissors' :  return  faHandScissors;\n      case 'faHandSpock' :  return  faHandSpock;\n      case 'faHands' :  return  faHands;\n      case 'faHandsHelping' :  return  faHandsHelping;\n      case 'faHandshake' :  return  faHandshake;\n      case 'faHashtag' :  return  faHashtag;\n      case 'faHdd' :  return  faHdd;\n      case 'faHeading' :  return  faHeading;\n      case 'faHeadphones' :  return  faHeadphones;\n      case 'faHeart' :  return  faHeart;\n      case 'faHeartbeat' :  return  faHeartbeat;\n      case 'faHelicopter' :  return  faHelicopter;\n      case 'faHistory' :  return  faHistory;\n      case 'faHockeyPuck' :  return  faHockeyPuck;\n      case 'faHome' :  return  faHome;\n      case 'faHospital' :  return  faHospital;\n      case 'faHospitalAlt' :  return  faHospitalAlt;\n      case 'faHospitalSymbol' :  return  faHospitalSymbol;\n      case 'faHourglass' :  return  faHourglass;\n      case 'faHourglassEnd' :  return  faHourglassEnd;\n      case 'faHourglassHalf' :  return  faHourglassHalf;\n      case 'faHourglassStart' :  return  faHourglassStart;\n      case 'faICursor' :  return  faICursor;\n      case 'faIdBadge' :  return  faIdBadge;\n      case 'faIdCard' :  return  faIdCard;\n      case 'faIdCardAlt' :  return  faIdCardAlt;\n      case 'faImage' :  return  faImage;\n      case 'faImages' :  return  faImages;\n      case 'faInbox' :  return  faInbox;\n      case 'faIndent' :  return  faIndent;\n      case 'faIndustry' :  return  faIndustry;\n      case 'faInfinity' :  return  faInfinity;\n      case 'faInfo' :  return  faInfo;\n      case 'faInfoCircle' :  return  faInfoCircle;\n      case 'faItalic' :  return  faItalic;\n      case 'faKey' :  return  faKey;\n      case 'faKeyboard' :  return  faKeyboard;\n      case 'faKiwiBird' :  return  faKiwiBird;\n      case 'faLanguage' :  return  faLanguage;\n      case 'faLaptop' :  return  faLaptop;\n      case 'faLeaf' :  return  faLeaf;\n      case 'faLemon' :  return  faLemon;\n      case 'faLessThan' :  return  faLessThan;\n      case 'faLessThanEqual' :  return  faLessThanEqual;\n      case 'faLevelDownAlt' :  return  faLevelDownAlt;\n      case 'faLevelUpAlt' :  return  faLevelUpAlt;\n      case 'faLifeRing' :  return  faLifeRing;\n      case 'faLightbulb' :  return  faLightbulb;\n      case 'faLink' :  return  faLink;\n      case 'faLiraSign' :  return  faLiraSign;\n      case 'faList' :  return  faList;\n      case 'faListAlt' :  return  faListAlt;\n      case 'faListOl' :  return  faListOl;\n      case 'faListUl' :  return  faListUl;\n      case 'faLocationArrow' :  return  faLocationArrow;\n      case 'faLock' :  return  faLock;\n      case 'faLockOpen' :  return  faLockOpen;\n      case 'faLongArrowAltDown' :  return  faLongArrowAltDown;\n      case 'faLongArrowAltLeft' :  return  faLongArrowAltLeft;\n      case 'faLongArrowAltRight' :  return  faLongArrowAltRight;\n      case 'faLongArrowAltUp' :  return  faLongArrowAltUp;\n      case 'faLowVision' :  return  faLowVision;\n      case 'faMagic' :  return  faMagic;\n      case 'faMagnet' :  return  faMagnet;\n      case 'faMale' :  return  faMale;\n      case 'faMap' :  return  faMap;\n      case 'faMapMarker' :  return  faMapMarker;\n      case 'faMapMarkerAlt' :  return  faMapMarkerAlt;\n      case 'faMapPin' :  return  faMapPin;\n      case 'faMapSigns' :  return  faMapSigns;\n      case 'faMars' :  return  faMars;\n      case 'faMarsDouble' :  return  faMarsDouble;\n      case 'faMarsStroke' :  return  faMarsStroke;\n      case 'faMarsStrokeH' :  return  faMarsStrokeH;\n      case 'faMarsStrokeV' :  return  faMarsStrokeV;\n      case 'faMedkit' :  return  faMedkit;\n      case 'faMeh' :  return  faMeh;\n      case 'faMemory' :  return  faMemory;\n      case 'faMercury' :  return  faMercury;\n      case 'faMicrochip' :  return  faMicrochip;\n      case 'faMicrophone' :  return  faMicrophone;\n      case 'faMicrophoneAlt' :  return  faMicrophoneAlt;\n      case 'faMicrophoneAltSlash' :  return  faMicrophoneAltSlash;\n      case 'faMicrophoneSlash' :  return  faMicrophoneSlash;\n      case 'faMinus' :  return  faMinus;\n      case 'faMinusCircle' :  return  faMinusCircle;\n      case 'faMinusSquare' :  return  faMinusSquare;\n      case 'faMobile' :  return  faMobile;\n      case 'faMobileAlt' :  return  faMobileAlt;\n      case 'faMoneyBill' :  return  faMoneyBill;\n      case 'faMoneyBillAlt' :  return  faMoneyBillAlt;\n      case 'faMoneyBillWave' :  return  faMoneyBillWave;\n      case 'faMoneyBillWaveAlt' :  return  faMoneyBillWaveAlt;\n      case 'faMoneyCheck' :  return  faMoneyCheck;\n      case 'faMoneyCheckAlt' :  return  faMoneyCheckAlt;\n      case 'faMoon' :  return  faMoon;\n      case 'faMotorcycle' :  return  faMotorcycle;\n      case 'faMousePointer' :  return  faMousePointer;\n      case 'faMusic' :  return  faMusic;\n      case 'faNeuter' :  return  faNeuter;\n      case 'faNewspaper' :  return  faNewspaper;\n      case 'faNotEqual' :  return  faNotEqual;\n      case 'faNotesMedical' :  return  faNotesMedical;\n      case 'faObjectGroup' :  return  faObjectGroup;\n      case 'faObjectUngroup' :  return  faObjectUngroup;\n      case 'faOutdent' :  return  faOutdent;\n      case 'faPaintBrush' :  return  faPaintBrush;\n      case 'faPalette' :  return  faPalette;\n      case 'faPallet' :  return  faPallet;\n      case 'faPaperPlane' :  return  faPaperPlane;\n      case 'faPaperclip' :  return  faPaperclip;\n      case 'faParachuteBox' :  return  faParachuteBox;\n      case 'faParagraph' :  return  faParagraph;\n      case 'faParking' :  return  faParking;\n      case 'faPaste' :  return  faPaste;\n      case 'faPause' :  return  faPause;\n      case 'faPauseCircle' :  return  faPauseCircle;\n      case 'faPaw' :  return  faPaw;\n      case 'faPenSquare' :  return  faPenSquare;\n      case 'faPencilAlt' :  return  faPencilAlt;\n      case 'faPeopleCarry' :  return  faPeopleCarry;\n      case 'faPercent' :  return  faPercent;\n      case 'faPercentage' :  return  faPercentage;\n      case 'faPhone' :  return  faPhone;\n      case 'faPhoneSlash' :  return  faPhoneSlash;\n      case 'faPhoneSquare' :  return  faPhoneSquare;\n      case 'faPhoneVolume' :  return  faPhoneVolume;\n      case 'faPiggyBank' :  return  faPiggyBank;\n      case 'faPills' :  return  faPills;\n      case 'faPlane' :  return  faPlane;\n      case 'faPlay' :  return  faPlay;\n      case 'faPlayCircle' :  return  faPlayCircle;\n      case 'faPlug' :  return  faPlug;\n      case 'faPlus' :  return  faPlus;\n      case 'faPlusCircle' :  return  faPlusCircle;\n      case 'faPlusSquare' :  return  faPlusSquare;\n      case 'faPodcast' :  return  faPodcast;\n      case 'faPoo' :  return  faPoo;\n      case 'faPortrait' :  return  faPortrait;\n      case 'faPoundSign' :  return  faPoundSign;\n      case 'faPowerOff' :  return  faPowerOff;\n      case 'faPrescriptionBottle' :  return  faPrescriptionBottle;\n      case 'faPrescriptionBottleAlt' :  return  faPrescriptionBottleAlt;\n      case 'faPrint' :  return  faPrint;\n      case 'faProcedures' :  return  faProcedures;\n      case 'faProjectDiagram' :  return  faProjectDiagram;\n      case 'faPuzzlePiece' :  return  faPuzzlePiece;\n      case 'faQrcode' :  return  faQrcode;\n      case 'faQuestion' :  return  faQuestion;\n      case 'faQuestionCircle' :  return  faQuestionCircle;\n      case 'faQuidditch' :  return  faQuidditch;\n      case 'faQuoteLeft' :  return  faQuoteLeft;\n      case 'faQuoteRight' :  return  faQuoteRight;\n      case 'faRandom' :  return  faRandom;\n      case 'faReceipt' :  return  faReceipt;\n      case 'faRecycle' :  return  faRecycle;\n      case 'faRedo' :  return  faRedo;\n      case 'faRedoAlt' :  return  faRedoAlt;\n      case 'faRegistered' :  return  faRegistered;\n      case 'faReply' :  return  faReply;\n      case 'faReplyAll' :  return  faReplyAll;\n      case 'faRetweet' :  return  faRetweet;\n      case 'faRibbon' :  return  faRibbon;\n      case 'faRoad' :  return  faRoad;\n      case 'faRobot' :  return  faRobot;\n      case 'faRocket' :  return  faRocket;\n      case 'faRss' :  return  faRss;\n      case 'faRssSquare' :  return  faRssSquare;\n      case 'faRubleSign' :  return  faRubleSign;\n      case 'faRuler' :  return  faRuler;\n      case 'faRulerCombined' :  return  faRulerCombined;\n      case 'faRulerHorizontal' :  return  faRulerHorizontal;\n      case 'faRulerVertical' :  return  faRulerVertical;\n      case 'faRupeeSign' :  return  faRupeeSign;\n      case 'faSave' :  return  faSave;\n      case 'faSchool' :  return  faSchool;\n      case 'faScrewdriver' :  return  faScrewdriver;\n      case 'faSearch' :  return  faSearch;\n      case 'faSearchMinus' :  return  faSearchMinus;\n      case 'faSearchPlus' :  return  faSearchPlus;\n      case 'faSeedling' :  return  faSeedling;\n      case 'faServer' :  return  faServer;\n      case 'faShare' :  return  faShare;\n      case 'faShareAlt' :  return  faShareAlt;\n      case 'faShareAltSquare' :  return  faShareAltSquare;\n      case 'faShareSquare' :  return  faShareSquare;\n      case 'faShekelSign' :  return  faShekelSign;\n      case 'faShieldAlt' :  return  faShieldAlt;\n      case 'faShip' :  return  faShip;\n      case 'faShippingFast' :  return  faShippingFast;\n      case 'faShoePrints' :  return  faShoePrints;\n      case 'faShoppingBag' :  return  faShoppingBag;\n      case 'faShoppingBasket' :  return  faShoppingBasket;\n      case 'faShoppingCart' :  return  faShoppingCart;\n      case 'faShower' :  return  faShower;\n      case 'faSign' :  return  faSign;\n      case 'faSignInAlt' :  return  faSignInAlt;\n      case 'faSignLanguage' :  return  faSignLanguage;\n      case 'faSignOutAlt' :  return  faSignOutAlt;\n      case 'faSignal' :  return  faSignal;\n      case 'faSitemap' :  return  faSitemap;\n      case 'faSkull' :  return  faSkull;\n      case 'faSlidersH' :  return  faSlidersH;\n      case 'faSmile' :  return  faSmile;\n      case 'faSmoking' :  return  faSmoking;\n      case 'faSmokingBan' :  return  faSmokingBan;\n      case 'faSnowflake' :  return  faSnowflake;\n      case 'faSort' :  return  faSort;\n      case 'faSortAlphaDown' :  return  faSortAlphaDown;\n      case 'faSortAlphaUp' :  return  faSortAlphaUp;\n      case 'faSortAmountDown' :  return  faSortAmountDown;\n      case 'faSortAmountUp' :  return  faSortAmountUp;\n      case 'faSortDown' :  return  faSortDown;\n      case 'faSortNumericDown' :  return  faSortNumericDown;\n      case 'faSortNumericUp' :  return  faSortNumericUp;\n      case 'faSortUp' :  return  faSortUp;\n      case 'faSpaceShuttle' :  return  faSpaceShuttle;\n      case 'faSpinner' :  return  faSpinner;\n      case 'faSquare' :  return  faSquare;\n      case 'faSquareFull' :  return  faSquareFull;\n      case 'faStar' :  return  faStar;\n      case 'faStarHalf' :  return  faStarHalf;\n      case 'faStepBackward' :  return  faStepBackward;\n      case 'faStepForward' :  return  faStepForward;\n      case 'faStethoscope' :  return  faStethoscope;\n      case 'faStickyNote' :  return  faStickyNote;\n      case 'faStop' :  return  faStop;\n      case 'faStopCircle' :  return  faStopCircle;\n      case 'faStopwatch' :  return  faStopwatch;\n      case 'faStore' :  return  faStore;\n      case 'faStoreAlt' :  return  faStoreAlt;\n      case 'faStream' :  return  faStream;\n      case 'faStreetView' :  return  faStreetView;\n      case 'faStrikethrough' :  return  faStrikethrough;\n      case 'faStroopwafel' :  return  faStroopwafel;\n      case 'faSubscript' :  return  faSubscript;\n      case 'faSubway' :  return  faSubway;\n      case 'faSuitcase' :  return  faSuitcase;\n      case 'faSun' :  return  faSun;\n      case 'faSuperscript' :  return  faSuperscript;\n      case 'faSync' :  return  faSync;\n      case 'faSyncAlt' :  return  faSyncAlt;\n      case 'faSyringe' :  return  faSyringe;\n      case 'faTable' :  return  faTable;\n      case 'faTableTennis' :  return  faTableTennis;\n      case 'faTablet' :  return  faTablet;\n      case 'faTabletAlt' :  return  faTabletAlt;\n      case 'faTablets' :  return  faTablets;\n      case 'faTachometerAlt' :  return  faTachometerAlt;\n      case 'faTag' :  return  faTag;\n      case 'faTags' :  return  faTags;\n      case 'faTape' :  return  faTape;\n      case 'faTasks' :  return  faTasks;\n      case 'faTaxi' :  return  faTaxi;\n      case 'faTerminal' :  return  faTerminal;\n      case 'faTextHeight' :  return  faTextHeight;\n      case 'faTextWidth' :  return  faTextWidth;\n      case 'faTh' :  return  faTh;\n      case 'faThLarge' :  return  faThLarge;\n      case 'faThList' :  return  faThList;\n      case 'faThermometer' :  return  faThermometer;\n      case 'faThermometerEmpty' :  return  faThermometerEmpty;\n      case 'faThermometerFull' :  return  faThermometerFull;\n      case 'faThermometerHalf' :  return  faThermometerHalf;\n      case 'faThermometerQuarter' :  return  faThermometerQuarter;\n      case 'faThermometerThreeQuarters' :  return  faThermometerThreeQuarters;\n      case 'faThumbsDown' :  return  faThumbsDown;\n      case 'faThumbsUp' :  return  faThumbsUp;\n      case 'faThumbtack' :  return  faThumbtack;\n      case 'faTicketAlt' :  return  faTicketAlt;\n      case 'faTimes' :  return  faTimes;\n      case 'faTimesCircle' :  return  faTimesCircle;\n      case 'faTint' :  return  faTint;\n      case 'faToggleOff' :  return  faToggleOff;\n      case 'faToggleOn' :  return  faToggleOn;\n      case 'faToolbox' :  return  faToolbox;\n      case 'faTrademark' :  return  faTrademark;\n      case 'faTrain' :  return  faTrain;\n      case 'faTransgender' :  return  faTransgender;\n      case 'faTransgenderAlt' :  return  faTransgenderAlt;\n      case 'faTrash' :  return  faTrash;\n      case 'faTrashAlt' :  return  faTrashAlt;\n      case 'faTree' :  return  faTree;\n      case 'faTrophy' :  return  faTrophy;\n      case 'faTruck' :  return  faTruck;\n      case 'faTruckLoading' :  return  faTruckLoading;\n      case 'faTruckMoving' :  return  faTruckMoving;\n      case 'faTshirt' :  return  faTshirt;\n      case 'faTty' :  return  faTty;\n      case 'faTv' :  return  faTv;\n      case 'faUmbrella' :  return  faUmbrella;\n      case 'faUnderline' :  return  faUnderline;\n      case 'faUndo' :  return  faUndo;\n      case 'faUndoAlt' :  return  faUndoAlt;\n      case 'faUniversalAccess' :  return  faUniversalAccess;\n      case 'faUniversity' :  return  faUniversity;\n      case 'faUnlink' :  return  faUnlink;\n      case 'faUnlock' :  return  faUnlock;\n      case 'faUnlockAlt' :  return  faUnlockAlt;\n      case 'faUpload' :  return  faUpload;\n      case 'faUser' :  return  faUser;\n      case 'faUserAlt' :  return  faUserAlt;\n      case 'faUserAltSlash' :  return  faUserAltSlash;\n      case 'faUserAstronaut' :  return  faUserAstronaut;\n      case 'faUserCheck' :  return  faUserCheck;\n      case 'faUserCircle' :  return  faUserCircle;\n      case 'faUserClock' :  return  faUserClock;\n      case 'faUserCog' :  return  faUserCog;\n      case 'faUserEdit' :  return  faUserEdit;\n      case 'faUserFriends' :  return  faUserFriends;\n      case 'faUserGraduate' :  return  faUserGraduate;\n      case 'faUserLock' :  return  faUserLock;\n      case 'faUserMd' :  return  faUserMd;\n      case 'faUserMinus' :  return  faUserMinus;\n      case 'faUserNinja' :  return  faUserNinja;\n      case 'faUserPlus' :  return  faUserPlus;\n      case 'faUserSecret' :  return  faUserSecret;\n      case 'faUserShield' :  return  faUserShield;\n      case 'faUserSlash' :  return  faUserSlash;\n      case 'faUserTag' :  return  faUserTag;\n      case 'faUserTie' :  return  faUserTie;\n      case 'faUserTimes' :  return  faUserTimes;\n      case 'faUsers' :  return  faUsers;\n      case 'faUsersCog' :  return  faUsersCog;\n      case 'faUtensilSpoon' :  return  faUtensilSpoon;\n      case 'faUtensils' :  return  faUtensils;\n      case 'faVenus' :  return  faVenus;\n      case 'faVenusDouble' :  return  faVenusDouble;\n      case 'faVenusMars' :  return  faVenusMars;\n      case 'faVial' :  return  faVial;\n      case 'faVials' :  return  faVials;\n      case 'faVideo' :  return  faVideo;\n      case 'faVideoSlash' :  return  faVideoSlash;\n      case 'faVolleyballBall' :  return  faVolleyballBall;\n      case 'faVolumeDown' :  return  faVolumeDown;\n      case 'faVolumeOff' :  return  faVolumeOff;\n      case 'faVolumeUp' :  return  faVolumeUp;\n      case 'faWalking' :  return  faWalking;\n      case 'faWallet' :  return  faWallet;\n      case 'faWarehouse' :  return  faWarehouse;\n      case 'faWeight' :  return  faWeight;\n      case 'faWheelchair' :  return  faWheelchair;\n      case 'faWifi' :  return  faWifi;\n      case 'faWindowClose' :  return  faWindowClose;\n      case 'faWindowMaximize' :  return  faWindowMaximize;\n      case 'faWindowMinimize' :  return  faWindowMinimize;\n      case 'faWindowRestore' :  return  faWindowRestore;\n      case 'faWineGlass' :  return  faWineGlass;\n      case 'faWonSign' :  return  faWonSign;\n      case 'faWrench' :  return  faWrench;\n      case 'faXRay' :  return  faXRay;\n      case 'faYenSign' :  return  faYenSign;\n      case 'faAccessibleIcon' :  return  faAccessibleIcon;\n      case 'faAccusoft' :  return  faAccusoft;\n      case 'faAdn' :  return  faAdn;\n      case 'faAdversal' :  return  faAdversal;\n      case 'faAffiliatetheme' :  return  faAffiliatetheme;\n      case 'faAlgolia' :  return  faAlgolia;\n      case 'faAmazon' :  return  faAmazon;\n      case 'faAmazonPay' :  return  faAmazonPay;\n      case 'faAmilia' :  return  faAmilia;\n      case 'faAndroid' :  return  faAndroid;\n      case 'faAngellist' :  return  faAngellist;\n      case 'faAngrycreative' :  return  faAngrycreative;\n      case 'faAngular' :  return  faAngular;\n      case 'faAppStore' :  return  faAppStore;\n      case 'faAppStoreIos' :  return  faAppStoreIos;\n      case 'faApper' :  return  faApper;\n      case 'faApple' :  return  faApple;\n      case 'faApplePay' :  return  faApplePay;\n      case 'faAsymmetrik' :  return  faAsymmetrik;\n      case 'faAudible' :  return  faAudible;\n      case 'faAutoprefixer' :  return  faAutoprefixer;\n      case 'faAvianex' :  return  faAvianex;\n      case 'faAviato' :  return  faAviato;\n      case 'faAws' :  return  faAws;\n      case 'faBandcamp' :  return  faBandcamp;\n      case 'faBehance' :  return  faBehance;\n      case 'faBehanceSquare' :  return  faBehanceSquare;\n      case 'faBimobject' :  return  faBimobject;\n      case 'faBitbucket' :  return  faBitbucket;\n      case 'faBitcoin' :  return  faBitcoin;\n      case 'faBity' :  return  faBity;\n      case 'faBlackTie' :  return  faBlackTie;\n      case 'faBlackberry' :  return  faBlackberry;\n      case 'faBlogger' :  return  faBlogger;\n      case 'faBloggerB' :  return  faBloggerB;\n      case 'faBluetooth' :  return  faBluetooth;\n      case 'faBluetoothB' :  return  faBluetoothB;\n      case 'faBtc' :  return  faBtc;\n      case 'faBuromobelexperte' :  return  faBuromobelexperte;\n      case 'faBuysellads' :  return  faBuysellads;\n      case 'faCcAmazonPay' :  return  faCcAmazonPay;\n      case 'faCcAmex' :  return  faCcAmex;\n      case 'faCcApplePay' :  return  faCcApplePay;\n      case 'faCcDinersClub' :  return  faCcDinersClub;\n      case 'faCcDiscover' :  return  faCcDiscover;\n      case 'faCcJcb' :  return  faCcJcb;\n      case 'faCcMastercard' :  return  faCcMastercard;\n      case 'faCcPaypal' :  return  faCcPaypal;\n      case 'faCcStripe' :  return  faCcStripe;\n      case 'faCcVisa' :  return  faCcVisa;\n      case 'faCentercode' :  return  faCentercode;\n      case 'faChrome' :  return  faChrome;\n      case 'faCloudscale' :  return  faCloudscale;\n      case 'faCloudsmith' :  return  faCloudsmith;\n      case 'faCloudversify' :  return  faCloudversify;\n      case 'faCodepen' :  return  faCodepen;\n      case 'faCodiepie' :  return  faCodiepie;\n      case 'faConnectdevelop' :  return  faConnectdevelop;\n      case 'faContao' :  return  faContao;\n      case 'faCpanel' :  return  faCpanel;\n      case 'faCreativeCommons' :  return  faCreativeCommons;\n      case 'faCreativeCommonsBy' :  return  faCreativeCommonsBy;\n      case 'faCreativeCommonsNc' :  return  faCreativeCommonsNc;\n      case 'faCreativeCommonsNcEu' :  return  faCreativeCommonsNcEu;\n      case 'faCreativeCommonsNcJp' :  return  faCreativeCommonsNcJp;\n      case 'faCreativeCommonsNd' :  return  faCreativeCommonsNd;\n      case 'faCreativeCommonsPd' :  return  faCreativeCommonsPd;\n      case 'faCreativeCommonsPdAlt' :  return  faCreativeCommonsPdAlt;\n      case 'faCreativeCommonsRemix' :  return  faCreativeCommonsRemix;\n      case 'faCreativeCommonsSa' :  return  faCreativeCommonsSa;\n      case 'faCreativeCommonsSampling' :  return  faCreativeCommonsSampling;\n      case 'faCreativeCommonsSamplingPlus' :  return  faCreativeCommonsSamplingPlus;\n      case 'faCreativeCommonsShare' :  return  faCreativeCommonsShare;\n      case 'faCss3' :  return  faCss3;\n      case 'faCss3Alt' :  return  faCss3Alt;\n      case 'faCuttlefish' :  return  faCuttlefish;\n      case 'faDAndD' :  return  faDAndD;\n      case 'faDashcube' :  return  faDashcube;\n      case 'faDelicious' :  return  faDelicious;\n      case 'faDeploydog' :  return  faDeploydog;\n      case 'faDeskpro' :  return  faDeskpro;\n      case 'faDeviantart' :  return  faDeviantart;\n      case 'faDigg' :  return  faDigg;\n      case 'faDigitalOcean' :  return  faDigitalOcean;\n      case 'faDiscord' :  return  faDiscord;\n      case 'faDiscourse' :  return  faDiscourse;\n      case 'faDochub' :  return  faDochub;\n      case 'faDocker' :  return  faDocker;\n      case 'faDraft2Digital' :  return  faDraft2digital;\n      case 'faDribbble' :  return  faDribbble;\n      case 'faDribbbleSquare' :  return  faDribbbleSquare;\n      case 'faDropbox' :  return  faDropbox;\n      case 'faDrupal' :  return  faDrupal;\n      case 'faDyalog' :  return  faDyalog;\n      case 'faEarlybirds' :  return  faEarlybirds;\n      case 'faEbay' :  return  faEbay;\n      case 'faEdge' :  return  faEdge;\n      case 'faElementor' :  return  faElementor;\n      case 'faEmber' :  return  faEmber;\n      case 'faEmpire' :  return  faEmpire;\n      case 'faEnvira' :  return  faEnvira;\n      case 'faErlang' :  return  faErlang;\n      case 'faEthereum' :  return  faEthereum;\n      case 'faEtsy' :  return  faEtsy;\n      case 'faExpeditedssl' :  return  faExpeditedssl;\n      case 'faFacebook' :  return  faFacebook;\n      case 'faFacebookF' :  return  faFacebookF;\n      case 'faFacebookMessenger' :  return  faFacebookMessenger;\n      case 'faFacebookSquare' :  return  faFacebookSquare;\n      case 'faFirefox' :  return  faFirefox;\n      case 'faFirstOrder' :  return  faFirstOrder;\n      case 'faFirstOrderAlt' :  return  faFirstOrderAlt;\n      case 'faFirstdraft' :  return  faFirstdraft;\n      case 'faFlickr' :  return  faFlickr;\n      case 'faFlipboard' :  return  faFlipboard;\n      case 'faFly' :  return  faFly;\n      case 'faFontAwesome' :  return  faFontAwesome;\n      case 'faFontAwesomeAlt' :  return  faFontAwesomeAlt;\n      case 'faFontAwesomeFlag' :  return  faFontAwesomeFlag;\n      case 'faFonticons' :  return  faFonticons;\n      case 'faFonticonsFi' :  return  faFonticonsFi;\n      case 'faFortAwesome' :  return  faFortAwesome;\n      case 'faFortAwesomeAlt' :  return  faFortAwesomeAlt;\n      case 'faForumbee' :  return  faForumbee;\n      case 'faFoursquare' :  return  faFoursquare;\n      case 'faFreeCodeCamp' :  return  faFreeCodeCamp;\n      case 'faFreebsd' :  return  faFreebsd;\n      case 'faFulcrum' :  return  faFulcrum;\n      case 'faGalacticRepublic' :  return  faGalacticRepublic;\n      case 'faGalacticSenate' :  return  faGalacticSenate;\n      case 'faGetPocket' :  return  faGetPocket;\n      case 'faGg' :  return  faGg;\n      case 'faGgCircle' :  return  faGgCircle;\n      case 'faGit' :  return  faGit;\n      case 'faGitSquare' :  return  faGitSquare;\n      case 'faGithub' :  return  faGithub;\n      case 'faGithubAlt' :  return  faGithubAlt;\n      case 'faGithubSquare' :  return  faGithubSquare;\n      case 'faGitkraken' :  return  faGitkraken;\n      case 'faGitlab' :  return  faGitlab;\n      case 'faGitter' :  return  faGitter;\n      case 'faGlide' :  return  faGlide;\n      case 'faGlideG' :  return  faGlideG;\n      case 'faGofore' :  return  faGofore;\n      case 'faGoodreads' :  return  faGoodreads;\n      case 'faGoodreadsG' :  return  faGoodreadsG;\n      case 'faGoogle' :  return  faGoogle;\n      case 'faGoogleDrive' :  return  faGoogleDrive;\n      case 'faGooglePlay' :  return  faGooglePlay;\n      case 'faGooglePlus' :  return  faGooglePlus;\n      case 'faGooglePlusG' :  return  faGooglePlusG;\n      case 'faGooglePlusSquare' :  return  faGooglePlusSquare;\n      case 'faGoogleWallet' :  return  faGoogleWallet;\n      case 'faGratipay' :  return  faGratipay;\n      case 'faGrav' :  return  faGrav;\n      case 'faGripfire' :  return  faGripfire;\n      case 'faGrunt' :  return  faGrunt;\n      case 'faGulp' :  return  faGulp;\n      case 'faHackerNews' :  return  faHackerNews;\n      case 'faHackerNewsSquare' :  return  faHackerNewsSquare;\n      case 'faHips' :  return  faHips;\n      case 'faHireAHelper' :  return  faHireAHelper;\n      case 'faHooli' :  return  faHooli;\n      case 'faHotjar' :  return  faHotjar;\n      case 'faHouzz' :  return  faHouzz;\n      case 'faHtml5' :  return  faHtml5;\n      case 'faHubspot' :  return  faHubspot;\n      case 'faImdb' :  return  faImdb;\n      case 'faInstagram' :  return  faInstagram;\n      case 'faInternetExplorer' :  return  faInternetExplorer;\n      case 'faIoxhost' :  return  faIoxhost;\n      case 'faItunes' :  return  faItunes;\n      case 'faItunesNote' :  return  faItunesNote;\n      case 'faJava' :  return  faJava;\n      case 'faJediOrder' :  return  faJediOrder;\n      case 'faJenkins' :  return  faJenkins;\n      case 'faJoget' :  return  faJoget;\n      case 'faJoomla' :  return  faJoomla;\n      case 'faJs' :  return  faJs;\n      case 'faJsSquare' :  return  faJsSquare;\n      case 'faJsfiddle' :  return  faJsfiddle;\n      case 'faKeybase' :  return  faKeybase;\n      case 'faKeycdn' :  return  faKeycdn;\n      case 'faKickstarter' :  return  faKickstarter;\n      case 'faKickstarterK' :  return  faKickstarterK;\n      case 'faKorvue' :  return  faKorvue;\n      case 'faLaravel' :  return  faLaravel;\n      case 'faLastfm' :  return  faLastfm;\n      case 'faLastfmSquare' :  return  faLastfmSquare;\n      case 'faLeanpub' :  return  faLeanpub;\n      case 'faLess' :  return  faLess;\n      case 'faLine' :  return  faLine;\n      case 'faLinkedin' :  return  faLinkedin;\n      case 'faLinkedinIn' :  return  faLinkedinIn;\n      case 'faLinode' :  return  faLinode;\n      case 'faLinux' :  return  faLinux;\n      case 'faLyft' :  return  faLyft;\n      case 'faMagento' :  return  faMagento;\n      case 'faMandalorian' :  return  faMandalorian;\n      case 'faMastodon' :  return  faMastodon;\n      case 'faMaxcdn' :  return  faMaxcdn;\n      case 'faMedapps' :  return  faMedapps;\n      case 'faMedium' :  return  faMedium;\n      case 'faMediumM' :  return  faMediumM;\n      case 'faMedrt' :  return  faMedrt;\n      case 'faMeetup' :  return  faMeetup;\n      case 'faMicrosoft' :  return  faMicrosoft;\n      case 'faMix' :  return  faMix;\n      case 'faMixcloud' :  return  faMixcloud;\n      case 'faMizuni' :  return  faMizuni;\n      case 'faModx' :  return  faModx;\n      case 'faMonero' :  return  faMonero;\n      case 'faNapster' :  return  faNapster;\n      case 'faNode' :  return  faNode;\n      case 'faNodeJs' :  return  faNodeJs;\n      case 'faNpm' :  return  faNpm;\n      case 'faNs8' :  return  faNs8;\n      case 'faNutritionix' :  return  faNutritionix;\n      case 'faOdnoklassniki' :  return  faOdnoklassniki;\n      case 'faOdnoklassnikiSquare' :  return  faOdnoklassnikiSquare;\n      case 'faOldRepublic' :  return  faOldRepublic;\n      case 'faOpencart' :  return  faOpencart;\n      case 'faOpenid' :  return  faOpenid;\n      case 'faOpera' :  return  faOpera;\n      case 'faOptinMonster' :  return  faOptinMonster;\n      case 'faOsi' :  return  faOsi;\n      case 'faPage4' :  return  faPage4;\n      case 'faPagelines' :  return  faPagelines;\n      case 'faPalfed' :  return  faPalfed;\n      case 'faPatreon' :  return  faPatreon;\n      case 'faPaypal' :  return  faPaypal;\n      case 'faPeriscope' :  return  faPeriscope;\n      case 'faPhabricator' :  return  faPhabricator;\n      case 'faPhoenixFramework' :  return  faPhoenixFramework;\n      case 'faPhoenixSquadron' :  return  faPhoenixSquadron;\n      case 'faPhp' :  return  faPhp;\n      case 'faPiedPiper' :  return  faPiedPiper;\n      case 'faPiedPiperAlt' :  return  faPiedPiperAlt;\n      case 'faPiedPiperHat' :  return  faPiedPiperHat;\n      case 'faPiedPiperPp' :  return  faPiedPiperPp;\n      case 'faPinterest' :  return  faPinterest;\n      case 'faPinterestP' :  return  faPinterestP;\n      case 'faPinterestSquare' :  return  faPinterestSquare;\n      case 'faPlaystation' :  return  faPlaystation;\n      case 'faProductHunt' :  return  faProductHunt;\n      case 'faPushed' :  return  faPushed;\n      case 'faPython' :  return  faPython;\n      case 'faQq' :  return  faQq;\n      case 'faQuinscape' :  return  faQuinscape;\n      case 'faQuora' :  return  faQuora;\n      case 'faRProject' :  return  faRProject;\n      case 'faRavelry' :  return  faRavelry;\n      case 'faReact' :  return  faReact;\n      case 'faReadme' :  return  faReadme;\n      case 'faRebel' :  return  faRebel;\n      case 'faRedRiver' :  return  faRedRiver;\n      case 'faReddit' :  return  faReddit;\n      case 'faRedditAlien' :  return  faRedditAlien;\n      case 'faRedditSquare' :  return  faRedditSquare;\n      case 'faRendact' :  return  faRendact;\n      case 'faRenren' :  return  faRenren;\n      case 'faReplyd' :  return  faReplyd;\n      case 'faResearchgate' :  return  faResearchgate;\n      case 'faResolving' :  return  faResolving;\n      case 'faRocketchat' :  return  faRocketchat;\n      case 'faRockrms' :  return  faRockrms;\n      case 'faSafari' :  return  faSafari;\n      case 'faSass' :  return  faSass;\n      case 'faSchlix' :  return  faSchlix;\n      case 'faScribd' :  return  faScribd;\n      case 'faSearchengin' :  return  faSearchengin;\n      case 'faSellcast' :  return  faSellcast;\n      case 'faSellsy' :  return  faSellsy;\n      case 'faServicestack' :  return  faServicestack;\n      case 'faShirtsinbulk' :  return  faShirtsinbulk;\n      case 'faSimplybuilt' :  return  faSimplybuilt;\n      case 'faSistrix' :  return  faSistrix;\n      case 'faSith' :  return  faSith;\n      case 'faSkyatlas' :  return  faSkyatlas;\n      case 'faSkype' :  return  faSkype;\n      case 'faSlack' :  return  faSlack;\n      case 'faSlackHash' :  return  faSlackHash;\n      case 'faSlideshare' :  return  faSlideshare;\n      case 'faSnapchat' :  return  faSnapchat;\n      case 'faSnapchatGhost' :  return  faSnapchatGhost;\n      case 'faSnapchatSquare' :  return  faSnapchatSquare;\n      case 'faSoundcloud' :  return  faSoundcloud;\n      case 'faSpeakap' :  return  faSpeakap;\n      case 'faSpotify' :  return  faSpotify;\n      case 'faStackExchange' :  return  faStackExchange;\n      case 'faStackOverflow' :  return  faStackOverflow;\n      case 'faStaylinked' :  return  faStaylinked;\n      case 'faSteam' :  return  faSteam;\n      case 'faSteamSquare' :  return  faSteamSquare;\n      case 'faSteamSymbol' :  return  faSteamSymbol;\n      case 'faStickerMule' :  return  faStickerMule;\n      case 'faStrava' :  return  faStrava;\n      case 'faStripe' :  return  faStripe;\n      case 'faStripeS' :  return  faStripeS;\n      case 'faStudiovinari' :  return  faStudiovinari;\n      case 'faStumbleupon' :  return  faStumbleupon;\n      case 'faStumbleuponCircle' :  return  faStumbleuponCircle;\n      case 'faSuperpowers' :  return  faSuperpowers;\n      case 'faSupple' :  return  faSupple;\n      case 'faTeamspeak' :  return  faTeamspeak;\n      case 'faTelegram' :  return  faTelegram;\n      case 'faTelegramPlane' :  return  faTelegramPlane;\n      case 'faTencentWeibo' :  return  faTencentWeibo;\n      case 'faThemeisle' :  return  faThemeisle;\n      case 'faTradeFederation' :  return  faTradeFederation;\n      case 'faTrello' :  return  faTrello;\n      case 'faTumblr' :  return  faTumblr;\n      case 'faTumblrSquare' :  return  faTumblrSquare;\n      case 'faTwitch' :  return  faTwitch;\n      case 'faTwitter' :  return  faTwitter;\n      case 'faTwitterSquare' :  return  faTwitterSquare;\n      case 'faTypo3' :  return  faTypo3;\n      case 'faUber' :  return  faUber;\n      case 'faUikit' :  return  faUikit;\n      case 'faUniregistry' :  return  faUniregistry;\n      case 'faUntappd' :  return  faUntappd;\n      case 'faUsb' :  return  faUsb;\n      case 'faUssunnah' :  return  faUssunnah;\n      case 'faVaadin' :  return  faVaadin;\n      case 'faViacoin' :  return  faViacoin;\n      case 'faViadeo' :  return  faViadeo;\n      case 'faViadeoSquare' :  return  faViadeoSquare;\n      case 'faViber' :  return  faViber;\n      case 'faVimeo' :  return  faVimeo;\n      case 'faVimeoSquare' :  return  faVimeoSquare;\n      case 'faVimeoV' :  return  faVimeoV;\n      case 'faVine' :  return  faVine;\n      case 'faVk' :  return  faVk;\n      case 'faVnv' :  return  faVnv;\n      case 'faVuejs' :  return  faVuejs;\n      case 'faWeibo' :  return  faWeibo;\n      case 'faWeixin' :  return  faWeixin;\n      case 'faWhatsapp' :  return  faWhatsapp;\n      case 'faWhatsappSquare' :  return  faWhatsappSquare;\n      case 'faWhmcs' :  return  faWhmcs;\n      case 'faWikipediaW' :  return  faWikipediaW;\n      case 'faWindows' :  return  faWindows;\n      case 'faWolfPackBattalion' :  return  faWolfPackBattalion;\n      case 'faWordpress' :  return  faWordpress;\n      case 'faWordpressSimple' :  return  faWordpressSimple;\n      case 'faWpbeginner' :  return  faWpbeginner;\n      case 'faWpexplorer' :  return  faWpexplorer;\n      case 'faWpforms' :  return  faWpforms;\n      case 'faXbox' :  return  faXbox;\n      case 'faXing' :  return  faXing;\n      case 'faXingSquare' :  return  faXingSquare;\n      case 'faYCombinator' :  return  faYCombinator;\n      case 'faYahoo' :  return  faYahoo;\n      case 'faYandex' :  return  faYandex;\n      case 'faYandexInternational' :  return  faYandexInternational;\n      case 'faYelp' :  return  faYelp;\n      case 'faYoast' :  return  faYoast;\n      case 'faYoutube' :  return  faYoutube;\n      case 'faYoutubeSquare' :  return  faYoutubeSquare;\n      case 'faArrowLeftLong' :  return  faArrowLeftLong;\n      case 'faBlog' :  return  faBlog;\n      case 'faBorderAll' :  return  faBorderAll;\n      case 'faDashboard' :  return  faDashboard;\n      case 'faEnvelopeOpenText' :  return  faEnvelopeOpenText;\n      case 'faIcons' :  return  faIcons;\n      case 'faLocation' :  return  faLocation;\n      case 'faPhoneAlt' :  return  faPhoneAlt;\n      case 'faRightToBracket' :  return  faRightToBracket;    \n      default:\n        return faMicrochip;\n    }\n  }\n\n  static getIconText(icon: IconDefinition): string { \n    switch (icon) {   \n      case faWater : return \"faWater\" ;\n      case faTableColumns : return \"faTableColumns\" ;\n      case faCircleDot : return \"faCircleDot\" ;\n      case faHouse : return \"faHouse\" ;\n      case faHouseChimney : return \"faHouseChimney\" ;\n      case faHouseUser : return \"faHouseUser\" ;\n      case faHouseLock : return \"faHouseLock\" ;\n      case faHouseLaptop : return \"faHouseLaptop\" ;\n      case faSignature : return \"faSignature\" ;\n      case faLocationPin : return \"faLocationPin\" ;\n      case faLocationPinLock : return \"faLocationPinLock\" ;\n      case faLocationDot : return \"faLocationDot\" ;\n      case faMapLocation : return \"faMapLocation\" ;\n      case faMapLocationDot : return \"faMapLocationDot\" ;\n      case faGear : return \"faGear\" ;\n      case faGears : return \"faGears\" ;\n      case faMessage : return \"faMessage\" ;\n      case faArrowLeftLong : return \"faArrowLeftLong\" ;\n      case faBlog : return \"faBlog\" ;\n      case faBorderAll : return \"faBorderAll\" ;\n      case faDashboard : return \"faDashboard\" ;\n      case faEnvelopeOpenText : return \"faEnvelopeOpenText\" ;\n      case faIcons : return \"faIcons\" ;\n      case faLocation : return \"faLocation\" ;\n      case faPhoneAlt : return \"faPhoneAlt\" ;\n      case faRightToBracket : return \"faRightToBracket\" ;\n      case faAddressBook : return \"faAddressBook\" ;\n      case faAddressCard : return \"faAddressCard\" ;\n      case faAdjust : return \"faAdjust\" ;\n      case faAlignCenter : return \"faAlignCenter\" ;\n      case faAlignJustify : return \"faAlignJustify\" ;\n      case faAlignLeft : return \"faAlignLeft\" ;\n      case faAlignRight : return \"faAlignRight\" ;\n      case faAllergies : return \"faAllergies\" ;\n      case faAmbulance : return \"faAmbulance\" ;\n      case faAmericanSignLanguageInterpreting : return \"faAmericanSignLanguageInterpreting\" ;\n      case faAnchor : return \"faAnchor\" ;\n      case faAngleDoubleDown : return \"faAngleDoubleDown\" ;\n      case faAngleDoubleLeft : return \"faAngleDoubleLeft\" ;\n      case faAngleDoubleRight : return \"faAngleDoubleRight\" ;\n      case faAngleDoubleUp : return \"faAngleDoubleUp\" ;\n      case faAngleDown : return \"faAngleDown\" ;\n      case faAngleLeft : return \"faAngleLeft\" ;\n      case faAngleRight : return \"faAngleRight\" ;\n      case faAngleUp : return \"faAngleUp\" ;\n      case faArchive : return \"faArchive\" ;\n      case faArrowAltCircleDown : return \"faArrowAltCircleDown\" ;\n      case faArrowAltCircleLeft : return \"faArrowAltCircleLeft\" ;\n      case faArrowAltCircleRight : return \"faArrowAltCircleRight\" ;\n      case faArrowAltCircleUp : return \"faArrowAltCircleUp\" ;\n      case faArrowCircleDown : return \"faArrowCircleDown\" ;\n      case faArrowCircleLeft : return \"faArrowCircleLeft\" ;\n      case faArrowCircleRight : return \"faArrowCircleRight\" ;\n      case faArrowCircleUp : return \"faArrowCircleUp\" ;\n      case faArrowDown : return \"faArrowDown\" ;\n      case faArrowLeft : return \"faArrowLeft\" ;\n      case faArrowRight : return \"faArrowRight\" ;\n      case faArrowUp : return \"faArrowUp\" ;\n      case faArrowsAlt : return \"faArrowsAlt\" ;\n      case faArrowsAltH : return \"faArrowsAltH\" ;\n      case faArrowsAltV : return \"faArrowsAltV\" ;\n      case faAssistiveListeningSystems : return \"faAssistiveListeningSystems\" ;\n      case faAsterisk : return \"faAsterisk\" ;\n      case faAt : return \"faAt\" ;\n      case faAudioDescription : return \"faAudioDescription\" ;\n      case faBackward : return \"faBackward\" ;\n      case faBalanceScale : return \"faBalanceScale\" ;\n      case faBan : return \"faBan\" ;\n      case faBandAid : return \"faBandAid\" ;\n      case faBarcode : return \"faBarcode\" ;\n      case faBars : return \"faBars\" ;\n      case faBaseballBall : return \"faBaseballBall\" ;\n      case faBasketballBall : return \"faBasketballBall\" ;\n      case faBath : return \"faBath\" ;\n      case faBatteryEmpty : return \"faBatteryEmpty\" ;\n      case faBatteryFull : return \"faBatteryFull\" ;\n      case faBatteryHalf : return \"faBatteryHalf\" ;\n      case faBatteryQuarter : return \"faBatteryQuarter\" ;\n      case faBatteryThreeQuarters : return \"faBatteryThreeQuarters\" ;\n      case faBed : return \"faBed\" ;\n      case faBeer : return \"faBeer\" ;\n      case faBell : return \"faBell\" ;\n      case faBellSlash : return \"faBellSlash\" ;\n      case faBicycle : return \"faBicycle\" ;\n      case faBinoculars : return \"faBinoculars\" ;\n      case faBirthdayCake : return \"faBirthdayCake\" ;\n      case faBlender : return \"faBlender\" ;\n      case faBlind : return \"faBlind\" ;\n      case faBold : return \"faBold\" ;\n      case faBolt : return \"faBolt\" ;\n      case faBomb : return \"faBomb\" ;\n      case faBook : return \"faBook\" ;\n      case faBookOpen : return \"faBookOpen\" ;\n      case faBookmark : return \"faBookmark\" ;\n      case faBowlingBall : return \"faBowlingBall\" ;\n      case faBox : return \"faBox\" ;\n      case faBoxOpen : return \"faBoxOpen\" ;\n      case faBoxes : return \"faBoxes\" ;\n      case faBraille : return \"faBraille\" ;\n      case faBriefcase : return \"faBriefcase\" ;\n      case faBriefcaseMedical : return \"faBriefcaseMedical\" ;\n      case faBroadcastTower : return \"faBroadcastTower\" ;\n      case faBroom : return \"faBroom\" ;\n      case faBug : return \"faBug\" ;\n      case faBuilding : return \"faBuilding\" ;\n      case faBullhorn : return \"faBullhorn\" ;\n      case faBullseye : return \"faBullseye\" ;\n      case faBurn : return \"faBurn\" ;\n      case faBus : return \"faBus\" ;\n      case faCalculator : return \"faCalculator\" ;\n      case faCalendar : return \"faCalendar\" ;\n      case faCalendarAlt : return \"faCalendarAlt\" ;\n      case faCalendarCheck : return \"faCalendarCheck\" ;\n      case faCalendarMinus : return \"faCalendarMinus\" ;\n      case faCalendarPlus : return \"faCalendarPlus\" ;\n      case faCalendarTimes : return \"faCalendarTimes\" ;\n      case faCamera : return \"faCamera\" ;\n      case faCameraRetro : return \"faCameraRetro\" ;\n      case faCapsules : return \"faCapsules\" ;\n      case faCar : return \"faCar\" ;\n      case faCaretDown : return \"faCaretDown\" ;\n      case faCaretLeft : return \"faCaretLeft\" ;\n      case faCaretRight : return \"faCaretRight\" ;\n      case faCaretSquareDown : return \"faCaretSquareDown\" ;\n      case faCaretSquareLeft : return \"faCaretSquareLeft\" ;\n      case faCaretSquareRight : return \"faCaretSquareRight\" ;\n      case faCaretSquareUp : return \"faCaretSquareUp\" ;\n      case faCaretUp : return \"faCaretUp\" ;\n      case faCartArrowDown : return \"faCartArrowDown\" ;\n      case faCartPlus : return \"faCartPlus\" ;\n      case faCertificate : return \"faCertificate\" ;\n      case faChalkboard : return \"faChalkboard\" ;\n      case faChalkboardTeacher : return \"faChalkboardTeacher\" ;\n      case faChartArea : return \"faChartArea\" ;\n      case faChartBar : return \"faChartBar\" ;\n      case faChartLine : return \"faChartLine\" ;\n      case faChartPie : return \"faChartPie\" ;\n      case faCheck : return \"faCheck\" ;\n      case faCheckCircle : return \"faCheckCircle\" ;\n      case faCheckSquare : return \"faCheckSquare\" ;\n      case faChess : return \"faChess\" ;\n      case faChessBishop : return \"faChessBishop\" ;\n      case faChessBoard : return \"faChessBoard\" ;\n      case faChessKing : return \"faChessKing\" ;\n      case faChessKnight : return \"faChessKnight\" ;\n      case faChessPawn : return \"faChessPawn\" ;\n      case faChessQueen : return \"faChessQueen\" ;\n      case faChessRook : return \"faChessRook\" ;\n      case faChevronCircleDown : return \"faChevronCircleDown\" ;\n      case faChevronCircleLeft : return \"faChevronCircleLeft\" ;\n      case faChevronCircleRight : return \"faChevronCircleRight\" ;\n      case faChevronCircleUp : return \"faChevronCircleUp\" ;\n      case faChevronDown : return \"faChevronDown\" ;\n      case faChevronLeft : return \"faChevronLeft\" ;\n      case faChevronRight : return \"faChevronRight\" ;\n      case faChevronUp : return \"faChevronUp\" ;\n      case faChild : return \"faChild\" ;\n      case faChurch : return \"faChurch\" ;\n      case faCircle : return \"faCircle\" ;\n      case faCircleNotch : return \"faCircleNotch\" ;\n      case faClipboard : return \"faClipboard\" ;\n      case faClipboardCheck : return \"faClipboardCheck\" ;\n      case faClipboardList : return \"faClipboardList\" ;\n      case faClock : return \"faClock\" ;\n      case faClone : return \"faClone\" ;\n      case faClosedCaptioning : return \"faClosedCaptioning\" ;\n      case faCloud : return \"faCloud\" ;\n      case faCloudDownloadAlt : return \"faCloudDownloadAlt\" ;\n      case faCloudUploadAlt : return \"faCloudUploadAlt\" ;\n      case faCode : return \"faCode\" ;\n      case faCodeBranch : return \"faCodeBranch\" ;\n      case faCoffee : return \"faCoffee\" ;\n      case faCog : return \"faCog\" ;\n      case faCogs : return \"faCogs\" ;\n      case faCoins : return \"faCoins\" ;\n      case faColumns : return \"faColumns\" ;\n      case faComment : return \"faComment\" ;\n      case faCommentAlt : return \"faCommentAlt\" ;\n      case faCommentDots : return \"faCommentDots\" ;\n      case faCommentSlash : return \"faCommentSlash\" ;\n      case faComments : return \"faComments\" ;\n      case faCompactDisc : return \"faCompactDisc\" ;\n      case faCompass : return \"faCompass\" ;\n      case faCompress : return \"faCompress\" ;\n      case faCopy : return \"faCopy\" ;\n      case faCopyright : return \"faCopyright\" ;\n      case faCouch : return \"faCouch\" ;\n      case faCreditCard : return \"faCreditCard\" ;\n      case faCrop : return \"faCrop\" ;\n      case faCrosshairs : return \"faCrosshairs\" ;\n      case faCrow : return \"faCrow\" ;\n      case faCrown : return \"faCrown\" ;\n      case faCube : return \"faCube\" ;\n      case faCubes : return \"faCubes\" ;\n      case faCut : return \"faCut\" ;\n      case faDatabase : return \"faDatabase\" ;\n      case faDeaf : return \"faDeaf\" ;\n      case faDesktop : return \"faDesktop\" ;\n      case faDiagnoses : return \"faDiagnoses\" ;\n      case faDice : return \"faDice\" ;\n      case faDiceFive : return \"faDiceFive\" ;\n      case faDiceFour : return \"faDiceFour\" ;\n      case faDiceOne : return \"faDiceOne\" ;\n      case faDiceSix : return \"faDiceSix\" ;\n      case faDiceThree : return \"faDiceThree\" ;\n      case faDiceTwo : return \"faDiceTwo\" ;\n      case faDivide : return \"faDivide\" ;\n      case faDna : return \"faDna\" ;\n      case faDollarSign : return \"faDollarSign\" ;\n      case faDolly : return \"faDolly\" ;\n      case faDollyFlatbed : return \"faDollyFlatbed\" ;\n      case faDonate : return \"faDonate\" ;\n      case faDoorClosed : return \"faDoorClosed\" ;\n      case faDoorOpen : return \"faDoorOpen\" ;\n      case faDotCircle : return \"faDotCircle\" ;\n      case faDove : return \"faDove\" ;\n      case faDownload : return \"faDownload\" ;\n      case faDumbbell : return \"faDumbbell\" ;\n      case faEdit : return \"faEdit\" ;\n      case faEject : return \"faEject\" ;\n      case faEllipsisH : return \"faEllipsisH\" ;\n      case faEllipsisV : return \"faEllipsisV\" ;\n      case faEnvelope : return \"faEnvelope\" ;\n      case faEnvelopeOpen : return \"faEnvelopeOpen\" ;\n      case faEnvelopeSquare : return \"faEnvelopeSquare\" ;\n      case faEquals : return \"faEquals\" ;\n      case faEraser : return \"faEraser\" ;\n      case faEuroSign : return \"faEuroSign\" ;\n      case faExchangeAlt : return \"faExchangeAlt\" ;\n      case faExclamation : return \"faExclamation\" ;\n      case faExclamationCircle : return \"faExclamationCircle\" ;\n      case faExclamationTriangle : return \"faExclamationTriangle\" ;\n      case faExpand : return \"faExpand\" ;\n      case faExpandArrowsAlt : return \"faExpandArrowsAlt\" ;\n      case faExternalLinkAlt : return \"faExternalLinkAlt\" ;\n      case faExternalLinkSquareAlt : return \"faExternalLinkSquareAlt\" ;\n      case faEye : return \"faEye\" ;\n      case faEyeDropper : return \"faEyeDropper\" ;\n      case faEyeSlash : return \"faEyeSlash\" ;\n      case faFastBackward : return \"faFastBackward\" ;\n      case faFastForward : return \"faFastForward\" ;\n      case faFax : return \"faFax\" ;\n      case faFeather : return \"faFeather\" ;\n      case faFemale : return \"faFemale\" ;\n      case faFighterJet : return \"faFighterJet\" ;\n      case faFile : return \"faFile\" ;\n      case faFileAlt : return \"faFileAlt\" ;\n      case faFileArchive : return \"faFileArchive\" ;\n      case faFileAudio : return \"faFileAudio\" ;\n      case faFileCode : return \"faFileCode\" ;\n      case faFileExcel : return \"faFileExcel\" ;\n      case faFileImage : return \"faFileImage\" ;\n      case faFileMedical : return \"faFileMedical\" ;\n      case faFileMedicalAlt : return \"faFileMedicalAlt\" ;\n      case faFilePdf : return \"faFilePdf\" ;\n      case faFilePowerpoint : return \"faFilePowerpoint\" ;\n      case faFileVideo : return \"faFileVideo\" ;\n      case faFileWord : return \"faFileWord\" ;\n      case faFilm : return \"faFilm\" ;\n      case faFilter : return \"faFilter\" ;\n      case faFire : return \"faFire\" ;\n      case faFireExtinguisher : return \"faFireExtinguisher\" ;\n      case faFirstAid : return \"faFirstAid\" ;\n      case faFlag : return \"faFlag\" ;\n      case faFlagCheckered : return \"faFlagCheckered\" ;\n      case faFlask : return \"faFlask\" ;\n      case faFolder : return \"faFolder\" ;\n      case faFolderOpen : return \"faFolderOpen\" ;\n      case faFont : return \"faFont\" ;\n      case faFontAwesomeLogoFull : return \"faFontAwesomeLogoFull\" ;\n      case faFootballBall : return \"faFootballBall\" ;\n      case faForward : return \"faForward\" ;\n      case faFrog : return \"faFrog\" ;\n      case faFrown : return \"faFrown\" ;\n      case faFutbol : return \"faFutbol\" ;\n      case faGamepad : return \"faGamepad\" ;\n      case faGasPump : return \"faGasPump\" ;\n      case faGavel : return \"faGavel\" ;\n      case faGem : return \"faGem\" ;\n      case faGenderless : return \"faGenderless\" ;\n      case faGift : return \"faGift\" ;\n      case faGlassMartini : return \"faGlassMartini\" ;\n      case faGlasses : return \"faGlasses\" ;\n      case faGlobe : return \"faGlobe\" ;\n      case faGolfBall : return \"faGolfBall\" ;\n      case faGraduationCap : return \"faGraduationCap\" ;\n      case faGreaterThan : return \"faGreaterThan\" ;\n      case faGreaterThanEqual : return \"faGreaterThanEqual\" ;\n      case faHSquare : return \"faHSquare\" ;\n      case faHandHolding : return \"faHandHolding\" ;\n      case faHandHoldingHeart : return \"faHandHoldingHeart\" ;\n      case faHandHoldingUsd : return \"faHandHoldingUsd\" ;\n      case faHandLizard : return \"faHandLizard\" ;\n      case faHandPaper : return \"faHandPaper\" ;\n      case faHandPeace : return \"faHandPeace\" ;\n      case faHandPointDown : return \"faHandPointDown\" ;\n      case faHandPointLeft : return \"faHandPointLeft\" ;\n      case faHandPointRight : return \"faHandPointRight\" ;\n      case faHandPointUp : return \"faHandPointUp\" ;\n      case faHandPointer : return \"faHandPointer\" ;\n      case faHandRock : return \"faHandRock\" ;\n      case faHandScissors : return \"faHandScissors\" ;\n      case faHandSpock : return \"faHandSpock\" ;\n      case faHands : return \"faHands\" ;\n      case faHandsHelping : return \"faHandsHelping\" ;\n      case faHandshake : return \"faHandshake\" ;\n      case faHashtag : return \"faHashtag\" ;\n      case faHdd : return \"faHdd\" ;\n      case faHeading : return \"faHeading\" ;\n      case faHeadphones : return \"faHeadphones\" ;\n      case faHeart : return \"faHeart\" ;\n      case faHeartbeat : return \"faHeartbeat\" ;\n      case faHelicopter : return \"faHelicopter\" ;\n      case faHistory : return \"faHistory\" ;\n      case faHockeyPuck : return \"faHockeyPuck\" ;\n      case faHome : return \"faHome\" ;\n      case faHospital : return \"faHospital\" ;\n      case faHospitalAlt : return \"faHospitalAlt\" ;\n      case faHospitalSymbol : return \"faHospitalSymbol\" ;\n      case faHourglass : return \"faHourglass\" ;\n      case faHourglassEnd : return \"faHourglassEnd\" ;\n      case faHourglassHalf : return \"faHourglassHalf\" ;\n      case faHourglassStart : return \"faHourglassStart\" ;\n      case faICursor : return \"faICursor\" ;\n      case faIdBadge : return \"faIdBadge\" ;\n      case faIdCard : return \"faIdCard\" ;\n      case faIdCardAlt : return \"faIdCardAlt\" ;\n      case faImage : return \"faImage\" ;\n      case faImages : return \"faImages\" ;\n      case faInbox : return \"faInbox\" ;\n      case faIndent : return \"faIndent\" ;\n      case faIndustry : return \"faIndustry\" ;\n      case faInfinity : return \"faInfinity\" ;\n      case faInfo : return \"faInfo\" ;\n      case faInfoCircle : return \"faInfoCircle\" ;\n      case faItalic : return \"faItalic\" ;\n      case faKey : return \"faKey\" ;\n      case faKeyboard : return \"faKeyboard\" ;\n      case faKiwiBird : return \"faKiwiBird\" ;\n      case faLanguage : return \"faLanguage\" ;\n      case faLaptop : return \"faLaptop\" ;\n      case faLeaf : return \"faLeaf\" ;\n      case faLemon : return \"faLemon\" ;\n      case faLessThan : return \"faLessThan\" ;\n      case faLessThanEqual : return \"faLessThanEqual\" ;\n      case faLevelDownAlt : return \"faLevelDownAlt\" ;\n      case faLevelUpAlt : return \"faLevelUpAlt\" ;\n      case faLifeRing : return \"faLifeRing\" ;\n      case faLightbulb : return \"faLightbulb\" ;\n      case faLink : return \"faLink\" ;\n      case faLiraSign : return \"faLiraSign\" ;\n      case faList : return \"faList\" ;\n      case faListAlt : return \"faListAlt\" ;\n      case faListOl : return \"faListOl\" ;\n      case faListUl : return \"faListUl\" ;\n      case faLocationArrow : return \"faLocationArrow\" ;\n      case faLock : return \"faLock\" ;\n      case faLockOpen : return \"faLockOpen\" ;\n      case faLongArrowAltDown : return \"faLongArrowAltDown\" ;\n      case faLongArrowAltLeft : return \"faLongArrowAltLeft\" ;\n      case faLongArrowAltRight : return \"faLongArrowAltRight\" ;\n      case faLongArrowAltUp : return \"faLongArrowAltUp\" ;\n      case faLowVision : return \"faLowVision\" ;\n      case faMagic : return \"faMagic\" ;\n      case faMagnet : return \"faMagnet\" ;\n      case faMale : return \"faMale\" ;\n      case faMap : return \"faMap\" ;\n      case faMapMarker : return \"faMapMarker\" ;\n      case faMapMarkerAlt : return \"faMapMarkerAlt\" ;\n      case faMapPin : return \"faMapPin\" ;\n      case faMapSigns : return \"faMapSigns\" ;\n      case faMars : return \"faMars\" ;\n      case faMarsDouble : return \"faMarsDouble\" ;\n      case faMarsStroke : return \"faMarsStroke\" ;\n      case faMarsStrokeH : return \"faMarsStrokeH\" ;\n      case faMarsStrokeV : return \"faMarsStrokeV\" ;\n      case faMedkit : return \"faMedkit\" ;\n      case faMeh : return \"faMeh\" ;\n      case faMemory : return \"faMemory\" ;\n      case faMercury : return \"faMercury\" ;\n      case faMicrochip : return \"faMicrochip\" ;\n      case faMicrophone : return \"faMicrophone\" ;\n      case faMicrophoneAlt : return \"faMicrophoneAlt\" ;\n      case faMicrophoneAltSlash : return \"faMicrophoneAltSlash\" ;\n      case faMicrophoneSlash : return \"faMicrophoneSlash\" ;\n      case faMinus : return \"faMinus\" ;\n      case faMinusCircle : return \"faMinusCircle\" ;\n      case faMinusSquare : return \"faMinusSquare\" ;\n      case faMobile : return \"faMobile\" ;\n      case faMobileAlt : return \"faMobileAlt\" ;\n      case faMoneyBill : return \"faMoneyBill\" ;\n      case faMoneyBillAlt : return \"faMoneyBillAlt\" ;\n      case faMoneyBillWave : return \"faMoneyBillWave\" ;\n      case faMoneyBillWaveAlt : return \"faMoneyBillWaveAlt\" ;\n      case faMoneyCheck : return \"faMoneyCheck\" ;\n      case faMoneyCheckAlt : return \"faMoneyCheckAlt\" ;\n      case faMoon : return \"faMoon\" ;\n      case faMotorcycle : return \"faMotorcycle\" ;\n      case faMousePointer : return \"faMousePointer\" ;\n      case faMusic : return \"faMusic\" ;\n      case faNeuter : return \"faNeuter\" ;\n      case faNewspaper : return \"faNewspaper\" ;\n      case faNotEqual : return \"faNotEqual\" ;\n      case faNotesMedical : return \"faNotesMedical\" ;\n      case faObjectGroup : return \"faObjectGroup\" ;\n      case faObjectUngroup : return \"faObjectUngroup\" ;\n      case faOutdent : return \"faOutdent\" ;\n      case faPaintBrush : return \"faPaintBrush\" ;\n      case faPalette : return \"faPalette\" ;\n      case faPallet : return \"faPallet\" ;\n      case faPaperPlane : return \"faPaperPlane\" ;\n      case faPaperclip : return \"faPaperclip\" ;\n      case faParachuteBox : return \"faParachuteBox\" ;\n      case faParagraph : return \"faParagraph\" ;\n      case faParking : return \"faParking\" ;\n      case faPaste : return \"faPaste\" ;\n      case faPause : return \"faPause\" ;\n      case faPauseCircle : return \"faPauseCircle\" ;\n      case faPaw : return \"faPaw\" ;\n      case faPenSquare : return \"faPenSquare\" ;\n      case faPencilAlt : return \"faPencilAlt\" ;\n      case faPeopleCarry : return \"faPeopleCarry\" ;\n      case faPercent : return \"faPercent\" ;\n      case faPercentage : return \"faPercentage\" ;\n      case faPhone : return \"faPhone\" ;\n      case faPhoneSlash : return \"faPhoneSlash\" ;\n      case faPhoneSquare : return \"faPhoneSquare\" ;\n      case faPhoneVolume : return \"faPhoneVolume\" ;\n      case faPiggyBank : return \"faPiggyBank\" ;\n      case faPills : return \"faPills\" ;\n      case faPlane : return \"faPlane\" ;\n      case faPlay : return \"faPlay\" ;\n      case faPlayCircle : return \"faPlayCircle\" ;\n      case faPlug : return \"faPlug\" ;\n      case faPlus : return \"faPlus\" ;\n      case faPlusCircle : return \"faPlusCircle\" ;\n      case faPlusSquare : return \"faPlusSquare\" ;\n      case faPodcast : return \"faPodcast\" ;\n      case faPoo : return \"faPoo\" ;\n      case faPortrait : return \"faPortrait\" ;\n      case faPoundSign : return \"faPoundSign\" ;\n      case faPowerOff : return \"faPowerOff\" ;\n      case faPrescriptionBottle : return \"faPrescriptionBottle\" ;\n      case faPrescriptionBottleAlt : return \"faPrescriptionBottleAlt\" ;\n      case faPrint : return \"faPrint\" ;\n      case faProcedures : return \"faProcedures\" ;\n      case faProjectDiagram : return \"faProjectDiagram\" ;\n      case faPuzzlePiece : return \"faPuzzlePiece\" ;\n      case faQrcode : return \"faQrcode\" ;\n      case faQuestion : return \"faQuestion\" ;\n      case faQuestionCircle : return \"faQuestionCircle\" ;\n      case faQuidditch : return \"faQuidditch\" ;\n      case faQuoteLeft : return \"faQuoteLeft\" ;\n      case faQuoteRight : return \"faQuoteRight\" ;\n      case faRandom : return \"faRandom\" ;\n      case faReceipt : return \"faReceipt\" ;\n      case faRecycle : return \"faRecycle\" ;\n      case faRedo : return \"faRedo\" ;\n      case faRedoAlt : return \"faRedoAlt\" ;\n      case faRegistered : return \"faRegistered\" ;\n      case faReply : return \"faReply\" ;\n      case faReplyAll : return \"faReplyAll\" ;\n      case faRetweet : return \"faRetweet\" ;\n      case faRibbon : return \"faRibbon\" ;\n      case faRoad : return \"faRoad\" ;\n      case faRobot : return \"faRobot\" ;\n      case faRocket : return \"faRocket\" ;\n      case faRss : return \"faRss\" ;\n      case faRssSquare : return \"faRssSquare\" ;\n      case faRubleSign : return \"faRubleSign\" ;\n      case faRuler : return \"faRuler\" ;\n      case faRulerCombined : return \"faRulerCombined\" ;\n      case faRulerHorizontal : return \"faRulerHorizontal\" ;\n      case faRulerVertical : return \"faRulerVertical\" ;\n      case faRupeeSign : return \"faRupeeSign\" ;\n      case faSave : return \"faSave\" ;\n      case faSchool : return \"faSchool\" ;\n      case faScrewdriver : return \"faScrewdriver\" ;\n      case faSearch : return \"faSearch\" ;\n      case faSearchMinus : return \"faSearchMinus\" ;\n      case faSearchPlus : return \"faSearchPlus\" ;\n      case faSeedling : return \"faSeedling\" ;\n      case faServer : return \"faServer\" ;\n      case faShare : return \"faShare\" ;\n      case faShareAlt : return \"faShareAlt\" ;\n      case faShareAltSquare : return \"faShareAltSquare\" ;\n      case faShareSquare : return \"faShareSquare\" ;\n      case faShekelSign : return \"faShekelSign\" ;\n      case faShieldAlt : return \"faShieldAlt\" ;\n      case faShip : return \"faShip\" ;\n      case faShippingFast : return \"faShippingFast\" ;\n      case faShoePrints : return \"faShoePrints\" ;\n      case faShoppingBag : return \"faShoppingBag\" ;\n      case faShoppingBasket : return \"faShoppingBasket\" ;\n      case faShoppingCart : return \"faShoppingCart\" ;\n      case faShower : return \"faShower\" ;\n      case faSign : return \"faSign\" ;\n      case faSignInAlt : return \"faSignInAlt\" ;\n      case faSignLanguage : return \"faSignLanguage\" ;\n      case faSignOutAlt : return \"faSignOutAlt\" ;\n      case faSignal : return \"faSignal\" ;\n      case faSitemap : return \"faSitemap\" ;\n      case faSkull : return \"faSkull\" ;\n      case faSlidersH : return \"faSlidersH\" ;\n      case faSmile : return \"faSmile\" ;\n      case faSmoking : return \"faSmoking\" ;\n      case faSmokingBan : return \"faSmokingBan\" ;\n      case faSnowflake : return \"faSnowflake\" ;\n      case faSort : return \"faSort\" ;\n      case faSortAlphaDown : return \"faSortAlphaDown\" ;\n      case faSortAlphaUp : return \"faSortAlphaUp\" ;\n      case faSortAmountDown : return \"faSortAmountDown\" ;\n      case faSortAmountUp : return \"faSortAmountUp\" ;\n      case faSortDown : return \"faSortDown\" ;\n      case faSortNumericDown : return \"faSortNumericDown\" ;\n      case faSortNumericUp : return \"faSortNumericUp\" ;\n      case faSortUp : return \"faSortUp\" ;\n      case faSpaceShuttle : return \"faSpaceShuttle\" ;\n      case faSpinner : return \"faSpinner\" ;\n      case faSquare : return \"faSquare\" ;\n      case faSquareFull : return \"faSquareFull\" ;\n      case faStar : return \"faStar\" ;\n      case faStarHalf : return \"faStarHalf\" ;\n      case faStepBackward : return \"faStepBackward\" ;\n      case faStepForward : return \"faStepForward\" ;\n      case faStethoscope : return \"faStethoscope\" ;\n      case faStickyNote : return \"faStickyNote\" ;\n      case faStop : return \"faStop\" ;\n      case faStopCircle : return \"faStopCircle\" ;\n      case faStopwatch : return \"faStopwatch\" ;\n      case faStore : return \"faStore\" ;\n      case faStoreAlt : return \"faStoreAlt\" ;\n      case faStream : return \"faStream\" ;\n      case faStreetView : return \"faStreetView\" ;\n      case faStrikethrough : return \"faStrikethrough\" ;\n      case faStroopwafel : return \"faStroopwafel\" ;\n      case faSubscript : return \"faSubscript\" ;\n      case faSubway : return \"faSubway\" ;\n      case faSuitcase : return \"faSuitcase\" ;\n      case faSun : return \"faSun\" ;\n      case faSuperscript : return \"faSuperscript\" ;\n      case faSync : return \"faSync\" ;\n      case faSyncAlt : return \"faSyncAlt\" ;\n      case faSyringe : return \"faSyringe\" ;\n      case faTable : return \"faTable\" ;\n      case faTableTennis : return \"faTableTennis\" ;\n      case faTablet : return \"faTablet\" ;\n      case faTabletAlt : return \"faTabletAlt\" ;\n      case faTablets : return \"faTablets\" ;\n      case faTachometerAlt : return \"faTachometerAlt\" ;\n      case faTag : return \"faTag\" ;\n      case faTags : return \"faTags\" ;\n      case faTape : return \"faTape\" ;\n      case faTasks : return \"faTasks\" ;\n      case faTaxi : return \"faTaxi\" ;\n      case faTerminal : return \"faTerminal\" ;\n      case faTextHeight : return \"faTextHeight\" ;\n      case faTextWidth : return \"faTextWidth\" ;\n      case faTh : return \"faTh\" ;\n      case faThLarge : return \"faThLarge\" ;\n      case faThList : return \"faThList\" ;\n      case faThermometer : return \"faThermometer\" ;\n      case faThermometerEmpty : return \"faThermometerEmpty\" ;\n      case faThermometerFull : return \"faThermometerFull\" ;\n      case faThermometerHalf : return \"faThermometerHalf\" ;\n      case faThermometerQuarter : return \"faThermometerQuarter\" ;\n      case faThermometerThreeQuarters : return \"faThermometerThreeQuarters\" ;\n      case faThumbsDown : return \"faThumbsDown\" ;\n      case faThumbsUp : return \"faThumbsUp\" ;\n      case faThumbtack : return \"faThumbtack\" ;\n      case faTicketAlt : return \"faTicketAlt\" ;\n      case faTimes : return \"faTimes\" ;\n      case faTimesCircle : return \"faTimesCircle\" ;\n      case faTint : return \"faTint\" ;\n      case faToggleOff : return \"faToggleOff\" ;\n      case faToggleOn : return \"faToggleOn\" ;\n      case faToolbox : return \"faToolbox\" ;\n      case faTrademark : return \"faTrademark\" ;\n      case faTrain : return \"faTrain\" ;\n      case faTransgender : return \"faTransgender\" ;\n      case faTransgenderAlt : return \"faTransgenderAlt\" ;\n      case faTrash : return \"faTrash\" ;\n      case faTrashAlt : return \"faTrashAlt\" ;\n      case faTree : return \"faTree\" ;\n      case faTrophy : return \"faTrophy\" ;\n      case faTruck : return \"faTruck\" ;\n      case faTruckLoading : return \"faTruckLoading\" ;\n      case faTruckMoving : return \"faTruckMoving\" ;\n      case faTshirt : return \"faTshirt\" ;\n      case faTty : return \"faTty\" ;\n      case faTv : return \"faTv\" ;\n      case faUmbrella : return \"faUmbrella\" ;\n      case faUnderline : return \"faUnderline\" ;\n      case faUndo : return \"faUndo\" ;\n      case faUndoAlt : return \"faUndoAlt\" ;\n      case faUniversalAccess : return \"faUniversalAccess\" ;\n      case faUniversity : return \"faUniversity\" ;\n      case faUnlink : return \"faUnlink\" ;\n      case faUnlock : return \"faUnlock\" ;\n      case faUnlockAlt : return \"faUnlockAlt\" ;\n      case faUpload : return \"faUpload\" ;\n      case faUser : return \"faUser\" ;\n      case faUserAlt : return \"faUserAlt\" ;\n      case faUserAltSlash : return \"faUserAltSlash\" ;\n      case faUserAstronaut : return \"faUserAstronaut\" ;\n      case faUserCheck : return \"faUserCheck\" ;\n      case faUserCircle : return \"faUserCircle\" ;\n      case faUserClock : return \"faUserClock\" ;\n      case faUserCog : return \"faUserCog\" ;\n      case faUserEdit : return \"faUserEdit\" ;\n      case faUserFriends : return \"faUserFriends\" ;\n      case faUserGraduate : return \"faUserGraduate\" ;\n      case faUserLock : return \"faUserLock\" ;\n      case faUserMd : return \"faUserMd\" ;\n      case faUserMinus : return \"faUserMinus\" ;\n      case faUserNinja : return \"faUserNinja\" ;\n      case faUserPlus : return \"faUserPlus\" ;\n      case faUserSecret : return \"faUserSecret\" ;\n      case faUserShield : return \"faUserShield\" ;\n      case faUserSlash : return \"faUserSlash\" ;\n      case faUserTag : return \"faUserTag\" ;\n      case faUserTie : return \"faUserTie\" ;\n      case faUserTimes : return \"faUserTimes\" ;\n      case faUsers : return \"faUsers\" ;\n      case faUsersCog : return \"faUsersCog\" ;\n      case faUtensilSpoon : return \"faUtensilSpoon\" ;\n      case faUtensils : return \"faUtensils\" ;\n      case faVenus : return \"faVenus\" ;\n      case faVenusDouble : return \"faVenusDouble\" ;\n      case faVenusMars : return \"faVenusMars\" ;\n      case faVial : return \"faVial\" ;\n      case faVials : return \"faVials\" ;\n      case faVideo : return \"faVideo\" ;\n      case faVideoSlash : return \"faVideoSlash\" ;\n      case faVolleyballBall : return \"faVolleyballBall\" ;\n      case faVolumeDown : return \"faVolumeDown\" ;\n      case faVolumeOff : return \"faVolumeOff\" ;\n      case faVolumeUp : return \"faVolumeUp\" ;\n      case faWalking : return \"faWalking\" ;\n      case faWallet : return \"faWallet\" ;\n      case faWarehouse : return \"faWarehouse\" ;\n      case faWeight : return \"faWeight\" ;\n      case faWheelchair : return \"faWheelchair\" ;\n      case faWifi : return \"faWifi\" ;\n      case faWindowClose : return \"faWindowClose\" ;\n      case faWindowMaximize : return \"faWindowMaximize\" ;\n      case faWindowMinimize : return \"faWindowMinimize\" ;\n      case faWindowRestore : return \"faWindowRestore\" ;\n      case faWineGlass : return \"faWineGlass\" ;\n      case faWonSign : return \"faWonSign\" ;\n      case faWrench : return \"faWrench\" ;\n      case faXRay : return \"faXRay\" ;\n      case faYenSign : return \"faYenSign\" ;\n      case faAccessibleIcon : return \"faAccessibleIcon\" ;\n      case faAccusoft : return \"faAccusoft\" ;\n      case faAdn : return \"faAdn\" ;\n      case faAdversal : return \"faAdversal\" ;\n      case faAffiliatetheme : return \"faAffiliatetheme\" ;\n      case faAlgolia : return \"faAlgolia\" ;\n      case faAmazon : return \"faAmazon\" ;\n      case faAmazonPay : return \"faAmazonPay\" ;\n      case faAmilia : return \"faAmilia\" ;\n      case faAndroid : return \"faAndroid\" ;\n      case faAngellist : return \"faAngellist\" ;\n      case faAngrycreative : return \"faAngrycreative\" ;\n      case faAngular : return \"faAngular\" ;\n      case faAppStore : return \"faAppStore\" ;\n      case faAppStoreIos : return \"faAppStoreIos\" ;\n      case faApper : return \"faApper\" ;\n      case faApple : return \"faApple\" ;\n      case faApplePay : return \"faApplePay\" ;\n      case faAsymmetrik : return \"faAsymmetrik\" ;\n      case faAudible : return \"faAudible\" ;\n      case faAutoprefixer : return \"faAutoprefixer\" ;\n      case faAvianex : return \"faAvianex\" ;\n      case faAviato : return \"faAviato\" ;\n      case faAws : return \"faAws\" ;\n      case faBandcamp : return \"faBandcamp\" ;\n      case faBehance : return \"faBehance\" ;\n      case faBehanceSquare : return \"faBehanceSquare\" ;\n      case faBimobject : return \"faBimobject\" ;\n      case faBitbucket : return \"faBitbucket\" ;\n      case faBitcoin : return \"faBitcoin\" ;\n      case faBity : return \"faBity\" ;\n      case faBlackTie : return \"faBlackTie\" ;\n      case faBlackberry : return \"faBlackberry\" ;\n      case faBlogger : return \"faBlogger\" ;\n      case faBloggerB : return \"faBloggerB\" ;\n      case faBluetooth : return \"faBluetooth\" ;\n      case faBluetoothB : return \"faBluetoothB\" ;\n      case faBtc : return \"faBtc\" ;\n      case faBuromobelexperte : return \"faBuromobelexperte\" ;\n      case faBuysellads : return \"faBuysellads\" ;\n      case faCcAmazonPay : return \"faCcAmazonPay\" ;\n      case faCcAmex : return \"faCcAmex\" ;\n      case faCcApplePay : return \"faCcApplePay\" ;\n      case faCcDinersClub : return \"faCcDinersClub\" ;\n      case faCcDiscover : return \"faCcDiscover\" ;\n      case faCcJcb : return \"faCcJcb\" ;\n      case faCcMastercard : return \"faCcMastercard\" ;\n      case faCcPaypal : return \"faCcPaypal\" ;\n      case faCcStripe : return \"faCcStripe\" ;\n      case faCcVisa : return \"faCcVisa\" ;\n      case faCentercode : return \"faCentercode\" ;\n      case faChrome : return \"faChrome\" ;\n      case faCloudscale : return \"faCloudscale\" ;\n      case faCloudsmith : return \"faCloudsmith\" ;\n      case faCloudversify : return \"faCloudversify\" ;\n      case faCodepen : return \"faCodepen\" ;\n      case faCodiepie : return \"faCodiepie\" ;\n      case faConnectdevelop : return \"faConnectdevelop\" ;\n      case faContao : return \"faContao\" ;\n      case faCpanel : return \"faCpanel\" ;\n      case faCreativeCommons : return \"faCreativeCommons\" ;\n      case faCreativeCommonsBy : return \"faCreativeCommonsBy\" ;\n      case faCreativeCommonsNc : return \"faCreativeCommonsNc\" ;\n      case faCreativeCommonsNcEu : return \"faCreativeCommonsNcEu\" ;\n      case faCreativeCommonsNcJp : return \"faCreativeCommonsNcJp\" ;\n      case faCreativeCommonsNd : return \"faCreativeCommonsNd\" ;\n      case faCreativeCommonsPd : return \"faCreativeCommonsPd\" ;\n      case faCreativeCommonsPdAlt : return \"faCreativeCommonsPdAlt\" ;\n      case faCreativeCommonsRemix : return \"faCreativeCommonsRemix\" ;\n      case faCreativeCommonsSa : return \"faCreativeCommonsSa\" ;\n      case faCreativeCommonsSampling : return \"faCreativeCommonsSampling\" ;\n      case faCreativeCommonsSamplingPlus : return \"faCreativeCommonsSamplingPlus\" ;\n      case faCreativeCommonsShare : return \"faCreativeCommonsShare\" ;\n      case faCss3 : return \"faCss3\" ;\n      case faCss3Alt : return \"faCss3Alt\" ;\n      case faCuttlefish : return \"faCuttlefish\" ;\n      case faDAndD : return \"faDAndD\" ;\n      case faDashcube : return \"faDashcube\" ;\n      case faDelicious : return \"faDelicious\" ;\n      case faDeploydog : return \"faDeploydog\" ;\n      case faDeskpro : return \"faDeskpro\" ;\n      case faDeviantart : return \"faDeviantart\" ;\n      case faDigg : return \"faDigg\" ;\n      case faDigitalOcean : return \"faDigitalOcean\" ;\n      case faDiscord : return \"faDiscord\" ;\n      case faDiscourse : return \"faDiscourse\" ;\n      case faDochub : return \"faDochub\" ;\n      case faDocker : return \"faDocker\" ;\n      case faDraft2digital : return \"faDraft2Digital\" ;\n      case faDribbble : return \"faDribbble\" ;\n      case faDribbbleSquare : return \"faDribbbleSquare\" ;\n      case faDropbox : return \"faDropbox\" ;\n      case faDrupal : return \"faDrupal\" ;\n      case faDyalog : return \"faDyalog\" ;\n      case faEarlybirds : return \"faEarlybirds\" ;\n      case faEbay : return \"faEbay\" ;\n      case faEdge : return \"faEdge\" ;\n      case faElementor : return \"faElementor\" ;\n      case faEmber : return \"faEmber\" ;\n      case faEmpire : return \"faEmpire\" ;\n      case faEnvira : return \"faEnvira\" ;\n      case faErlang : return \"faErlang\" ;\n      case faEthereum : return \"faEthereum\" ;\n      case faEtsy : return \"faEtsy\" ;\n      case faExpeditedssl : return \"faExpeditedssl\" ;\n      case faFacebook : return \"faFacebook\" ;\n      case faFacebookF : return \"faFacebookF\" ;\n      case faFacebookMessenger : return \"faFacebookMessenger\" ;\n      case faFacebookSquare : return \"faFacebookSquare\" ;\n      case faFirefox : return \"faFirefox\" ;\n      case faFirstOrder : return \"faFirstOrder\" ;\n      case faFirstOrderAlt : return \"faFirstOrderAlt\" ;\n      case faFirstdraft : return \"faFirstdraft\" ;\n      case faFlickr : return \"faFlickr\" ;\n      case faFlipboard : return \"faFlipboard\" ;\n      case faFly : return \"faFly\" ;\n      case faFontAwesome : return \"faFontAwesome\" ;\n      case faFontAwesomeAlt : return \"faFontAwesomeAlt\" ;\n      case faFontAwesomeFlag : return \"faFontAwesomeFlag\" ;\n      case faFonticons : return \"faFonticons\" ;\n      case faFonticonsFi : return \"faFonticonsFi\" ;\n      case faFortAwesome : return \"faFortAwesome\" ;\n      case faFortAwesomeAlt : return \"faFortAwesomeAlt\" ;\n      case faForumbee : return \"faForumbee\" ;\n      case faFoursquare : return \"faFoursquare\" ;\n      case faFreeCodeCamp : return \"faFreeCodeCamp\" ;\n      case faFreebsd : return \"faFreebsd\" ;\n      case faFulcrum : return \"faFulcrum\" ;\n      case faGalacticRepublic : return \"faGalacticRepublic\" ;\n      case faGalacticSenate : return \"faGalacticSenate\" ;\n      case faGetPocket : return \"faGetPocket\" ;\n      case faGg : return \"faGg\" ;\n      case faGgCircle : return \"faGgCircle\" ;\n      case faGit : return \"faGit\" ;\n      case faGitSquare : return \"faGitSquare\" ;\n      case faGithub : return \"faGithub\" ;\n      case faGithubAlt : return \"faGithubAlt\" ;\n      case faGithubSquare : return \"faGithubSquare\" ;\n      case faGitkraken : return \"faGitkraken\" ;\n      case faGitlab : return \"faGitlab\" ;\n      case faGitter : return \"faGitter\" ;\n      case faGlide : return \"faGlide\" ;\n      case faGlideG : return \"faGlideG\" ;\n      case faGofore : return \"faGofore\" ;\n      case faGoodreads : return \"faGoodreads\" ;\n      case faGoodreadsG : return \"faGoodreadsG\" ;\n      case faGoogle : return \"faGoogle\" ;\n      case faGoogleDrive : return \"faGoogleDrive\" ;\n      case faGooglePlay : return \"faGooglePlay\" ;\n      case faGooglePlus : return \"faGooglePlus\" ;\n      case faGooglePlusG : return \"faGooglePlusG\" ;\n      case faGooglePlusSquare : return \"faGooglePlusSquare\" ;\n      case faGoogleWallet : return \"faGoogleWallet\" ;\n      case faGratipay : return \"faGratipay\" ;\n      case faGrav : return \"faGrav\" ;\n      case faGripfire : return \"faGripfire\" ;\n      case faGrunt : return \"faGrunt\" ;\n      case faGulp : return \"faGulp\" ;\n      case faHackerNews : return \"faHackerNews\" ;\n      case faHackerNewsSquare : return \"faHackerNewsSquare\" ;\n      case faHips : return \"faHips\" ;\n      case faHireAHelper : return \"faHireAHelper\" ;\n      case faHooli : return \"faHooli\" ;\n      case faHotjar : return \"faHotjar\" ;\n      case faHouzz : return \"faHouzz\" ;\n      case faHtml5 : return \"faHtml5\" ;\n      case faHubspot : return \"faHubspot\" ;\n      case faImdb : return \"faImdb\" ;\n      case faInstagram : return \"faInstagram\" ;\n      case faInternetExplorer : return \"faInternetExplorer\" ;\n      case faIoxhost : return \"faIoxhost\" ;\n      case faItunes : return \"faItunes\" ;\n      case faItunesNote : return \"faItunesNote\" ;\n      case faJava : return \"faJava\" ;\n      case faJediOrder : return \"faJediOrder\" ;\n      case faJenkins : return \"faJenkins\" ;\n      case faJoget : return \"faJoget\" ;\n      case faJoomla : return \"faJoomla\" ;\n      case faJs : return \"faJs\" ;\n      case faJsSquare : return \"faJsSquare\" ;\n      case faJsfiddle : return \"faJsfiddle\" ;\n      case faKeybase : return \"faKeybase\" ;\n      case faKeycdn : return \"faKeycdn\" ;\n      case faKickstarter : return \"faKickstarter\" ;\n      case faKickstarterK : return \"faKickstarterK\" ;\n      case faKorvue : return \"faKorvue\" ;\n      case faLaravel : return \"faLaravel\" ;\n      case faLastfm : return \"faLastfm\" ;\n      case faLastfmSquare : return \"faLastfmSquare\" ;\n      case faLeanpub : return \"faLeanpub\" ;\n      case faLess : return \"faLess\" ;\n      case faLine : return \"faLine\" ;\n      case faLinkedin : return \"faLinkedin\" ;\n      case faLinkedinIn : return \"faLinkedinIn\" ;\n      case faLinode : return \"faLinode\" ;\n      case faLinux : return \"faLinux\" ;\n      case faLyft : return \"faLyft\" ;\n      case faMagento : return \"faMagento\" ;\n      case faMandalorian : return \"faMandalorian\" ;\n      case faMastodon : return \"faMastodon\" ;\n      case faMaxcdn : return \"faMaxcdn\" ;\n      case faMedapps : return \"faMedapps\" ;\n      case faMedium : return \"faMedium\" ;\n      case faMediumM : return \"faMediumM\" ;\n      case faMedrt : return \"faMedrt\" ;\n      case faMeetup : return \"faMeetup\" ;\n      case faMicrosoft : return \"faMicrosoft\" ;\n      case faMix : return \"faMix\" ;\n      case faMixcloud : return \"faMixcloud\" ;\n      case faMizuni : return \"faMizuni\" ;\n      case faModx : return \"faModx\" ;\n      case faMonero : return \"faMonero\" ;\n      case faNapster : return \"faNapster\" ;\n      case faNode : return \"faNode\" ;\n      case faNodeJs : return \"faNodeJs\" ;\n      case faNpm : return \"faNpm\" ;\n      case faNs8 : return \"faNs8\" ;\n      case faNutritionix : return \"faNutritionix\" ;\n      case faOdnoklassniki : return \"faOdnoklassniki\" ;\n      case faOdnoklassnikiSquare : return \"faOdnoklassnikiSquare\" ;\n      case faOldRepublic : return \"faOldRepublic\" ;\n      case faOpencart : return \"faOpencart\" ;\n      case faOpenid : return \"faOpenid\" ;\n      case faOpera : return \"faOpera\" ;\n      case faOptinMonster : return \"faOptinMonster\" ;\n      case faOsi : return \"faOsi\" ;\n      case faPage4 : return \"faPage4\" ;\n      case faPagelines : return \"faPagelines\" ;\n      case faPalfed : return \"faPalfed\" ;\n      case faPatreon : return \"faPatreon\" ;\n      case faPaypal : return \"faPaypal\" ;\n      case faPeriscope : return \"faPeriscope\" ;\n      case faPhabricator : return \"faPhabricator\" ;\n      case faPhoenixFramework : return \"faPhoenixFramework\" ;\n      case faPhoenixSquadron : return \"faPhoenixSquadron\" ;\n      case faPhp : return \"faPhp\" ;\n      case faPiedPiper : return \"faPiedPiper\" ;\n      case faPiedPiperAlt : return \"faPiedPiperAlt\" ;\n      case faPiedPiperHat : return \"faPiedPiperHat\" ;\n      case faPiedPiperPp : return \"faPiedPiperPp\" ;\n      case faPinterest : return \"faPinterest\" ;\n      case faPinterestP : return \"faPinterestP\" ;\n      case faPinterestSquare : return \"faPinterestSquare\" ;\n      case faPlaystation : return \"faPlaystation\" ;\n      case faProductHunt : return \"faProductHunt\" ;\n      case faPushed : return \"faPushed\" ;\n      case faPython : return \"faPython\" ;\n      case faQq : return \"faQq\" ;\n      case faQuinscape : return \"faQuinscape\" ;\n      case faQuora : return \"faQuora\" ;\n      case faRProject : return \"faRProject\" ;\n      case faRavelry : return \"faRavelry\" ;\n      case faReact : return \"faReact\" ;\n      case faReadme : return \"faReadme\" ;\n      case faRebel : return \"faRebel\" ;\n      case faRedRiver : return \"faRedRiver\" ;\n      case faReddit : return \"faReddit\" ;\n      case faRedditAlien : return \"faRedditAlien\" ;\n      case faRedditSquare : return \"faRedditSquare\" ;\n      case faRendact : return \"faRendact\" ;\n      case faRenren : return \"faRenren\" ;\n      case faReplyd : return \"faReplyd\" ;\n      case faResearchgate : return \"faResearchgate\" ;\n      case faResolving : return \"faResolving\" ;\n      case faRocketchat : return \"faRocketchat\" ;\n      case faRockrms : return \"faRockrms\" ;\n      case faSafari : return \"faSafari\" ;\n      case faSass : return \"faSass\" ;\n      case faSchlix : return \"faSchlix\" ;\n      case faScribd : return \"faScribd\" ;\n      case faSearchengin : return \"faSearchengin\" ;\n      case faSellcast : return \"faSellcast\" ;\n      case faSellsy : return \"faSellsy\" ;\n      case faServicestack : return \"faServicestack\" ;\n      case faShirtsinbulk : return \"faShirtsinbulk\" ;\n      case faSimplybuilt : return \"faSimplybuilt\" ;\n      case faSistrix : return \"faSistrix\" ;\n      case faSith : return \"faSith\" ;\n      case faSkyatlas : return \"faSkyatlas\" ;\n      case faSkype : return \"faSkype\" ;\n      case faSlack : return \"faSlack\" ;\n      case faSlackHash : return \"faSlackHash\" ;\n      case faSlideshare : return \"faSlideshare\" ;\n      case faSnapchat : return \"faSnapchat\" ;\n      case faSnapchatGhost : return \"faSnapchatGhost\" ;\n      case faSnapchatSquare : return \"faSnapchatSquare\" ;\n      case faSoundcloud : return \"faSoundcloud\" ;\n      case faSpeakap : return \"faSpeakap\" ;\n      case faSpotify : return \"faSpotify\" ;\n      case faStackExchange : return \"faStackExchange\" ;\n      case faStackOverflow : return \"faStackOverflow\" ;\n      case faStaylinked : return \"faStaylinked\" ;\n      case faSteam : return \"faSteam\" ;\n      case faSteamSquare : return \"faSteamSquare\" ;\n      case faSteamSymbol : return \"faSteamSymbol\" ;\n      case faStickerMule : return \"faStickerMule\" ;\n      case faStrava : return \"faStrava\" ;\n      case faStripe : return \"faStripe\" ;\n      case faStripeS : return \"faStripeS\" ;\n      case faStudiovinari : return \"faStudiovinari\" ;\n      case faStumbleupon : return \"faStumbleupon\" ;\n      case faStumbleuponCircle : return \"faStumbleuponCircle\" ;\n      case faSuperpowers : return \"faSuperpowers\" ;\n      case faSupple : return \"faSupple\" ;\n      case faTeamspeak : return \"faTeamspeak\" ;\n      case faTelegram : return \"faTelegram\" ;\n      case faTelegramPlane : return \"faTelegramPlane\" ;\n      case faTencentWeibo : return \"faTencentWeibo\" ;\n      case faThemeisle : return \"faThemeisle\" ;\n      case faTradeFederation : return \"faTradeFederation\" ;\n      case faTrello : return \"faTrello\" ;\n      case faTumblr : return \"faTumblr\" ;\n      case faTumblrSquare : return \"faTumblrSquare\" ;\n      case faTwitch : return \"faTwitch\" ;\n      case faTwitter : return \"faTwitter\" ;\n      case faTwitterSquare : return \"faTwitterSquare\" ;\n      case faTypo3 : return \"faTypo3\" ;\n      case faUber : return \"faUber\" ;\n      case faUikit : return \"faUikit\" ;\n      case faUniregistry : return \"faUniregistry\" ;\n      case faUntappd : return \"faUntappd\" ;\n      case faUsb : return \"faUsb\" ;\n      case faUssunnah : return \"faUssunnah\" ;\n      case faVaadin : return \"faVaadin\" ;\n      case faViacoin : return \"faViacoin\" ;\n      case faViadeo : return \"faViadeo\" ;\n      case faViadeoSquare : return \"faViadeoSquare\" ;\n      case faViber : return \"faViber\" ;\n      case faVimeo : return \"faVimeo\" ;\n      case faVimeoSquare : return \"faVimeoSquare\" ;\n      case faVimeoV : return \"faVimeoV\" ;\n      case faVine : return \"faVine\" ;\n      case faVk : return \"faVk\" ;\n      case faVnv : return \"faVnv\" ;\n      case faVuejs : return \"faVuejs\" ;\n      case faWeibo : return \"faWeibo\" ;\n      case faWeixin : return \"faWeixin\" ;\n      case faWhatsapp : return \"faWhatsapp\" ;\n      case faWhatsappSquare : return \"faWhatsappSquare\" ;\n      case faWhmcs : return \"faWhmcs\" ;\n      case faWikipediaW : return \"faWikipediaW\" ;\n      case faWindows : return \"faWindows\" ;\n      case faWolfPackBattalion : return \"faWolfPackBattalion\" ;\n      case faWordpress : return \"faWordpress\" ;\n      case faWordpressSimple : return \"faWordpressSimple\" ;\n      case faWpbeginner : return \"faWpbeginner\" ;\n      case faWpexplorer : return \"faWpexplorer\" ;\n      case faWpforms : return \"faWpforms\" ;\n      case faXbox : return \"faXbox\" ;\n      case faXing : return \"faXing\" ;\n      case faXingSquare : return \"faXingSquare\" ;\n      case faYCombinator : return \"faYCombinator\" ;\n      case faYahoo : return \"faYahoo\" ;\n      case faYandex : return \"faYandex\" ;\n      case faYandexInternational : return \"faYandexInternational\" ;\n      case faYelp : return \"faYelp\" ;\n      case faYoast : return \"faYoast\" ;\n      case faYoutube : return \"faYoutube\" ;\n      case faYoutubeSquare : return \"faYoutubeSquare\" ;\n      case faArrowLeftLong : return \"faArrowLeftLong\" ;\n      case faBlog : return \"faBlog\" ;\n      case faBorderAll : return \"faBorderAll\" ;\n      case faDashboard : return \"faDashboard\" ;\n      case faEnvelopeOpenText : return \"faEnvelopeOpenText\" ;\n      case faIcons : return \"faIcons\" ;\n      case faLocation : return \"faLocation\" ;\n      case faPhoneAlt : return \"faPhoneAlt\" ;\n      case faRightToBracket : return \"faRightToBracket\" ;\n      default:     \n      return \"faMicrochip\";    \n    }     \n  }     \n\n  static getSizeProp(size: string): SizeProp {\n    switch (size) {\n      case 'xs':\n        return 'xs';\n      case 'sm':\n        return 'sm';\n      case 'lg':\n        return 'lg';\n      case '1x':\n        return '1x';\n      case '2x':\n        return '2x';\n      case '3x':\n        return '3x';\n      case '4x':\n        return '4x';\n      case '5x':\n        return '5x';\n      default:\n        return 'lg';\n    }\n  }\n\n  tostring(){\n    return { \n      id:this.id ?? \"icon1\",\n      className: this.className ?? \"\",\n      icon:AlloyIcon.getIconText(this.icon) ?? \"faMicrochip\",\n      size:this.size ?? \"lg\",\n      spin:this.spin ?? false\n    }\n  }\n}","import { Component, Input } from '@angular/core';\nimport { AlloyIcon } from '../icon.model';\n\n@Component({\n  selector: 'alloy-icon',\n  templateUrl: './icon.component.html',\n  styleUrls: ['./icon.component.css']\n})\nexport class IconComponent {\n  _icon: AlloyIcon;\n  @Input() set icon(icon: AlloyIcon) {\n  \tthis._icon = icon;\n  }\n\n  constructor() { \n    this._icon = new AlloyIcon();\n  }\n\n}\n","<span [class]=\"_icon.className\">\n  <fa-icon\n    [id]=\"_icon.id\"\n    [icon]=\"_icon.icon\"\n    [spin]=\"_icon.spin\"\n    [size]=\"_icon.size\"\n  ></fa-icon>\n</span>\n\n","import { AlloyIcon } from \"../icon/icon.model\";\n\n\nexport class AlloyLink{\n  id: string;\n  name: string;\n  className: string;\n  link: string;\n  active: string;\n  static idGenerator: number = 0;\n  constructor(res?: any){\n    if(res){\n      this.id = res.id ? res.id : \"link\" + ++AlloyLink.idGenerator;\n      this.name = res.name ? res.name : \"\";\n      this.className = res.className ? res.className : \"nav-link\";\n      this.active = res.active ? res.active : \"\";\n      this.link = res.link ? res.link : \"https://alloymobile.com\";\n    }else{\n      this.id = \"link\" + ++AlloyLink.idGenerator;\n      this.name = \"\";\n      this.className =  \"nav-link\";\n      this.link = \"https://alloymobile.com\";\n      this.active = \"\";\n    }\n  }\n  tostring(){\n    return { \n      id: this.id ?? \"link1\",\n      name: this.name ?? \"AlloyLink\",\n      className: this.className ?? \"\",\n      link: this.link ?? \"/\",\n      active: this.active ?? \"\"\n    }\n  }\n}\n\nexport class AlloyLinkIcon extends AlloyLink{\n  icon: AlloyIcon;\n  constructor(res?: any){\n    if(res){\n      super(res);\n      this.icon = res.icon ? AlloyIcon.getAlloyIcon(res.icon) : new AlloyIcon();\n    }else{\n      super();\n      this.icon = new AlloyIcon();\n    }\n  }\n\n  tostring(){\n    return { \n      id: this.id ?? \"link1\",\n      name: this.name ?? \"AlloyLinkIcon\",\n      className: this.className ?? \"\",\n      link: this.link ?? \"/\",\n      active: this.active ?? \"\",\n      icon:this.icon.tostring()\n    }\n  }\n}\n\nexport class Logo{\n  image: string;\n  alt: string;\n  width: string;\n  height: string;\n  constructor(res?: any){\n    if(res){\n      this.image = res.image ? res.image : \"https://alloymobile.blob.core.windows.net/alloymobile/alloymobile.png\";\n      this.alt = res.alt ? res.alt : \"Alloymobile\";\n      this.width = res.width ? res.width : \"auto\";\n      this.height = res.height ? res.height : \"auto\";\n    }else{\n      this.image = \"https://alloymobile.blob.core.windows.net/alloymobile/alloymobile.png\";\n      this.alt = \"Alloymobile\";\n      this.width = \"72\";\n      this.height = \"auto\";\n    }\n  }\n}\n\nexport class AlloyLinkLogo extends AlloyLink{\n  logo: Logo;\n  constructor(res?: any){\n    if(res){\n      super(res);\n      this.logo = res.logo ? new Logo(res.logo) : new Logo();\n    }else{\n      super();\n      this.logo = new Logo();\n    }\n  }\n}","import { AlloyIcon} from \"../icon/icon.model\";\nimport { AlloyLink } from \"../link/link.model\";\n\nexport class Button{\n  id: string;\n  name: string;\n  type: string;\n  className: string;\n  static idGenerator: number = 0;\n  constructor(res?: any){\n    if(res){\n      this.id = res.id ? res.id : \"button\" + ++Button.idGenerator;\n      this.name = res.name ? res.name : \"Button\";\n      this.type = res.type ? res.type : 'button';\n      this.className = res.className ? res.className : \"btn btn-lg btn-info mt-1\";\n    }else{\n      this.id = \"button\" + ++Button.idGenerator;\n      this.name = \"Button\";\n      this.type = 'button';\n      this.className =  \"btn btn-lg btn-info mt-1\";\n    }\n  }\n}\n\n\nexport class AlloyButton extends Button{\n  active: string;\n  constructor(res?: any){\n    if(res){\n      super(res);\n      this.active = res.active ? res.active : \"\";\n    }else{\n      super();\n      this.active = \"\";\n    }\n  }\n  tostring(){\n    return { \n      id: this.id ?? \"button1\",\n      name: this.name ?? \"AlloyButtonIcon\",\n      className: this.className ?? \"btn btn-lg btn-info mt-1\",\n      type: this.type ?? \"button\",\n      active: this.active ?? \"\"\n    }\n  }\n}\n\nexport class AlloyButtonIcon extends AlloyButton{\n  icon: AlloyIcon;\n  constructor(res?: any){\n    if(res){\n      super(res);\n      this.icon = res.icon ? AlloyIcon.getAlloyIcon(res.icon) : new AlloyIcon();\n    }else{\n      super();\n      this.icon = new AlloyIcon();\n    }\n  }\n  tostring(){\n    return { \n      id: this.id ?? \"button1\",\n      name: this.name ?? \"AlloyButtonIcon\",\n      className: this.className ?? \"btn btn-lg btn-info mt-1\",\n      type: this.type ?? \"button\",\n      active: this.active ?? \"\",\n      icon:this.icon.tostring()\n    }\n  }\n}\n\nexport class AlloyButtonSubmit extends Button{\n  icon: AlloyIcon;\n  show: boolean;\n  disable: boolean;\n  constructor(res?: any){\n    if(res){\n      super(res);\n      this.icon = res.icon ? AlloyIcon.getAlloyIcon(res.icon) : new AlloyIcon();\n      this.show = res.show ? res.show : false;\n      this.disable = res.disable ? res.disable : false;\n    }else{\n      super();\n      this.icon = new AlloyIcon();\n      this.show = false;\n      this.disable = false;\n    }\n  }\n  tostring(){\n    return { \n      id: this.id ?? \"button1\",\n      name: this.name ?? \"AlloyButtonIcon\",\n      className: this.className ?? \"btn btn-lg btn-info mt-1\",\n      type: this.type ?? \"button\",\n      show: this.show ?? false,\n      disable: this.disable ?? false,\n      icon:this.icon.tostring()\n    }\n  }\n}\n\nexport class AlloyButtonDropDown extends AlloyButton{\n  links: AlloyLink[]\n  dropDownClass: string;\n  constructor(res?: any){\n    if(res){\n      super(res);\n      this.dropDownClass = res.dropDownClass ? res.dropDownClass : \"dropdown-menu\";\n      this.links = res.links ? res.links.map( l =>new AlloyLink(l)) : [];\n    }else{\n      super();\n      this.dropDownClass = \"dropdown-menu\";\n      this.links = [];\n    }\n  }\n\n  tostring(){\n    return { \n      id: this.id ?? \"button1\",\n      name: this.name ?? \"AlloyButtonIcon\",\n      className: this.className ?? \"btn btn-lg btn-info mt-1\",\n      type: this.type ?? \"button\",\n      active: this.active ?? \"\",\n    }\n  }\n}","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { AlloyButton } from '../button.model';\n\n@Component({\n  selector: 'alloy-button',\n  templateUrl: './button.component.html',\n  styleUrls: ['./button.component.css']\n})\nexport class ButtonComponent {\n  _button: AlloyButton;\n  @Input() set button(button: AlloyButton){\n    this._button = button;\n  }\n  @Output() output: EventEmitter<AlloyButton>= new EventEmitter<AlloyButton>();\n  constructor() {\n    this._button = new AlloyButton();\n  }\n}\n","<button\n  [id]=\"_button.id\"\n  [class]=\"_button.className+' '+ _button.active\"\n  [type]=\"_button.type\"\n  (click)=\"output.emit(_button)\"\n>\n  <span class=\"px-2\">{{_button.name}}</span>\n</button>\n\n","import { Location } from '@angular/common';\nimport { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { AlloyLink } from '../link.model';\n\n@Component({\n  selector: 'alloy-link',\n  templateUrl: './link.component.html',\n  styleUrls: ['./link.component.css']\n})\nexport class LinkComponent {\n  _link: AlloyLink;\n  @Input() set link(link: AlloyLink){\n    this._link = link;\n  }\n\n  @Output() output: EventEmitter<AlloyLink>= new EventEmitter<AlloyLink>();\n\n  constructor(private router:Router) { \n    this._link = new AlloyLink();\n  }\n\n  //redirect on click\n  redirectLink() {\n    this.output.emit(this._link);\n    if (this._link.link.includes(\"http\") || this._link.link.includes(\"https\")) {\n      window.location.href = this._link.link;\n      return true;\n    }\n    return this.router.navigateByUrl(this._link.link);\n  }\n}\n","<a [id]=\"_link.id\" [routerLink]=\"\" (click)=\"redirectLink()\" [class]=\"_link.className+' '+ _link.active\">\n    <span class=\"px-2\">{{ _link.name }}</span>\n</a>","import { AlloyIcon } from \"../icon/icon.model\";\nimport { AbstractControl, ValidationErrors, ValidatorFn, Validators } from '@angular/forms';\n\nexport class AlloyInputType{\n  type: string;\n  constructor(res?: any) {\n    if(res){\n      this.type = res.type ? res.type : 'text';\n      switch (this.type){\n        case \"text\":\n        case \"email\":\n        case \"file\":\n        case \"date\":  \n        case \"number\":    \n        case \"search\":   \n        case \"password\":   \n        if(res.icon != undefined){\n          return new AlloyInputTextIcon(res);\n        }else{\n          return new AlloyInputText(res);\n        } \n        case \"textarea\":\n          return new AlloyInputTextArea(res);\n        case \"select\":\n          return new AlloyInputSelect(res); \n        case \"radio\":\n        case \"checkbox\":  \n          return new AlloyInput(res);   \n        default:\n          return new AlloyInputText(res);\n      }\n    }else{\n      return new AlloyInput();\n    }\n  }\n}\n\n\nexport class AlloyInput{\n  id: string;\n  name: string;\n  type: string;\n  label: string;\n  className: string;\n  inputClass: string;\n  readonly: boolean;\n  validators: [];\n  errors: AlloyValidation[];\n  //Only matches password and confirmPassword please update for generic\n  match: boolean;\n  static idGenerator: number = 0;\n  constructor(res?: any) {\n    if (res) {\n      this.id = res.id ? res.id : 'input' + ++AlloyInput.idGenerator;\n      this.name = res.name ? res.name : 'name';\n      this.type = res.type ? res.type : 'text';\n      this.label = res.label ? res.label : 'Name';\n      this.className = res.className ? res.className : 'input-group';\n      this.inputClass = res.inputClass ? res.inputClass : 'form-control';\n      this.readonly = res.readonly ? res.readonly : false;\n      this.match = res.match ? res.match : false;\n      this.errors =  res.errors ? res.errors.map((res: AlloyCustomValidation)=> new AlloyCustomValidation(res)) : []; \n      this.validators =  res.errors ? res.errors.map((res: AlloyCustomValidation)=>  getValidator(new AlloyCustomValidation(res))) : []; \n    } else {\n      this.id = 'input' + ++AlloyInput.idGenerator;\n      this.name = 'name';\n      this.type = 'text';\n      this.label = 'Name';\n      this.className = 'input-group';\n      this.inputClass = 'form-control';\n      this.readonly = false;\n      this.match = false;\n      this.errors = [];\n      this.validators = [];\n    }\n  }\n\n  toString(){\n    return {\n      id: this.id ?? \"input1\",\n      name: this.name ?? \"AlloyInputTextIcon\",\n      type: this.type ?? \"text\",\n      label: this.label ?? \"\",\n      className: this.className ?? \"\",\n      inputClass: this.inputClass ?? \"\",\n      readonly: this.readonly ?? false,\n      match: this.match ?? false,\n      errors: this.errors ?? []\n    }\n  }\n}\n\nexport class AlloyInputText extends AlloyInput {\n  text: string;\n  placeholder: string;\n  constructor(res?: any) {\n    if (res) {\n      super(res);\n      this.text = res.text ? res.text : '';\n      this.placeholder = res.placeholder ? res.placeholder : '';\n    } else {\n      super();\n      this.text = '';\n      this.placeholder = '';\n    }\n  }\n  \n  toString(){\n    return {\n      id: this.id ?? \"input1\",\n      name: this.name ?? \"AlloyInputTextIcon\",\n      type: this.type ?? \"text\",\n      className: this.className ?? \"\",\n      inputClass: this.inputClass ?? \"\",\n      placeholder: this.placeholder ?? \"\",\n      readonly: this.readonly ?? false,\n      text: this.text ?? \"\",\n      label: this.label ?? \"\",\n      match: this.match ?? false,\n      errors: this.errors ?? []\n    }\n  }\n}\n\nexport class AlloyInputTextArea extends AlloyInputText{\n  height: string;\n  constructor(res?: any) {\n    if (res) {\n      super(res);\n      this.height = res.height ? res.height : '100px';\n    } else {\n      super();\n      this.height ='100px';\n    }\n  }\n  toString(){\n    return {\n      id: this.id ?? \"input1\",\n      name: this.name ?? \"AlloyInputTextArea\",\n      type: this.type ?? \"textarea\",\n      className: this.className ?? \"\",\n      inputClass: this.inputClass ?? \"\",\n      placeholder: this.placeholder ?? \"\",\n      readonly: this.readonly ?? false,\n      text: this.text ?? \"\",\n      label: this.label ?? \"\",\n      height: this.height ?? \"100px\",\n      match: this.match ?? false,\n      errors: this.errors ?? []\n    }\n  }\n}\n\nexport class AlloyInputSelect extends AlloyInputText{\n  options: String[];\n  constructor(res?: any) {\n    if (res) {\n      super(res);\n      this.options = res.options ? res.options : [];\n    } else {\n      super();\n      this.options = [];\n    }\n  }\n  toString(){\n    return {\n      id: this.id ?? \"input1\",\n      name: this.name ?? \"AlloyInputSelect\",\n      type: this.type ?? \"select\",\n      className: this.className ?? \"\",\n      inputClass: this.inputClass ?? \"\",\n      placeholder: this.placeholder ?? \"\",\n      readonly: this.readonly ?? false,\n      text: this.text ?? \"\",\n      label: this.label ?? \"\",\n      options: this.options ?? [],\n      match: this.match ?? false,\n      errors: this.errors ?? []\n    }\n  }\n}\n\nexport class AlloyInputTextIcon extends AlloyInputText {\n  icon: AlloyIcon;\n  iconClass: string;\n  constructor(res?: any) {\n    if (res) {\n      super(res);\n      this.icon = res.icon ?  AlloyIcon.getAlloyIcon(res.icon) : new AlloyIcon();\n      this.iconClass = res.iconClass ? res.iconClass : 'input-group-text';\n    } else {\n      super();\n      this.icon = new AlloyIcon();\n      this.iconClass = 'input-group-text';\n    }\n  }\n\n  toString(){\n    return {\n      id: this.id ?? \"input1\",\n      name: this.name ?? \"AlloyInputTextIcon\",\n      type: this.type ?? \"text\",\n      className: this.className ?? \"\",\n      inputClass: this.inputClass ?? \"\",\n      iconClass: this.iconClass ?? \"\",\n      placeholder: this.placeholder ?? \"\",\n      readonly: this.readonly ?? false,\n      text: this.text ?? \"\",\n      label: this.label ?? \"\",\n      icon: this.icon.tostring(),\n      match: this.match ?? false,\n      errors: this.errors ?? []\n    }\n  }\n}\n\n/*---------------------------Validation-----------------*/\nexport function getValidator(validator: AlloyCustomValidation){\n  switch(validator.name){\n    case \"required\":\n      return Validators.required;\n    case \"email\":\n      return Validators.email;\n    case \"minLength\":\n      return Validators.minLength(Number(validator.pattern)); \n    case \"maxLength\":\n      return Validators.maxLength(Number(validator.pattern));\n    case \"pattern\":\n      return Validators.pattern(validator.pattern); \n    case \"custom\":\n      switch (validator.type){\n        case \"passwordStrength\":\n          return passwordStrengthValidator();\n        default:\n          return Validators.required; \n      }\n    default:\n      return Validators.required;   \n  }\n}\n\nexport function matchValidator(control: AbstractControl): ValidatorFn {\n  const password: string = control.get(\"password\").value; // get password from our password form control\n  const confirmPassword: string = control.get(\"confirmPassword\").value; // get password from our confirmPassword form control\n  \n  // if the confirmPassword value is null or empty, don't return an error.\n  if (!confirmPassword?.length) {\n    return null;\n  }\n  // compare the passwords and see if they match.\n  if (password !== confirmPassword) {\n    let errors = {};\n    if(control.get(\"confirmPassword\").errors != undefined){\n      errors = control.get(\"confirmPassword\").errors;\n    }\n    errors[\"mismatch\"] = true;\n    control.get(\"confirmPassword\").setErrors(errors);\n  } else {\n    // if passwords match, don't return an error.\n    return null;\n  }\n}\n\nexport function passwordStrengthValidator(): ValidatorFn {\n  return (control:AbstractControl) : ValidationErrors | null => {\n      const value = control.value;\n      if (!value) {\n          return null;\n      }\n      const hasUpperCase = /[A-Z]+/.test(value);\n      const hasLowerCase = /[a-z]+/.test(value);\n      const hasNumeric = /[0-9]+/.test(value);\n      const passwordValid = hasUpperCase && hasLowerCase && hasNumeric;\n      return !passwordValid ? {custom:true}: null;\n  }\n}\n\nexport class AlloyValidation{\n  name: string;\n  message: string;\n  constructor(res?: any) {\n    if (res) {\n      this.name = res.name ? res.name : 'required';\n      this.message = res.message ? res.message : 'Name is required';\n    } else {\n      this.name = 'required';\n      this.message = 'Name is required';\n    }\n  }\n}\n\nexport class AlloyPatternValidation extends AlloyValidation{\n  pattern: string;\n  constructor(res?: any) {\n    if (res) {\n      super(res);\n      this.pattern = res.pattern ? res.pattern : '';\n    } else {\n      super();\n      this.pattern = '';\n    }\n  }\n}\n\nexport class AlloyCustomValidation extends AlloyPatternValidation{\n  type: string;\n  constructor(res?: any) {\n    if (res) {\n      super(res);\n      this.type = res.type ? res.type : '';\n    } else {\n      super();\n      this.type = '';\n    }\n  }\n}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { AbstractControl, FormControl, FormGroup } from '@angular/forms';\nimport { AlloyInputText, matchValidator } from '../../../cell/input/input.model';\n\n@Component({\n  selector: 'alloy-input-floating-texts',\n  templateUrl: './input-floating-texts.component.html',\n  styleUrls: ['./input-floating-texts.component.css']\n})\nexport class InputFloatingTextsComponent {\n  _inputFloatingTexts: AlloyInputText[];\n  @Input() set inputFloatingTexts(inputFloatingTexts: AlloyInputText[]) {\n  \tthis._inputFloatingTexts = inputFloatingTexts;\n    this.inputForm = this.createData(this._inputFloatingTexts);\n  }\n  //reactive form for data input\n  inputForm: FormGroup;\n  errors: string[];\n  match: boolean;\n\n  @Output() output: EventEmitter<AbstractControl<any,any>> = new EventEmitter<AbstractControl<any,any>>();\n\n  constructor() { \n    this._inputFloatingTexts = [];\n    this.inputForm = new FormGroup({});\n    this.errors = [];\n    this.match = false;\n  }\n\n  // convenience getter for easy access to form fields\n  get formControl() {\n    return this.inputForm.controls;\n  }\n\n  //Used to create the form group\n  createData(columns: AlloyInputText[]) {\n    this.inputForm = new FormGroup({});\n    let group = {};\n    columns.forEach(record=>{\n      Object.entries(record).forEach((column: any) => {\n        if (column[0] === 'name') {\n          group[column[1]] = new FormControl(record.text,record.validators); \n        }\n        if(column[0] === 'match'){\n          this.match = column[1];\n        }\n      });\n    });\n    if(this.match){\n      return new FormGroup(group,{validators: matchValidator});\n    }\n    return new FormGroup(group);\n  }\n\n  formOutput(){\n    let _output = this.inputForm.value;\n    this.inputForm.status == \"VALID\" ? _output[\"error\"] = false : _output[\"error\"] = true;\n    this.output.emit(this.inputForm.value);\n  }\n\n  getError(inputField: AlloyInputText){\n    this.getErrorMessage(inputField)\n    return this.inputForm.get(inputField.name).errors;\n  }\n\n  getErrorMessage(inputField: AlloyInputText){\n    this.errors = [];\n    if(this.inputForm.get(inputField.name).errors != undefined){\n      Object.entries(this.inputForm.get(inputField.name).errors).forEach((row: any) => {\n        if(inputField.errors != undefined){\n          let errorMessasge = inputField.errors.find(msg => msg.name.toLocaleLowerCase() === row[0].toLocaleLowerCase());\n          if(errorMessasge != undefined){\n            this.errors.push(errorMessasge.message);\n          }\n        }\n      });\n    }\n  }\n\n  getTouched(name){\n    return this.inputForm.get(name).touched;\n  }\n}\n","<form\n  [formGroup]=\"inputForm\"\n  (ngSubmit)=\"output.emit(inputForm.value)\"\n  #form=\"ngForm\"\n>\n  <div class=\"row\">\n    <div [class]=\"_inputFloatingText.className\" *ngFor=\"let _inputFloatingText of _inputFloatingTexts\">\n        <div class=\"form-floating\">\n          <input\n            [id]=\"_inputFloatingText.id\"\n            [type]=\"_inputFloatingText.type\"\n            [formControlName]=\"_inputFloatingText.name\"\n            [placeholder]=\"_inputFloatingText.placeholder\"\n            [readonly]=\"_inputFloatingText.readonly\"\n            class=\"form-control\"\n            (input)=\"formOutput(_inputFloatingText)\"\n          />\n          <label [for]=\"_inputFloatingText.id\">{{ _inputFloatingText.label }}</label>\n        </div>\n      <div\n        *ngIf=\"getTouched(_inputFloatingText.name)\"\n        class=\"alert text-start alert-text-danger m-0 p-0\"\n      >\n        <div *ngIf=\"getError(_inputFloatingText)\">\n          <div *ngFor=\"let error of errors\">\n            {{ error }}\n          </div>\n        </div>\n      </div>\n    </div>\n  </div>\n</form>\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { AbstractControl, FormControl, FormGroup, ValidatorFn, Validators } from '@angular/forms';\nimport { AlloyInputTextIcon, matchValidator } from '../../../cell/input/input.model';\n\n@Component({\n  selector: 'alloy-input-icon-texts',\n  templateUrl: './input-icon-texts.component.html',\n  styleUrls: ['./input-icon-texts.component.css']\n})\nexport class InputIconTextsComponent {\n  _inputIconTexts: AlloyInputTextIcon[];\n  @Input() set inputIconTexts(inputIconTexts: AlloyInputTextIcon[]) {\n  \tthis._inputIconTexts = inputIconTexts;\n    this.inputForm = this.createData(this._inputIconTexts);\n  }\n  //reactive form for data input\n  inputForm: FormGroup;\n  errors: string[];\n  match: boolean;\n\n  @Output() output: EventEmitter<AbstractControl<any,any>> = new EventEmitter<AbstractControl<any,any>>();\n\n  constructor() { \n    this._inputIconTexts = [];\n    this.inputForm = new FormGroup({});\n    this.errors = [];\n    this.match = false;\n  }\n\n  // convenience getter for easy access to form fields\n  get formControl() {\n    return this.inputForm.controls;\n  }\n\n  //Used to create the form group\n  createData(columns: AlloyInputTextIcon[]) {\n    this.inputForm = new FormGroup({});\n    let group = {};\n    columns.forEach(record=>{\n      Object.entries(record).forEach((column: any) => {\n        if (column[0] === 'name') {\n          group[column[1]] = new FormControl(record.text,record.validators); \n        }\n        if(column[0] === 'match'){\n          this.match = column[1];\n        }\n      });\n    });\n    if(this.match){\n      return new FormGroup(group,{validators: matchValidator});\n    }\n    return new FormGroup(group);\n  }\n\n  formOutput(){\n    let _output = this.inputForm.value;\n    this.inputForm.status == \"VALID\" ? _output[\"error\"] = false : _output[\"error\"] = true;\n    this.output.emit(this.inputForm.value);\n  }\n\n  getError(inputField: AlloyInputTextIcon){\n    this.getErrorMessage(inputField)\n    return this.inputForm.get(inputField.name).errors;\n  }\n\n  getErrorMessage(inputField: AlloyInputTextIcon){\n    this.errors = [];\n    if(this.inputForm.get(inputField.name).errors != undefined){\n      Object.entries(this.inputForm.get(inputField.name).errors).forEach((row: any) => {\n        if(inputField.errors != undefined){\n          let errorMessasge = inputField.errors.find(msg => msg.name.toLocaleLowerCase() === row[0].toLocaleLowerCase());\n          if(errorMessasge != undefined){\n            this.errors.push(errorMessasge.message);\n          }\n        }\n      });\n    }\n  }\n\n  getTouched(name){\n    return this.inputForm.get(name).touched;\n  }\n\n  selectedRadio(input){\n    this.inputForm.get(input.name).patchValue(input.label);\n    this.formOutput();\n  }\n\n  selectCheck(event,input){\n    if(event.target.checked){\n      this.inputForm.get(input.name).patchValue(input.label);\n    }else{\n      this.inputForm.get(input.name).patchValue(\"\");\n    }\n    this.formOutput();\n  }\n\n  onFileChange(event,input) {\n    if (event.target.files && event.target.files.length) {\n      this.inputForm.get(input.name).patchValue(event.target.files);\n      this.formOutput();\n    }\n  }\n}\n","<form\n  [formGroup]=\"inputForm\"\n  (ngSubmit)=\"output.emit(inputForm.value)\"\n  #form=\"ngForm\"\n>\n  <div class=\"row\">\n    <div [class]=\"_inputIconText.className\" *ngFor=\"let _inputIconText of _inputIconTexts\">\n        <div [ngSwitch]=\"_inputIconText.type\">\n          <div *ngSwitchCase=\"'text'\">\n            <div class=\"input-group py-2\">\n              <span class=\"input-group-text\">\n                <alloy-icon [icon]=\"_inputIconText.icon\"></alloy-icon>\n              </span>\n              <div class=\"form-floating\">\n                <input\n                  [id]=\"_inputIconText.id\"\n                  [type]=\"_inputIconText.type\"\n                  [formControlName]=\"_inputIconText.name\"\n                  [placeholder]=\"_inputIconText.placeholder\"\n                  [readonly]=\"_inputIconText.readonly\"\n                  class=\"form-control\"\n                  (input)=\"formOutput()\"\n                />\n                <label [for]=\"_inputIconText.id\">{{ _inputIconText.label }}</label>\n              </div>\n            </div>\n          </div>\n          <div *ngSwitchCase=\"'email'\">\n            <div class=\"input-group py-2\">\n              <span class=\"input-group-text\">\n                <alloy-icon [icon]=\"_inputIconText.icon\"></alloy-icon>\n              </span>\n              <div class=\"form-floating\">\n                <input\n                  [id]=\"_inputIconText.id\"\n                  [type]=\"_inputIconText.type\"\n                  [formControlName]=\"_inputIconText.name\"\n                  [placeholder]=\"_inputIconText.placeholder\"\n                  [readonly]=\"_inputIconText.readonly\"\n                  class=\"form-control\"\n                  (input)=\"formOutput()\"\n                />\n                <label [for]=\"_inputIconText.id\">{{ _inputIconText.label }}</label>\n              </div>\n            </div>\n          </div>\n          <div *ngSwitchCase=\"'password'\">\n            <div class=\"input-group py-2\">\n              <span class=\"input-group-text\">\n                <alloy-icon [icon]=\"_inputIconText.icon\"></alloy-icon>\n              </span>\n              <div class=\"form-floating\">\n                <input\n                  [id]=\"_inputIconText.id\"\n                  [type]=\"_inputIconText.type\"\n                  [formControlName]=\"_inputIconText.name\"\n                  [placeholder]=\"_inputIconText.placeholder\"\n                  [readonly]=\"_inputIconText.readonly\"\n                  class=\"form-control\"\n                  (input)=\"formOutput()\"\n                />\n                <label [for]=\"_inputIconText.id\">{{ _inputIconText.label }}</label>\n              </div>\n            </div>\n          </div>\n          <div *ngSwitchCase=\"'file'\">\n            <div class=\"input-group py-2\">\n              <span class=\"input-group-text\">\n                <alloy-icon [icon]=\"_inputIconText.icon\"></alloy-icon>\n              </span>\n              <div class=\"form-floating\">\n                <input\n                  [id]=\"_inputIconText.id\"\n                  [type]=\"_inputIconText.type\"\n                  [placeholder]=\"_inputIconText.placeholder\"\n                  [readonly]=\"_inputIconText.readonly\"\n                  class=\"form-control\"\n                  (change)=\"onFileChange($event,_inputIconText)\"\n                  multiple\n                />\n                <label [for]=\"_inputIconText.id\">{{ _inputIconText.label }}</label>\n              </div>\n            </div>\n          </div>\n          <div *ngSwitchCase=\"'number'\">\n            <div class=\"input-group py-2\">\n              <span class=\"input-group-text\">\n                <alloy-icon [icon]=\"_inputIconText.icon\"></alloy-icon>\n              </span>\n              <div class=\"form-floating\">\n                <input\n                  [id]=\"_inputIconText.id\"\n                  [type]=\"_inputIconText.type\"\n                  [formControlName]=\"_inputIconText.name\"\n                  [placeholder]=\"_inputIconText.placeholder\"\n                  [readonly]=\"_inputIconText.readonly\"\n                  class=\"form-control\"\n                  (input)=\"formOutput()\"\n                />\n                <label [for]=\"_inputIconText.id\">{{ _inputIconText.label }}</label>\n              </div>\n            </div>\n          </div>\n          <div *ngSwitchCase=\"'search'\">\n            <div class=\"input-group py-2\">\n              <span class=\"input-group-text\">\n                <alloy-icon [icon]=\"_inputIconText.icon\"></alloy-icon>\n              </span>\n              <div class=\"form-floating\">\n                <input\n                  [id]=\"_inputIconText.id\"\n                  [type]=\"_inputIconText.type\"\n                  [formControlName]=\"_inputIconText.name\"\n                  [placeholder]=\"_inputIconText.placeholder\"\n                  [readonly]=\"_inputIconText.readonly\"\n                  class=\"form-control\"\n                  (input)=\"formOutput()\"\n                />\n                <label [for]=\"_inputIconText.id\">{{ _inputIconText.label }}</label>\n              </div>\n            </div>\n          </div>\n          <div *ngSwitchCase=\"'date'\">\n            <div class=\"input-group py-2\">\n              <span class=\"input-group-text\">\n                <alloy-icon [icon]=\"_inputIconText.icon\"></alloy-icon>\n              </span>\n              <div class=\"form-floating\">\n                <input\n                  [id]=\"_inputIconText.id\"\n                  [type]=\"_inputIconText.type\"\n                  [formControlName]=\"_inputIconText.name\"\n                  [placeholder]=\"_inputIconText.placeholder\"\n                  [readonly]=\"_inputIconText.readonly\"\n                  class=\"form-control\"\n                  (input)=\"formOutput()\"\n                />\n                <label [for]=\"_inputIconText.id\">{{ _inputIconText.label }}</label>\n              </div>\n            </div>\n          </div>\n          <div *ngSwitchCase=\"'textarea'\">\n            <div class=\"form-floating\">\n              <textarea\n                [id]=\"_inputIconText.id\"\n                [formControlName]=\"_inputIconText.name\"\n                [placeholder]=\"_inputIconText.placeholder\"\n                [readonly]=\"_inputIconText.readonly\"\n                class=\"form-control\"\n                [style.height]=\"_inputIconText.height\"\n                (input)=\"formOutput()\"\n              ></textarea>\n              <label [for]=\"_inputIconText.id\">{{ _inputIconText.label }}</label>\n            </div>\n          </div>\n          <div *ngSwitchCase=\"'select'\">\n            <div class=\"form-floating\">\n              <select\n                [id]=\"_inputIconText.id\"\n                [formControlName]=\"_inputIconText.name\"\n                [placeholder]=\"_inputIconText.placeholder\"\n                aria-label=\"Floating label select\"\n                class=\"form-select\"\n                (change)=\"formOutput()\"\n              >\n                <option selected></option>\n                <option *ngFor=\"let option of _inputIconText.options\"  [value]=\"option\">\n                  {{ option }}\n                </option>\n              </select>\n              <label [for]=\"_inputIconText.id\">{{ _inputIconText.label }}</label>\n            </div>\n          </div>\n          <div *ngSwitchCase=\"'checkbox'\">\n            <div class=\"form-check\">\n              <input\n                [id]=\"_inputIconText.id\"\n                [type]=\"_inputIconText.type\"\n                [formControlName]=\"_inputIconText.name\"\n                class=\"form-check-input\"\n                (change)=\"selectCheck($event,_inputIconText)\"\n              />\n              <label [for]=\"_inputIconText.id\" class=\"form-check-label\">{{ _inputIconText.label }}</label>\n            </div>\n          </div>\n          <div *ngSwitchCase=\"'radio'\">\n            <div class=\"form-check\">\n              <input\n                [id]=\"_inputIconText.id\"\n                [type]=\"_inputIconText.type\"\n                [formControlName]=\"_inputIconText.name\"\n                [name]=\"_inputIconText.name\"\n                class=\"form-check-input\"\n                (change)=\"selectedRadio(_inputIconText)\"\n              />\n              <label [for]=\"_inputIconText.id\" class=\"form-check-label\">{{ _inputIconText.label }}</label>\n            </div>\n          </div>\n          <div *ngSwitchDefault>\n            <div class=\"input-group py-2\">\n              <span class=\"input-group-text\">\n                <alloy-icon [icon]=\"_inputIconText.icon\"></alloy-icon>\n              </span>\n              <div class=\"form-floating\">\n                <input\n                  [id]=\"_inputIconText.id\"\n                  [type]=\"_inputIconText.type\"\n                  [formControlName]=\"_inputIconText.name\"\n                  [placeholder]=\"_inputIconText.placeholder\"\n                  [readonly]=\"_inputIconText.readonly\"\n                  class=\"form-control\"\n                  (input)=\"formOutput()\"\n                />\n                <label [for]=\"_inputIconText.id\">{{ _inputIconText.label }}</label>\n              </div>\n            </div>\n          </div>\n        </div>\n      <div\n        *ngIf=\"getTouched(_inputIconText.name)\"\n        class=\"alert text-start alert-text-danger m-0 p-0\"\n      >\n        <div *ngIf=\"getError(_inputIconText)\">\n          <div *ngFor=\"let error of errors\">\n            {{ error }}\n          </div>\n        </div>\n      </div>\n    </div>\n  </div>\n</form>\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { AlloyButtonIcon } from '../button.model';\n\n@Component({\n  selector: 'alloy-button-icon',\n  templateUrl: './button-icon.component.html',\n  styleUrls: ['./button-icon.component.css']\n})\nexport class ButtonIconComponent {\n  _buttonIcon: AlloyButtonIcon;\n  @Input() set buttonIcon(buttonIcon: AlloyButtonIcon){\n    this._buttonIcon = buttonIcon;\n  }\n  @Output() output: EventEmitter<AlloyButtonIcon>= new EventEmitter<AlloyButtonIcon>();\n  constructor() {\n    this._buttonIcon = new AlloyButtonIcon();\n  }\n}\n","<button\n  [id]=\"_buttonIcon.id\"\n  [class]=\"_buttonIcon.className+' '+ _buttonIcon.active\"\n  [type]=\"_buttonIcon.type\"\n  (click)=\"output.emit(_buttonIcon)\"\n>\n  <alloy-icon [icon]=\"_buttonIcon.icon\" ></alloy-icon>\n  <span class=\"px-2\">{{_buttonIcon.name}}</span>\n</button>\n\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { AlloyLinkIcon } from '../link.model';\n\n@Component({\n  selector: 'alloy-link-icon',\n  templateUrl: './link-icon.component.html',\n  styleUrls: ['./link-icon.component.css']\n})\nexport class LinkIconComponent {\n  _linkIcon: AlloyLinkIcon;\n  @Input() set linkIcon(linkIcon: AlloyLinkIcon){\n    this._linkIcon = linkIcon;\n  }\n\n  @Output() output: EventEmitter<AlloyLinkIcon>= new EventEmitter<AlloyLinkIcon>();\n\n  constructor(private router:Router) { \n    this._linkIcon = new AlloyLinkIcon();\n  }\n  //redirect on click\n  redirectLink() {\n    this.output.emit(this._linkIcon);\n    if (this._linkIcon.link.includes(\"http\") || this._linkIcon.link.includes(\"https\")) {\n      window.location.href = this._linkIcon.link;\n      return true;\n    }\n    return this.router.navigateByUrl(this._linkIcon.link);\n  }\n}\n","<a [id]=\"_linkIcon.id\" [routerLink]=\"\" (click)=\"redirectLink()\" [class]=\"_linkIcon.className+' '+ _linkIcon.active\">\n    <alloy-icon [icon]=\"_linkIcon.icon\"></alloy-icon>\n    <span class=\"px-2\">{{ _linkIcon.name }}</span>\n</a>","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { AbstractControl, FormControl, FormGroup } from '@angular/forms';\nimport { AlloyInputText } from '../input.model';\n\n@Component({\n  selector: 'alloy-input-text',\n  templateUrl: './input-text.component.html',\n  styleUrls: ['./input-text.component.css']\n})\nexport class InputTextComponent {\n  _inputText: AlloyInputText;\n  @Input() set inputText(inputText: AlloyInputText) {\n  \tthis._inputText = inputText;\n    this.inputForm = this.createData(this._inputText);\n  }\n  //reactive form for data input\n  inputForm: FormGroup;\n  errors: string[];\n\n  @Output() output: EventEmitter<AbstractControl<any,any>> = new EventEmitter<AbstractControl<any,any>>();\n\n  constructor() { \n    this._inputText = new AlloyInputText();\n    this.inputForm = new FormGroup({});\n    this.errors = [];\n  }\n\n  //Used to create the form group\n  createData(input: AlloyInputText) {\n    this.inputForm = new FormGroup({});\n    let group = {};\n      Object.entries(input).forEach((column: any) => {\n        if (column[0] === 'name') {\n          group[column[1]] = new FormControl(input.text,input.validators); \n        }\n      });\n    return new FormGroup(group);\n  }\n\n  getError(inputField: AlloyInputText){\n    this.getErrorMessage(inputField)\n    return this.inputForm.get(inputField.name).errors;\n  }\n\n  getErrorMessage(inputField: AlloyInputText){\n    this.errors = [];\n    if(this.inputForm.get(inputField.name).errors != undefined){\n      Object.entries(this.inputForm.get(inputField.name).errors).forEach((row: any) => {\n        if(inputField.errors != undefined){\n          let errorMessasge = inputField.errors.find(msg => msg.name.toLocaleLowerCase() === row[0].toLocaleLowerCase());\n          if(errorMessasge != undefined){\n            this.errors.push(errorMessasge.message);\n          }\n        }\n      });\n    }\n  }\n\n  formOutput(){\n    let _output = this.inputForm.value;\n    this.inputForm.status == \"VALID\" ? _output[\"error\"] = false : _output[\"error\"] = true;\n    this.output.emit(this.inputForm.value);\n  }\n\n  getTouched(name){\n    return this.inputForm.get(name).touched;\n  }\n\n  selectedRadio(input){\n    this.inputForm.get(input.name).patchValue(input.label);\n    this.formOutput();\n  }\n\n  selectCheck(event,input){\n    if(event.target.checked){\n      this.inputForm.get(input.name).patchValue(input.label);\n    }else{\n      this.inputForm.get(input.name).patchValue(\"\");\n    }\n    this.formOutput();\n  }\n\n  onFileChange(event,input) {\n    if (event.target.files && event.target.files.length) {\n      this.inputForm.get(input.name).patchValue(event.target.files);\n      this.formOutput();\n    }\n  }\n}\n","<form\n  [formGroup]=\"inputForm\"\n  (ngSubmit)=\"output.emit(inputForm.value)\"\n  #form=\"ngForm\"\n>\n  <div class=\"row\">\n    <div [class]=\"_inputText.className\">\n      <div [ngSwitch]=\"_inputText.type\">\n        <div *ngSwitchCase=\"'text'\">\n          <label [for]=\"_inputText.id\" class=\"form-label m-2\">{{_inputText.label}}</label>\n            <input\n              [id]=\"_inputText.id\"\n              [type]=\"_inputText.type\"\n              [formControlName]=\"_inputText.name\"\n              [placeholder]=\"_inputText.placeholder\"\n              [readonly]=\"_inputText.readonly\"\n              [class]=\"_inputIconText.inputClass\"\n              (input)=\"formOutput()\"\n            />\n        </div>\n        <div *ngSwitchCase=\"'email'\">\n          <label [for]=\"_inputText.id\" class=\"form-label m-2\">{{_inputText.label}}</label>\n            <input\n              [id]=\"_inputText.id\"\n              [type]=\"_inputText.type\"\n              [formControlName]=\"_inputText.name\"\n              [placeholder]=\"_inputText.placeholder\"\n              [readonly]=\"_inputText.readonly\"\n              [class]=\"_inputIconText.inputClass\"\n              (input)=\"formOutput()\"\n            />\n        </div>\n        <div *ngSwitchCase=\"'password'\">\n          <label [for]=\"_inputText.id\" class=\"form-label m-2\">{{_inputText.label}}</label>\n            <input\n              [id]=\"_inputText.id\"\n              [type]=\"_inputText.type\"\n              [formControlName]=\"_inputText.name\"\n              [placeholder]=\"_inputText.placeholder\"\n              [readonly]=\"_inputText.readonly\"\n              [class]=\"_inputIconText.inputClass\"\n              (input)=\"formOutput()\"\n            />\n        </div>\n        <div *ngSwitchCase=\"'file'\">\n          <label [for]=\"_inputText.id\" class=\"form-label m-2\">{{_inputText.label}}</label>\n          <input\n            [id]=\"_inputText.id\"\n            [type]=\"_inputText.type\"\n            [placeholder]=\"_inputText.placeholder\"\n            [readonly]=\"_inputText.readonly\"\n            [class]=\"_inputIconText.inputClass\"\n            (change)=\"onFileChange($event, _inputText)\"\n            multiple\n          />\n        </div>\n        <div *ngSwitchCase=\"'number'\">\n          <label [for]=\"_inputText.id\" class=\"form-label m-2\">{{_inputText.label}}</label>\n            <input\n              [id]=\"_inputText.id\"\n              [type]=\"_inputText.type\"\n              [formControlName]=\"_inputText.name\"\n              [placeholder]=\"_inputText.placeholder\"\n              [readonly]=\"_inputText.readonly\"\n              [class]=\"_inputIconText.inputClass\"\n              (input)=\"formOutput()\"\n            />\n        </div>\n        <div *ngSwitchCase=\"'search'\">\n          <label [for]=\"_inputText.id\" class=\"form-label m-2\">{{_inputText.label}}</label>\n            <input\n              [id]=\"_inputText.id\"\n              [type]=\"_inputText.type\"\n              [formControlName]=\"_inputText.name\"\n              [placeholder]=\"_inputText.placeholder\"\n              [readonly]=\"_inputText.readonly\"\n              [class]=\"_inputIconText.inputClass\"\n              (input)=\"formOutput()\"\n            />\n        </div>\n        <div *ngSwitchCase=\"'date'\">\n          <label [for]=\"_inputText.id\" class=\"form-label m-2\">{{_inputText.label}}</label>\n            <input\n              [id]=\"_inputText.id\"\n              [type]=\"_inputText.type\"\n              [formControlName]=\"_inputText.name\"\n              [placeholder]=\"_inputText.placeholder\"\n              [readonly]=\"_inputText.readonly\"\n              [class]=\"_inputIconText.inputClass\"\n              (input)=\"formOutput()\"\n            />\n        </div>\n        <div *ngSwitchCase=\"'textarea'\">\n          <label [for]=\"_inputText.id\"  class=\"form-label m-2\">{{ _inputText.label }}</label>\n            <textarea\n              [id]=\"_inputText.id\"\n              [formControlName]=\"_inputText.name\"\n              [placeholder]=\"_inputText.placeholder\"\n              [readonly]=\"_inputText.readonly\"\n              [class]=\"_inputIconText.inputClass\"\n              [style.height]=\"_inputText.height\"\n              (input)=\"formOutput()\"\n            ></textarea>\n        </div>\n        <div *ngSwitchCase=\"'select'\">\n          <label [for]=\"_inputText.id\">{{ _inputText.label }}</label>\n          <select\n            [id]=\"_inputText.id\"\n            [formControlName]=\"_inputText.name\"\n            [placeholder]=\"_inputText.placeholder\"\n            aria-label=\"Floating label select\"\n            class=\"form-select\"\n            (change)=\"formOutput()\"\n          >\n            <option selected></option>\n            <option\n              *ngFor=\"let option of _inputText.options\"\n              [value]=\"option\"\n            >\n              {{ option }}\n            </option>\n          </select>\n        </div>\n        <div *ngSwitchCase=\"'checkbox'\">\n          <div class=\"form-check\">\n            <input\n              [id]=\"_inputText.id\"\n              [type]=\"_inputText.type\"\n              [formControlName]=\"_inputText.name\"\n              class=\"form-check-input\"\n              (change)=\"selectCheck($event, _inputText)\"\n            />\n            <label [for]=\"_inputText.id\" class=\"form-check-label\">{{\n              _inputText.label\n            }}</label>\n          </div>\n        </div>\n        <div *ngSwitchCase=\"'radio'\">\n          <div class=\"form-check\">\n            <input\n              [id]=\"_inputText.id\"\n              [type]=\"_inputText.type\"\n              [formControlName]=\"_inputText.name\"\n              [name]=\"_inputText.name\"\n              class=\"form-check-input\"\n              (change)=\"selectedRadio(_inputText)\"\n            />\n            <label [for]=\"_inputText.id\" class=\"form-check-label\">{{\n              _inputText.label\n            }}</label>\n          </div>\n        </div>\n        <div *ngSwitchDefault>\n          <label [for]=\"_inputText.id\" class=\"form-label m-2\">{{_inputText.label}}</label>\n            <input\n              [id]=\"_inputText.id\"\n              [type]=\"_inputText.type\"\n              [formControlName]=\"_inputText.name\"\n              [placeholder]=\"_inputText.placeholder\"\n              [readonly]=\"_inputText.readonly\"\n              [class]=\"_inputIconText.inputClass\"\n              (input)=\"formOutput()\"\n            />\n        </div>\n      </div>\n      <div\n        *ngIf=\"getTouched(_inputText.name)\"\n        class=\"alert text-start alert-text-danger m-0 p-0\"\n      >\n        <div *ngIf=\"getError(_inputText)\">\n          <div *ngFor=\"let error of errors\">\n            {{ error }}\n          </div>\n        </div>\n      </div>\n    </div>\n  </div>\n</form>\n","import { AlloyButton, AlloyButtonIcon } from \"../../cell/button/button.model\";\nimport { AlloyLink, AlloyLinkIcon, AlloyLinkLogo } from \"../../cell/link/link.model\";\n\nexport class Bar{\n    id: string;\n    className: string;\n    selected: string;\n    static idGenerator: number = 0;\n    constructor(res?: any){\n      if(res){\n        this.id = res.id ? res.id : \"buttonBar\" + ++AlloyButtonBar.idGenerator;\n        this.className = res.className ? res.className : \"d-flex justify-content-center\";\n        this.selected = res.selected ? res.selected : \"\";\n      }else{\n        this.id = \"buttonBar\" + ++AlloyButtonBar.idGenerator;\n        this.className = \"d-flex justify-content-center\";\n        this.selected = \"\";\n      }\n    }\n    toString(){\n      return {\n          id: this.id ?? \"buttonBar1\",\n          className: this.className ?? \"d-flex justify-content-center\",\n          selected: this.selected ?? \"active\"\n      }\n  }\n}\n\nexport class AlloyButtonBar extends Bar{\n    type: string;\n    buttons: AlloyButton[];\n    constructor(res?: any){\n      if(res){\n        super(res);\n        this.type = res.type ? res.type : 'AlloyButton';\n        switch(this.type){\n          case \"AlloyButton\":\n            this.buttons = res.buttons ? res.buttons.map(i=> new AlloyButton(i)) : [];\n            break;\n          case \"AlloyButtonIcon\":\n          case \"AlloyIconButton\":\n            this.buttons = res.buttons ? res.buttons.map(i=> new AlloyButtonIcon(i)) : [];\n            break;  \n          default:\n            this.buttons = res.buttons ? res.buttons.map(i=> new AlloyButton(i)) : [];\n            break;\n         }\n      }else{\n        super()\n        this.type = 'AlloyButton';\n        this.buttons = [];\n      }\n    }\n\n    toString(){\n        return {\n            id: this.id ?? \"buttonBar1\",\n            className: this.className ?? \"d-flex justify-content-center\",\n            selected: this.selected ?? \"active\",\n            type: this.type ?? \"AlloyButton\",\n            buttons: this.buttons.map(s=>s.tostring()) ?? []\n        }\n    }\n}\n\nexport class AlloyLinkBar extends Bar{\n  type: string;\n  static idGenerator: number = 0;\n  links: AlloyLink[];\n  linkClass: string;\n  constructor(res?: any){\n    if(res){\n      super(res);\n      this.type = res.type ? res.type : 'AlloyLink';\n      this.linkClass = res.linkClass ? res.linkClass : \"nav-item\";\n      switch(this.type){\n        case \"AlloyLink\":\n          this.links = res.links ? res.links.map(i=> new AlloyLink(i)) : [];\n          break;\n        case \"AlloyLinkIcon\":\n        case \"AlloyIconLink\":\n          this.links = res.links ? res.links.map(i=> new AlloyLinkIcon(i)) : [];\n          break;  \n        case \"AlloyLinkLogo\":\n          this.links = res.links ? res.links.map(i=> new AlloyLinkLogo(i)) : [];\n          break;  \n        default:\n          this.links = res.links ? res.links.map(i=> new AlloyLink(i)) : [];\n          break;\n        }\n    }else{\n      super();\n      this.type = 'AlloyLink';\n      this.linkClass = \"nav-item\";\n      this.links = [];\n    }\n  }\n\n  toString(){\n      return {\n          id: this.id ?? \"linkBar1\",\n          className: this.className ?? \"d-flex justify-content-center\",\n          selected: this.selected ?? \"active\",\n          type: this.type ?? \"AlloyButton\",\n          links: this.links.map(s=>s.tostring()) ?? []\n      }\n  }\n}\n\nexport class AlloySideBar extends AlloyLinkBar{\n  logo: AlloyLinkLogo;\n  close: string;\n  constructor(res?: any){\n    if(res){\n      super(res);\n      this.logo =  res.logo ? new AlloyLinkLogo(res.logo) :  new AlloyLinkLogo();\n      this.close = res.close ? res.close : \"\";\n    }else{\n      super();\n      this.logo = new AlloyLinkLogo();\n      this.close = \"\";\n    }\n  }\n}","import { AlloyIcon} from \"../../cell/icon/icon.model\";\nimport { AlloyButtonBar, AlloyLinkBar, Bar } from \"../bar/bar.model\";\n\nexport class CardItem {\n  id: string;\n  name: string;\n  className: string;\n  show: boolean;\n  static idGenerator: number = 0;\n  constructor(res?: any) {\n    if (res) {\n      this.id = res.id ? res.id : 'cardItem' + ++CardItem.idGenerator;\n      this.className = res.className ? res.className : '';\n      this.name = res.name ? res.name : 'Card Item';\n      this.show = res.show ? res.show : true;\n    } else {\n      this.id = 'cardItem';\n      this.className = '';\n      this.name = 'Card Item';\n      this.show = true;\n    }\n  }\n}\n\nexport class AlloyLogo{\n  imageUrl: string;\n  alt: string;\n  width: string;\n  height: string;\n  constructor(res?: any){\n    if(res){\n      this.imageUrl = res.imageUrl ? res.imageUrl : \"https://alloymobile.blob.core.windows.net/alloymobile/alloymobile.png\";\n      this.alt = res.alt ? res.alt : \"Alloymobile\";\n      this.width = res.width ? res.width : \"auto\";\n      this.height = res.height ? res.height : \"auto\";\n    }else{\n      this.imageUrl = \"https://alloymobile.blob.core.windows.net/alloymobile/alloymobile.png\";\n      this.alt = \"Alloymobile\";\n      this.width = \"72\";\n      this.height = \"auto\";\n    }\n  }\n}\n\nexport class AlloyCard{\n    id: string;\n    className: string;\n    body: CardItem;\n    fields: any\n    link: string;\n    static idGenerator: number = 0;\n    constructor(res?: any) {\n      if (res) {\n        this.id = res.id ? res.id : 'card' + ++AlloyCard.idGenerator;\n        this.className = res.className ? res.className : 'card border m-2 shadow';\n        this.link = res.link ? res.link : '';\n        this.body = res.body ? new CardItem(res.body) : new CardItem();\n        this.fields = res.fields ? res.fields :  new CardItem();\n      } else {\n        this.id = 'card' + ++AlloyCard.idGenerator;\n        this.className = 'card border m-2 shadow';\n        this.link = '';\n        this.body = new CardItem();\n        this.fields = new CardItem();\n      }\n    }\n}\n\nexport class AlloyCardAction extends AlloyCard{\n  action: Bar;\n  type: string\n  constructor(res?){\n   if(res){\n     super(res);\n     this.type = res.type ? res.type : \"AlloyButtonBar\";\n     switch(this.type){\n      case \"AlloyButtonBar\":\n        this.action = res.action ? new AlloyButtonBar(res.action) : new AlloyButtonBar();\n        break;\n      case \"AlloyLinkBar\":\n        this.action = res.action ?  new AlloyLinkBar(res.action) : new AlloyLinkBar();\n        break;   \n      default:\n        this.action = res.action ? new AlloyButtonBar(res.action) : new AlloyButtonBar();\n        break;\n     }\n   }else{\n     super();\n     this.type = \"AlloyButtonBar\";\n     this.action = new AlloyButtonBar();\n   }\n  }\n}\n\n\nexport class AlloyCardIcon extends AlloyCard {\n  icon: AlloyIcon;\n  iconClass: string;\n  textClass: string;\n  constructor(res?: any) {\n    if (res) {\n        super(res)  \n        this.icon = res.icon ? new AlloyIcon(res.icon) : new AlloyIcon();\n        this.iconClass = res.iconClass ? res.iconClass : 'col-4 icon-lg rounded-circle bg-warning text-white mb-0';\n        this.textClass = res.textClass ? res.textClass : 'col-8';\n    } else {\n        super()  \n        this.iconClass = 'icon-lg rounded-circle bg-warning text-white mb-0';\n        this.icon = new AlloyIcon();\n        this.textClass = 'col-8';\n    }\n  }\n}\n\nexport class AlloyCardIconAction extends AlloyCardAction{\n  icon: AlloyIcon;\n  iconClass: string;\n  textClass: string;\n  constructor(res?){\n   if(res){\n     super(res);\n     this.icon = res.icon ? AlloyIcon.getAlloyIcon(res.icon) : new AlloyIcon();\n     this.iconClass = res.iconClass ? res.iconClass : 'col-4 icon-lg rounded-circle bg-warning text-white mb-0';\n     this.textClass = res.textClass ? res.textClass : 'col-8';\n   }else{\n     super();\n     this.iconClass = 'icon-lg rounded-circle bg-warning text-white mb-0';\n     this.icon = new AlloyIcon();\n     this.textClass = 'col-8';\n   }\n  }\n}\n\nexport class AlloyCardImage extends AlloyCard {\n  image: AlloyLogo;\n  imageClass: string;\n  textClass: string;\n  constructor(res?: any) {\n    if (res) {\n        super(res)  \n        this.image = res.image ? new AlloyLogo(res.image) :  new AlloyLogo();\n        this.imageClass = res.imageClass ? res.imageClass : \"card-img-top rounded p-2\";\n        this.textClass = res.textClass ? res.textClass : 'col-8';\n    } else {\n        super()  \n        this.image = new AlloyLogo();\n        this.imageClass = 'card-img-top rounded p-2';\n        this.textClass = 'col-8';\n    }\n  }\n}\n\nexport class AlloyCardImageAction extends AlloyCardAction{\n  image: AlloyLogo;\n  imageClass: string;\n  textClass: string;\n  constructor(res?: any) {\n    if (res) {\n        super(res)  \n        this.image = res.image ? new AlloyLogo(res.image) :  new AlloyLogo();\n        this.imageClass = res.imageClass ? res.imageClass : \"card-img-top rounded p-2\";\n        this.textClass = res.textClass ? res.textClass : 'col-8';\n    } else {\n        super()  \n        this.image = new AlloyLogo();\n        this.imageClass = 'card-img-top rounded p-2';\n        this.textClass = 'col-8';\n    }\n  }\n}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { AlloyLinkIcon } from '../../link/link.model';\n\n\n@Component({\n  selector: 'alloy-icon-link',\n  templateUrl: './icon-link.component.html',\n  styleUrls: ['./icon-link.component.css']\n})\nexport class IconLinkComponent {\n  _iconLink: AlloyLinkIcon;\n  @Input() set iconLink(iconLink: AlloyLinkIcon){\n    this._iconLink = iconLink;\n  }\n\n  @Output() output: EventEmitter<AlloyLinkIcon>= new EventEmitter<AlloyLinkIcon>();\n\n  constructor(private router:Router) { \n    this._iconLink = new AlloyLinkIcon();\n  }\n  //redirect on click\n  redirectLink() {\n    this.output.emit(this._iconLink);\n    if (this._iconLink.link.includes(\"http\") || this._iconLink.link.includes(\"https\")) {\n      window.location.href = this._iconLink.link;\n      return true;\n    }\n    return this.router.navigateByUrl(this._iconLink.link);\n  }\n}\n","<!--There is an extra name field we can use-->\n<a [id]=\"_iconLink.id\" [routerLink]=\"\" (click)=\"redirectLink()\" [class]=\"_iconLink.className\">\n    <alloy-icon [icon]=\"_iconLink.icon\"></alloy-icon>\n</a>","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { AlloyLinkLogo } from '../link.model';\n\n@Component({\n  selector: 'alloy-link-logo',\n  templateUrl: './link-logo.component.html',\n  styleUrls: ['./link-logo.component.css']\n})\nexport class LinkLogoComponent {\n  _linkLogo: AlloyLinkLogo;\n  @Input() set linkLogo(linkLogo: AlloyLinkLogo){\n    this._linkLogo = linkLogo;\n  }\n\n  @Output() output: EventEmitter<AlloyLinkLogo>= new EventEmitter<AlloyLinkLogo>();\n  \n  constructor(private router:Router) { \n    this._linkLogo = new AlloyLinkLogo();\n  }\n\n\n  //redirect on click\n  redirectLink() {\n    this.output.emit(this._linkLogo);\n    if (this._linkLogo.link.includes(\"http\") || this._linkLogo.link.includes(\"https\")) {\n      window.location.href = this._linkLogo.link;\n      return true;\n    }\n    return this.router.navigateByUrl(this._linkLogo.link);\n  }\n}\n","<a [id]=\"_linkLogo.id\" [routerLink]=\"\" (click)=\"redirectLink()\" [class]=\"_linkLogo.className+' '+ _linkLogo.active\">\n    <img src = {{_linkLogo.logo.image}} [alt]=\"_linkLogo.logo.alt\" [attr.width]=\"_linkLogo.logo.width\" [attr.height]=\"_linkLogo.logo.height\">\n    <span class=\"px-2\">{{ _linkLogo.name }}</span>\n</a>","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { AlloyLink } from '../../../cell/link/link.model';\nimport { AlloyLinkBar } from '../bar.model';\n\n@Component({\n  selector: 'alloy-link-bar',\n  templateUrl: './link-bar.component.html',\n  styleUrls: ['./link-bar.component.css']\n})\nexport class LinkBarComponent {\n  _linkBar: AlloyLinkBar;\n  @Input() set linkBar(linkBar: AlloyLinkBar){\n    this._linkBar = linkBar;\n  }\n  @Output() output: EventEmitter<AlloyLink>= new EventEmitter<AlloyLink>();\n  constructor() {\n    this._linkBar = new AlloyLinkBar();\n  }\n\n  getSelected(tab: AlloyLink){\n    this._linkBar.links.forEach(b => {\n      if(b.id === tab.id){\n        b.active = this._linkBar.selected;\n      }else{\n        b.active = '';\n      }\n    });\n    this.output.emit(tab);\n  }\n}\n","<ng-container [ngSwitch]=\"_linkBar.type\">\n  <ng-container *ngSwitchCase=\"'AlloyLink'\">\n    <ul [id]=\"_linkBar.id\" [class]=\"_linkBar.className\">\n      <li *ngFor=\"let i of _linkBar.links\" [class]=\"_linkBar.linkClass\">\n        <alloy-link [link]=\"i\" (output)=\"getSelected(i)\"> </alloy-link>\n      </li>\n    </ul>\n  </ng-container>\n  <ng-container *ngSwitchCase=\"'AlloyIconLink'\">\n    <ul [id]=\"_linkBar.id\" [class]=\"_linkBar.className\">\n      <li *ngFor=\"let i of _linkBar.links\" [class]=\"_linkBar.linkClass\">\n        <alloy-icon-link [iconLink]=\"i\" (output)=\"getSelected(i)\">\n        </alloy-icon-link>\n      </li>\n    </ul>\n  </ng-container>\n  <ng-container *ngSwitchCase=\"'AlloyLinkIcon'\">\n    <ul [id]=\"_linkBar.id\" [class]=\"_linkBar.className\">\n      <li *ngFor=\"let i of _linkBar.links\" [class]=\"_linkBar.linkClass\">\n        <alloy-link-icon [linkIcon]=\"i\" (output)=\"getSelected(i)\">\n        </alloy-link-icon>\n      </li>\n    </ul>\n  </ng-container>\n  <ng-container *ngSwitchCase=\"'AlloyLinkLogo'\">\n    <ul [id]=\"_linkBar.id\" [class]=\"_linkBar.className\">\n      <li *ngFor=\"let i of _linkBar.links\" [class]=\"_linkBar.linkClass\">\n        <alloy-link-logo [linkLogo]=\"i\" (output)=\"getSelected(i)\">\n        </alloy-link-logo>\n      </li>\n    </ul>\n  </ng-container>\n  <ng-container *ngSwitchDefault>\n    <ul [id]=\"_linkBar.id\" [class]=\"_linkBar.className\">\n      <li *ngFor=\"let i of _linkBar.links\" [class]=\"_linkBar.linkClass\">\n        <alloy-link [link]=\"i\" (output)=\"getSelected(i)\"> </alloy-link>\n      </li>\n    </ul>\n  </ng-container>\n</ng-container>\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { AlloyButtonIcon } from '../../button/button.model';\n\n@Component({\n  selector: 'alloy-icon-button',\n  templateUrl: './icon-button.component.html',\n  styleUrls: ['./icon-button.component.css']\n})\nexport class IconButtonComponent {\n  _iconButton: AlloyButtonIcon;\n  @Input() set iconButton(iconButton: AlloyButtonIcon){\n    this._iconButton = iconButton;\n  }\n  @Output() output: EventEmitter<AlloyButtonIcon>= new EventEmitter<AlloyButtonIcon>();\n  constructor() {\n    this._iconButton = new AlloyButtonIcon();\n  }\n}\n","<button\n  [id]=\"_iconButton.id\"\n  [class]=\"_iconButton.className\"\n  type = \"button\"\n  (click)=\"output.emit(_iconButton)\"\n  data-bs-toggle=\"tooltip\" \n  data-bs-placement=\"bottom\" \n  [title]=\"_iconButton.name\">\n  <alloy-icon [icon]=\"_iconButton.icon\" ></alloy-icon>\n</button>\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { AlloyButtonBar } from '../bar.model';\nimport { AlloyButton } from '../../../cell/button/button.model';\n\n@Component({\n  selector: 'alloy-button-bar',\n  templateUrl: './button-bar.component.html',\n  styleUrls: ['./button-bar.component.css']\n})\nexport class ButtonBarComponent {\n  _buttonBar: AlloyButtonBar;\n  @Input() set buttonBar(buttonBar: AlloyButtonBar){\n    this._buttonBar = buttonBar;\n  }\n  @Output() output: EventEmitter<AlloyButton>= new EventEmitter<AlloyButton>();\n  constructor() {\n    this._buttonBar = new AlloyButtonBar();\n  }\n\n  getSelected(tab: AlloyButton){\n    this._buttonBar.buttons.forEach(b => {\n      if(b.id === tab.id){\n        b.active = this._buttonBar.selected;\n      }else{\n        b.active = '';\n      }\n    });\n    this.output.emit(tab);\n  }\n}\n","<ng-container [ngSwitch]=\"_buttonBar.type\">\n  <ng-container *ngSwitchCase=\"'AlloyIconButton'\">\n    <div [id]=\"_buttonBar.id\" [class]=\"_buttonBar.className\" role=\"group\">\n      <alloy-icon-button\n        [iconButton]=\"i\"\n        *ngFor=\"let i of _buttonBar.buttons\"\n        (output)=\"getSelected(i)\"\n      >\n      </alloy-icon-button>\n    </div>\n  </ng-container>\n  <ng-container *ngSwitchCase=\"'AlloyButton'\">\n    <div [id]=\"_buttonBar.id\" [class]=\"_buttonBar.className\" role=\"group\">\n      <alloy-button\n        [button]=\"i\"\n        *ngFor=\"let i of _buttonBar.buttons\"\n        (output)=\"getSelected(i)\"\n      >\n      </alloy-button>\n    </div>\n  </ng-container>\n  <ng-container *ngSwitchCase=\"'AlloyButtonIcon'\">\n    <div [id]=\"_buttonBar.id\" [class]=\"_buttonBar.className\" role=\"group\">\n      <alloy-button-icon\n        [buttonIcon]=\"i\"\n        *ngFor=\"let i of _buttonBar.buttons\"\n        (output)=\"getSelected(i)\"\n      >\n      </alloy-button-icon>\n    </div>\n  </ng-container>\n  <ng-container *ngSwitchDefault>\n    <div [id]=\"_buttonBar.id\" [class]=\"_buttonBar.className\" role=\"group\">\n      <alloy-button\n        [button]=\"i\"\n        *ngFor=\"let i of _buttonBar.buttons\"\n        (output)=\"getSelected(i)\"\n      >\n      </alloy-button>\n    </div>\n  </ng-container>\n</ng-container>\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { AlloyCardAction } from '../card.model';\nimport { KeyValue } from '@angular/common';\n@Component({\n  selector: 'alloy-card-action',\n  templateUrl: './card-action.component.html',\n  styleUrls: ['./card-action.component.css']\n})\nexport class CardActionComponent {\n  _cardAction: AlloyCardAction;\n  @Input() set cardAction(cardAction: AlloyCardAction){\n    this._cardAction = cardAction;\n  }\n\n  @Output() output: EventEmitter<any>= new EventEmitter<any>();\n\n  constructor(){\n    this._cardAction = new AlloyCardAction();\n  }\n\n  getAction(action){\n    let data = {row:{},action:{}};\n    data.row = this._cardAction;\n    data.action = action.name;\n    this.output.emit(data);\n  }\n\n  // Preserve original property order\n  originalOrder = (a: KeyValue<number,string>, b: KeyValue<number,string>): number => {\n    return 0;\n  }\n}\n","<div [id]=\"_cardAction.id\" [class]=\"_cardAction.className\">\n  <div\n    [id]=\"_cardAction.body.id\"\n    [class]=\"_cardAction.body.className\"\n    [attr.aria-label]=\"_cardAction.body.name\"\n  >\n    <ng-container  *ngFor=\"let field of _cardAction.fields | keyvalue: originalOrder\">\n      <div\n      [id]=\"field.value.id\"\n      [class]=\"field.value.className\"\n      *ngIf=\"field.value.show\"\n      >\n        {{ field.value.name }}\n      </div>\n    </ng-container>\n  </div>\n  <div\n    [id]=\"_cardAction.action.id\"\n    [class]=\"_cardAction.action.className\"\n    role=\"group\"\n    [ngSwitch]=\"_cardAction.type\"\n  >\n    <ng-container *ngSwitchCase=\"'AlloyButtonBar'\">\n      <alloy-button-bar [buttonBar]=\"_cardAction.action\" (output)=\"getAction($event)\"></alloy-button-bar>\n    </ng-container>\n    <ng-container *ngSwitchCase=\"'AlloyLinkBar'\">\n      <alloy-link-bar [linkBar]=\"_cardAction.action\" (output)=\"getAction($event)\"></alloy-link-bar>\n    </ng-container>\n    <ng-container *ngSwitchDefault>\n      <alloy-link-bar [linkBar]=\"_cardAction.action\" (output)=\"getAction($event)\"></alloy-link-bar>\n    </ng-container>\n  </div>\n</div>\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { AlloyCardIconAction } from '../card.model';\nimport { KeyValue } from '@angular/common';\n@Component({\n  selector: 'alloy-card-icon-action',\n  templateUrl: './card-icon-action.component.html',\n  styleUrls: ['./card-icon-action.component.css']\n})\nexport class CardIconActionComponent {\n  _cardIconAction: AlloyCardIconAction;\n  @Input() set cardIconAction(cardIconAction: AlloyCardIconAction){\n    this._cardIconAction = cardIconAction;\n    console.log(this._cardIconAction);\n  }\n\n  @Output() output: EventEmitter<any>= new EventEmitter<any>();\n\n  constructor(){\n    this._cardIconAction = new AlloyCardIconAction();\n  }\n\n  getAction(action){\n    let data = {row:{},action:{}};\n    data.row = this._cardIconAction;\n    data.action = action.name;\n    this.output.emit(data);\n  }\n\n  // Preserve original property order\n  originalOrder = (a: KeyValue<number,string>, b: KeyValue<number,string>): number => {\n    return 0;\n  }\n}\n","<div [id]=\"_cardIconAction.id\" [class]=\"_cardIconAction.className\">\n  <div\n    [id]=\"_cardIconAction.body.id\"\n    [class]=\"_cardIconAction.body.className\"\n    [attr.aria-label]=\"_cardIconAction.body.name\"\n  >\n    <div [class]=\"_cardIconAction.iconClass\">\n      <alloy-icon [icon]=\"_cardIconAction.icon\"></alloy-icon>\n    </div>\n    <div [class]=\"_cardIconAction.textClass\">\n      <div class=\"row p-1\">\n        <ng-container  *ngFor=\"let field of _cardIconAction.fields | keyvalue: originalOrder\">\n          <div\n          [id]=\"field.value.id\"\n          [class]=\"field.value.className\"\n          *ngIf=\"field.value.show\"\n          >\n            {{ field.value.name }}\n          </div>\n        </ng-container>\n      </div>\n    </div>\n  </div>\n  <div\n    [id]=\"_cardIconAction.action.id\"\n    [class]=\"_cardIconAction.action.className\"\n    role=\"group\"\n    [ngSwitch]=\"_cardIconAction.type\"\n  >\n    <ng-container *ngSwitchCase=\"'AlloyButtonBar'\">\n      <alloy-button-bar [buttonBar]=\"_cardIconAction.action\" (output)=\"getAction($event)\"></alloy-button-bar>\n    </ng-container>\n    <ng-container *ngSwitchCase=\"'AlloyLinkBar'\">\n      <alloy-link-bar [linkBar]=\"_cardIconAction.action\" (output)=\"getAction($event)\"></alloy-link-bar>\n    </ng-container>\n    <ng-container *ngSwitchDefault>\n      <alloy-link-bar [linkBar]=\"_cardIconAction.action\" (output)=\"getAction($event)\"></alloy-link-bar>\n    </ng-container>\n  </div>\n</div>\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { AlloyCardImageAction } from '../card.model';\nimport { KeyValue } from '@angular/common';\n@Component({\n  selector: 'alloy-card-image-action',\n  templateUrl: './card-image-action.component.html',\n  styleUrls: ['./card-image-action.component.css']\n})\nexport class CardImageActionComponent {\n  _cardImageAction: AlloyCardImageAction;\n  @Input() set cardImageAction(cardImageAction: AlloyCardImageAction){\n    this._cardImageAction = cardImageAction;\n  }\n\n  @Output() output: EventEmitter<any>= new EventEmitter<any>();\n\n  constructor(){\n    this._cardImageAction = new AlloyCardImageAction();\n  }\n\n  getAction(action){\n    let data = {row:{},action:{}};\n    data.row = this._cardImageAction;\n    data.action = action.name;\n    this.output.emit(data);\n  }\n\n  // Preserve original property order\n  originalOrder = (a: KeyValue<number,string>, b: KeyValue<number,string>): number => {\n    return 0;\n  }\n}\n","<div [id]=\"_cardImageAction.id\" [class]=\"_cardImageAction.className\">\n  <div\n    [id]=\"_cardImageAction.body.id\"\n    [class]=\"_cardImageAction.body.className\"\n    [attr.aria-label]=\"_cardImageAction.body.name\"\n  >\n    <div [class]=\"_cardImageAction.imageClass\">\n      <img\n        src=\"{{ _cardImageAction.image.imageUrl }}\"\n        [alt]=\"_cardImageAction.image.alt\"\n        [attr.width]=\"_cardImageAction.image.width\"\n        [attr.height]=\"_cardImageAction.image.height\"\n      />\n    </div>\n    <div [class]=\"_cardImageAction.textClass\">\n      <div class=\"row p-1\">\n        <ng-container  *ngFor=\"let field of _cardImageAction.fields | keyvalue: originalOrder\">\n          <div\n          [id]=\"field.value.id\"\n          [class]=\"field.value.className\"\n          *ngIf=\"field.value.show\"\n          >\n            {{ field.value.name }}\n          </div>\n        </ng-container>\n      </div>\n    </div>\n  </div>\n  <div\n    [id]=\"_cardImageAction.action.id\"\n    [class]=\"_cardImageAction.action.className\"\n    role=\"group\"\n    [ngSwitch]=\"_cardImageAction.type\"\n  >\n    <ng-container *ngSwitchCase=\"'AlloyButtonBar'\">\n      <alloy-button-bar [buttonBar]=\"_cardImageAction.action\" (output)=\"getAction($event)\" ></alloy-button-bar>\n    </ng-container>\n    <ng-container *ngSwitchCase=\"'AlloyLinkBar'\">\n      <alloy-link-bar [linkBar]=\"_cardImageAction.action\" (output)=\"getAction($event)\" ></alloy-link-bar>\n    </ng-container>\n    <ng-container *ngSwitchDefault>\n      <alloy-link-bar [linkBar]=\"_cardImageAction.action\" (output)=\"getAction($event)\"></alloy-link-bar>\n    </ng-container>\n  </div>\n</div>\n","import { Component, Input } from '@angular/core';\nimport { AlloyCard } from '../card.model';\nimport { KeyValue } from '@angular/common';\n\n@Component({\n  selector: 'alloy-card',\n  templateUrl: './card.component.html',\n  styleUrls: ['./card.component.css']\n})\nexport class CardComponent {\n  _card: AlloyCard\n  @Input() set card(_card: AlloyCard){\n    this._card = _card;\n  }\n  constructor(){\n    this._card = new AlloyCard();\n  }\n\n  // Preserve original property order\n  originalOrder = (a: KeyValue<number,string>, b: KeyValue<number,string>): number => {\n    return 0;\n  }\n}\n","<div [id]=\"_card.id\" [class]=\"_card.className\" [routerLink]=\"[_card.link]\">\n  <div\n  [id]=\"_card.body.id\"\n  [class]=\"_card.body.className\"\n  [attr.aria-label]=\"_card.body.name\"\n  >\n    <ng-container  *ngFor=\"let field of _card.fields | keyvalue: originalOrder\">\n      <div\n        [id]=\"field.value.id\"\n        [class]=\"field.value.className\"\n        *ngIf=\"field.value.show\"\n      >\n        {{ field.value.name }}\n      </div>\n    </ng-container>\n  </div>\n</div>\n","import { Component, Input } from '@angular/core';\nimport { AlloyCardImage } from '../card.model';\nimport { KeyValue } from '@angular/common';\n@Component({\n  selector: 'alloy-card-image',\n  templateUrl: './card-image.component.html',\n  styleUrls: ['./card-image.component.css']\n})\nexport class CardImageComponent {\n  _cardImage: AlloyCardImage\n  @Input() set cardImage(_cardImage: AlloyCardImage){\n    this._cardImage = _cardImage;\n  }\n  constructor(){\n    this._cardImage = new AlloyCardImage();\n  }\n\n  // Preserve original property order\n  originalOrder = (a: KeyValue<number,string>, b: KeyValue<number,string>): number => {\n    return 0;\n  }\n}\n","<div [id]=\"_cardImage.id\" [class]=\"_cardImage.className\"  [routerLink]=\"[_cardImage.link]\">\n  <div\n  [id]=\"_cardImage.body.id\"\n  [class]=\"_cardImage.body.className\"\n  [attr.aria-label]=\"_cardImage.body.name\"\n  >\n    <div [class]=\"_cardImage.imageClass\">\n      <img\n        src=\"{{ _cardImage.image.imageUrl }}\"\n        [alt]=\"_cardImage.image.alt\"\n        [attr.width]=\"_cardImage.image.width\"\n        [attr.height]=\"_cardImage.image.height\"\n      />\n    </div>\n    <div [class]=\"_cardImage.textClass\">\n      <div class=\"row p-1\">\n        <ng-container  *ngFor=\"let field of _cardImage.fields | keyvalue: originalOrder\">\n          <div\n          [id]=\"field.value.id\"\n          [class]=\"field.value.className\"\n          *ngIf=\"field.value.show\"\n          >\n            {{ field.value.name }}\n          </div>\n        </ng-container>\n      </div>\n    </div>\n  </div>\n</div>\n","import { Component, Input } from '@angular/core';\nimport { AlloyCardIcon } from '../card.model';\nimport { KeyValue } from '@angular/common';\n@Component({\n  selector: 'alloy-card-icon',\n  templateUrl: './card-icon.component.html',\n  styleUrls: ['./card-icon.component.css']\n})\nexport class CardIconComponent {\n  _cardIcon: AlloyCardIcon\n  @Input() set cardIcon(_cardIcon: AlloyCardIcon){\n    this._cardIcon = _cardIcon;\n  }\n  constructor(){\n    this._cardIcon = new AlloyCardIcon();\n  }\n\n  // Preserve original property order\n  originalOrder = (a: KeyValue<number,string>, b: KeyValue<number,string>): number => {\n    return 0;\n  }\n}\n","<div [id]=\"_cardIcon.id\" [class]=\"_cardIcon.className\" [routerLink]=\"[_cardIcon.link]\">\n  <div\n  [id]=\"_cardIcon.body.id\"\n  [class]=\"_cardIcon.body.className\"\n  [attr.aria-label]=\"_cardIcon.body.name\"\n  >\n    <div [class]=\"_cardIcon.iconClass\">\n      <alloy-icon [icon]=\"_cardIcon.icon\"></alloy-icon>\n    </div>\n    <div [class]=\"_cardIcon.textClass\">\n      <div class=\"row p-1\">\n        <ng-container  *ngFor=\"let field of _cardIcon.fields | keyvalue: originalOrder\">\n          <div\n          [id]=\"field.value.id\"\n          [class]=\"field.value.className\"\n          *ngIf=\"field.value.show\"\n          >\n            {{ field.value.name }}\n          </div>\n        </ng-container>\n      </div>\n    </div>\n  </div>\n</div>\n","import { AlloyLinkLogo } from \"../../cell/link/link.model\";\nimport { AlloyButtonBar, AlloyLinkBar } from \"../bar/bar.model\";\n\nexport class AlloyNavBar {\n  id: string;\n  className: string;\n  logo: AlloyLinkLogo;\n  linkBar: AlloyLinkBar;\n  static idGenerator: number = 0;\n  constructor(response?: any) {\n    if (response) {\n      this.id = response.id ? response.id : \"navbar\" + ++AlloyNavBar.idGenerator;;\n      this.className = response.className ? response.className : 'navbar-light';\n      this.logo =  response.logo ? new AlloyLinkLogo(response.logo) :  new AlloyLinkLogo();\n      this.linkBar = response.linkBar ? new AlloyLinkBar(response.linkBar) : new AlloyLinkBar(); \n    } else {\n      this.id = \"navbar\";\n      this.className = 'navbar-light';\n      this.logo = new AlloyLinkLogo();\n      this.linkBar =  new AlloyLinkBar();\n    }\n  }\n}\n\nexport class AlloyNavBarAction extends AlloyNavBar {\n  buttonBar: AlloyButtonBar;\n  static idGenerator: number = 0;\n  constructor(response?: any) {\n    if (response) {\n      super(response)\n      this.buttonBar = response.buttonBar ? new AlloyButtonBar(response.buttonBar) : new AlloyButtonBar(); \n    } else {\n      super();\n      this.buttonBar =  new AlloyButtonBar();\n    }\n  }\n}\n\n\n","import { Component, Input } from '@angular/core';\nimport { AlloyIcon } from '../../../cell/icon/icon.model';\nimport { AlloyNavBar } from '../navbar.model';\n\n@Component({\n  selector: 'alloy-navbar',\n  templateUrl: './navbar.component.html',\n  styleUrls: ['./navbar.component.css']\n})\nexport class NavbarComponent {\n  _navBar: AlloyNavBar;\n  toggleBars: AlloyIcon;\n  @Input() set navBar(navBar: AlloyNavBar) {\n  \tthis._navBar = navBar;\n  }\n  constructor(){\n    this._navBar = new AlloyNavBar();\n    this.toggleBars = new AlloyIcon({\"id\":\"1\",\"icon\":\"faBars\",\"size\":\"lg\",\"spin\":false,\"className\":\"\"});\n  }\n}\n","<!-- Logo Nav START -->\n<nav [id]=\"_navBar.id\" [class]=\"_navBar.className\">\n  <div class=\"container-fluid\">\n    <!-- Logo START -->\n      <alloy-link-logo [linkLogo]=\"_navBar.logo\"></alloy-link-logo>\n    <!-- Logo END -->\n\n    <!-- Responsive navbar toggler -->\n    <button class=\"navbar-toggler\" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#navbarCollapse\" aria-controls=\"navbarCollapse\" aria-expanded=\"false\" aria-label=\"Toggle navigation\">\n      <span class=\"navbar-toggler-icon\"></span>\n    </button>\n\n    <!-- Main navbar START -->\n    <div\n      class=\"navbar-collapse collapse justify-content-end\"\n      id=\"navbarCollapse\"\n    >\n      <!-- Nav Search END -->\n      <alloy-link-bar [linkBar]=\"_navBar.linkBar\"></alloy-link-bar>\n    </div>\n  </div>\n</nav>\n<!-- Logo Nav END -->\n\n\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { AbstractControl, FormControl, FormGroup } from '@angular/forms';\nimport { AlloyInputText, matchValidator } from '../../../cell/input/input.model';\n\n@Component({\n  selector: 'alloy-input-texts',\n  templateUrl: './input-texts.component.html',\n  styleUrls: ['./input-texts.component.css']\n})\nexport class InputTextsComponent {\n  _inputTexts: AlloyInputText[];\n  @Input() set inputTexts(inputTexts: AlloyInputText[]) {\n  \tthis._inputTexts = inputTexts;\n    this.inputForm = this.createData(this._inputTexts);\n  }\n  //reactive form for data input\n  inputForm: FormGroup;\n  errors: string[];\n  match: boolean;\n\n  @Output() output: EventEmitter<AbstractControl<any,any>> = new EventEmitter<AbstractControl<any,any>>();\n\n  constructor() { \n    this._inputTexts = [];\n    this.inputForm = new FormGroup({});\n    this.errors = [];\n    this.match = false;\n  }\n\n  // convenience getter for easy access to form fields\n  get formControl() {\n    return this.inputForm.controls;\n  }\n\n  //Used to create the form group\n  createData(columns: AlloyInputText[]) {\n    this.inputForm = new FormGroup({});\n    let group = {};\n    columns.forEach(record=>{\n      Object.entries(record).forEach((column: any) => {\n        if (column[0] === 'name') {\n          group[column[1]] = new FormControl(record.text,record.validators); \n        }\n        if(column[0] === 'match'){\n          this.match = column[1];\n        }\n      });\n    });\n    if(this.match){\n      return new FormGroup(group,{validators: matchValidator});\n    }\n    return new FormGroup(group);\n  }\n\n  formOutput(){\n    let _output = this.inputForm.value;\n    this.inputForm.status == \"VALID\" ? _output[\"error\"] = false : _output[\"error\"] = true;\n    this.output.emit(this.inputForm.value);\n  }\n\n  getError(inputField: AlloyInputText){\n    this.getErrorMessage(inputField)\n    return this.inputForm.get(inputField.name).errors;\n  }\n\n  getErrorMessage(inputField: AlloyInputText){\n    this.errors = [];\n    if(this.inputForm.get(inputField.name).errors != undefined){\n      Object.entries(this.inputForm.get(inputField.name).errors).forEach((row: any) => {\n        if(inputField.errors != undefined){\n          let errorMessasge = inputField.errors.find(msg => msg.name.toLocaleLowerCase() === row[0].toLocaleLowerCase());\n          if(errorMessasge != undefined){\n            this.errors.push(errorMessasge.message);\n          }\n        }\n      });\n    }\n  }\n\n  getTouched(name){\n    return this.inputForm.get(name).touched;\n  }\n}\n","<form\n  [formGroup]=\"inputForm\"\n  (ngSubmit)=\"output.emit(inputForm.value)\"\n  #form=\"ngForm\"\n>\n  <div class=\"row\">\n    <div [class]=\"_inputText.className\" *ngFor=\"let _inputText of _inputTexts\">\n      <label [for]=\"_inputText.id\" class=\"form-label m-2\">{{ _inputText.label }}</label>\n      <input\n        [id]=\"_inputText.id\"\n        [type]=\"_inputText.type\"\n        [formControlName]=\"_inputText.name\"\n        [placeholder]=\"_inputText.placeholder\"\n        [readonly]=\"_inputText.readonly\"\n        class=\"form-control\"\n        (input)=\"formOutput(_inputText)\"\n      />\n      <div\n        *ngIf=\"getTouched(_inputText.name)\"\n        class=\"alert text-start alert-text-danger m-0 p-0\"\n      >\n        <div *ngIf=\"getError(_inputText)\">\n          <div *ngFor=\"let error of errors\">\n            {{ error }}\n          </div>\n        </div>\n      </div>\n    </div>\n  </div>\n</form>\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { AlloyButtonSubmit } from '../button.model';\n\n@Component({\n  selector: 'alloy-button-submit',\n  templateUrl: './button-submit.component.html',\n  styleUrls: ['./button-submit.component.css']\n})\nexport class ButtonSubmitComponent {\n  _buttonSubmit: AlloyButtonSubmit;\n  @Input() set buttonSubmit(buttonSubmit: AlloyButtonSubmit){\n    this._buttonSubmit = buttonSubmit;\n  }\n  @Output() output: EventEmitter<AlloyButtonSubmit>= new EventEmitter<AlloyButtonSubmit>();\n  constructor() {\n    this._buttonSubmit = new AlloyButtonSubmit();\n  }\n}\n","<button\n  [id]=\"_buttonSubmit.id\"\n  [class]=\"_buttonSubmit.className\"\n  [type]=\"_buttonSubmit.type\"\n  (click)=\"output.emit(_buttonSubmit)\"\n  [disabled]=\"_buttonSubmit.disable\"\n>\n  <alloy-icon *ngIf=\"_buttonSubmit.show\" [icon]=\"_buttonSubmit.icon\" ></alloy-icon>\n  <span class=\"px-2\">{{_buttonSubmit.name}}</span>\n</button>\n\n","import { AlloyIcon } from \"../../cell/icon/icon.model\";\n\nexport class Table{\n    id: string;\n    className: string;\n    name: string;\n    rows: any;\n    icon: AlloyIcon;\n    link: string;\n    constructor(response?: any){\n      if(response){\n        this.id = response.id ? response.id : \"table\";\n        this.className = response.className ? response.className : \"table\";\n        this.name = response.name ? response.name : \"table\";\n        this.rows = response.rows ? response.rows : [];\n        this.icon = response.icon ? new AlloyIcon(response.icon) : new AlloyIcon();\n        this.link = response.link ? response.link : \"\";\n      }else{\n        this.id = \"table\";\n        this.name = \"table\";\n        this.className = 'table';\n        this.rows = [];\n        this.icon = new AlloyIcon();\n        this.link = \"\";\n      }\n    }\n}\n\nexport class TableAction extends Table{\n   actions: AlloyIcon[];\n   constructor(res?){\n    if(res){\n      super(res);\n      this.actions = res.actions ? res.actions.map(i=> new AlloyIcon(i)) : [];\n    }else{\n      super();\n      this.actions = [];\n    }\n   }\n}","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { Table } from '../table.model';\nimport { KeyValue } from '@angular/common';\n\n@Component({\n  selector: 'alloy-table',\n  templateUrl: './table.component.html',\n  styleUrls: ['./table.component.css']\n})\nexport class TableComponent {\n  _table: Table;\n  @Input() set table(table: Table){\n    this._table = table;\n  }\n\n  constructor() {\n    this._table = new Table();\n  }\n\n  capitalize(s) {\n    if (typeof s !== 'string') return '';\n    return s.charAt(0).toUpperCase() + s.slice(1);\n  }\n\n    // Preserve original property order\n    originalOrder = (a: KeyValue<number,string>, b: KeyValue<number,string>): number => {\n      return 0;\n    }\n\n}\n","<table [class]=\"_table.className\" [id]=\"_table.id\">\n  <caption class=\"caption-top text-center\">{{_table.name}}</caption>\n    <thead>\n      <tr>\n        <th scope=\"col\">Type</th>\n        <th\n          scope=\"col\"\n          *ngFor=\"let h of _table.rows[0] | keyvalue: originalOrder\"\n        >\n          <span *ngIf=\"h.key != 'id'\">{{ capitalize(h.key) }}</span>\n        </th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr *ngFor=\"let body of _table.rows; index as j\" >\n        <td>\n          <alloy-icon [icon]=\"_table.icon\"></alloy-icon>\n        </td>\n        <td  class=\"cursor\"  *ngFor=\"let col of body | keyvalue: originalOrder\" [routerLink]=\"[_table.link+'/'+body.id]\">\n            <span *ngIf=\"col.key != 'id'\">{{ col.value }}</span>\n        </td>\n      </tr>\n    </tbody>\n  </table>\n  ","import { AlloyButtonIcon } from \"../../cell/button/button.model\";\nimport { AlloyInputTextIcon } from \"../../cell/input/input.model\";\n\nexport class AlloySearchBar{\n    id: string;\n    className: string;\n    search: AlloyInputTextIcon;\n    upload: AlloyButtonIcon;\n    constructor(response?: any) {\n        if (response) {\n          this.id = response.id ? response.id : \"\";\n          this.className = response.className ? response.className : '';\n          this.search = response.search ? new AlloyInputTextIcon(response.search) :new AlloyInputTextIcon();\n          this.upload = response.upload ? new AlloyButtonIcon(response.upload) : new AlloyButtonIcon();\n        } else {\n          this.id = \"\";\n          this.className = '';\n          this.search = new AlloyInputTextIcon();\n          this.upload = new AlloyButtonIcon();\n        }\n    }\n}","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { AlloyInputTextIcon } from '../input.model';\nimport { AbstractControl, FormControl, FormGroup } from '@angular/forms';\n\n@Component({\n  selector: 'alloy-input-icon-text',\n  templateUrl: './input-icon-text.component.html',\n  styleUrls: ['./input-icon-text.component.css']\n})\nexport class InputIconTextComponent {\n  _inputIconText: AlloyInputTextIcon;\n  @Input() set inputIconText(inputIconText: AlloyInputTextIcon) {\n  \tthis._inputIconText = inputIconText;\n    this.inputForm = this.createData(this._inputIconText);\n  }\n  //reactive form for data input\n  inputForm: FormGroup;\n  errors: string[];\n\n  @Output() output: EventEmitter<AbstractControl<any,any>> = new EventEmitter<AbstractControl<any,any>>();\n\n  constructor() { \n    this._inputIconText = new AlloyInputTextIcon();\n    this.inputForm = new FormGroup({});\n    this.errors = [];\n  }\n\n  //Used to create the form group\n  createData(input: AlloyInputTextIcon) {\n    this.inputForm = new FormGroup({});\n    let group = {};\n      Object.entries(input).forEach((column: any) => {\n        if (column[0] === 'name') {\n          group[column[1]] = new FormControl(input.text,input.validators); \n        }\n      });\n    return new FormGroup(group);\n  }\n\n  getError(inputField: AlloyInputTextIcon){\n    this.getErrorMessage(inputField)\n    return this.inputForm.get(inputField.name).errors;\n  }\n\n  getErrorMessage(inputField: AlloyInputTextIcon){\n    this.errors = [];\n    if(this.inputForm.get(inputField.name).errors != undefined){\n      Object.entries(this.inputForm.get(inputField.name).errors).forEach((row: any) => {\n        if(inputField.errors != undefined){\n          let errorMessasge = inputField.errors.find(msg => msg.name.toLocaleLowerCase() === row[0].toLocaleLowerCase());\n          if(errorMessasge != undefined){\n            this.errors.push(errorMessasge.message);\n          }\n        }\n      });\n    }\n  }\n\n  formOutput(){\n    let _output = this.inputForm.value;\n    this.inputForm.status == \"VALID\" ? _output[\"error\"] = false : _output[\"error\"] = true;\n    this.output.emit(this.inputForm.value);\n  }\n\n  getTouched(name){\n    return this.inputForm.get(name).touched;\n  }\n\n  selectedRadio(input){\n    this.inputForm.get(input.name).patchValue(input.label);\n    this.formOutput();\n  }\n\n  selectCheck(event,input){\n    if(event.target.checked){\n      this.inputForm.get(input.name).patchValue(input.label);\n    }else{\n      this.inputForm.get(input.name).patchValue(\"\");\n    }\n    this.formOutput();\n  }\n\n  onFileChange(event,input) {\n    if (event.target.files && event.target.files.length) {\n      this.inputForm.get(input.name).patchValue(event.target.files);\n      this.formOutput();\n    }\n  }\n}\n","<form\n  [formGroup]=\"inputForm\"\n  (ngSubmit)=\"output.emit(inputForm.value)\"\n  #form=\"ngForm\"\n>\n  <div class=\"row\">\n    <div [class]=\"_inputIconText.className\">\n        <div [ngSwitch]=\"_inputIconText.type\">\n          <div *ngSwitchCase=\"'text'\">\n            <div class=\"input-group py-2\">\n              <span [class]=\"_inputIconText.iconClass\">\n                <alloy-icon [icon]=\"_inputIconText.icon\"></alloy-icon>\n              </span>\n              <div class=\"form-floating\">\n                <input\n                  [id]=\"_inputIconText.id\"\n                  [type]=\"_inputIconText.type\"\n                  [formControlName]=\"_inputIconText.name\"\n                  [placeholder]=\"_inputIconText.placeholder\"\n                  [readonly]=\"_inputIconText.readonly\"\n                  [class]=\"_inputIconText.inputClass\"\n                  (input)=\"formOutput()\"\n                />\n                <label [for]=\"_inputIconText.id\">{{ _inputIconText.label }}</label>\n              </div>\n            </div>\n          </div>\n          <div *ngSwitchCase=\"'email'\">\n            <div class=\"input-group py-2\">\n              <span [class]=\"_inputIconText.iconClass\">\n                <alloy-icon [icon]=\"_inputIconText.icon\"></alloy-icon>\n              </span>\n              <div class=\"form-floating\">\n                <input\n                  [id]=\"_inputIconText.id\"\n                  [type]=\"_inputIconText.type\"\n                  [formControlName]=\"_inputIconText.name\"\n                  [placeholder]=\"_inputIconText.placeholder\"\n                  [readonly]=\"_inputIconText.readonly\"\n                  [class]=\"_inputIconText.inputClass\"\n                  (input)=\"formOutput()\"\n                />\n                <label [for]=\"_inputIconText.id\">{{ _inputIconText.label }}</label>\n              </div>\n            </div>\n          </div>\n          <div *ngSwitchCase=\"'password'\">\n            <div class=\"input-group py-2\">\n              <span [class]=\"_inputIconText.iconClass\">\n                <alloy-icon [icon]=\"_inputIconText.icon\"></alloy-icon>\n              </span>\n              <div class=\"form-floating\">\n                <input\n                  [id]=\"_inputIconText.id\"\n                  [type]=\"_inputIconText.type\"\n                  [formControlName]=\"_inputIconText.name\"\n                  [placeholder]=\"_inputIconText.placeholder\"\n                  [readonly]=\"_inputIconText.readonly\"\n                  [class]=\"_inputIconText.inputClass\"\n                  (input)=\"formOutput()\"\n                />\n                <label [for]=\"_inputIconText.id\">{{ _inputIconText.label }}</label>\n              </div>\n            </div>\n          </div>\n          <div *ngSwitchCase=\"'file'\">\n            <div class=\"input-group py-2\">\n              <span [class]=\"_inputIconText.iconClass\">\n                <alloy-icon [icon]=\"_inputIconText.icon\"></alloy-icon>\n              </span>\n              <div class=\"form-floating\">\n                <input\n                  [id]=\"_inputIconText.id\"\n                  [type]=\"_inputIconText.type\"\n                  [placeholder]=\"_inputIconText.placeholder\"\n                  [readonly]=\"_inputIconText.readonly\"\n                  [class]=\"_inputIconText.inputClass\"\n                  (change)=\"onFileChange($event,_inputIconText)\"\n                  multiple\n                />\n                <label [for]=\"_inputIconText.id\">{{ _inputIconText.label }}</label>\n              </div>\n            </div>\n          </div>\n          <div *ngSwitchCase=\"'number'\">\n            <div class=\"input-group py-2\">\n              <span [class]=\"_inputIconText.iconClass\">\n                <alloy-icon [icon]=\"_inputIconText.icon\"></alloy-icon>\n              </span>\n              <div class=\"form-floating\">\n                <input\n                  [id]=\"_inputIconText.id\"\n                  [type]=\"_inputIconText.type\"\n                  [formControlName]=\"_inputIconText.name\"\n                  [placeholder]=\"_inputIconText.placeholder\"\n                  [readonly]=\"_inputIconText.readonly\"\n                  [class]=\"_inputIconText.inputClass\"\n                  (input)=\"formOutput()\"\n                />\n                <label [for]=\"_inputIconText.id\">{{ _inputIconText.label }}</label>\n              </div>\n            </div>\n          </div>\n          <div *ngSwitchCase=\"'search'\">\n            <div class=\"input-group py-2\">\n              <span [class]=\"_inputIconText.iconClass\">\n                <alloy-icon [icon]=\"_inputIconText.icon\"></alloy-icon>\n              </span>\n              <div class=\"form-floating\">\n                <input\n                  [id]=\"_inputIconText.id\"\n                  [type]=\"_inputIconText.type\"\n                  [formControlName]=\"_inputIconText.name\"\n                  [placeholder]=\"_inputIconText.placeholder\"\n                  [readonly]=\"_inputIconText.readonly\"\n                  [class]=\"_inputIconText.inputClass\"\n                  (input)=\"formOutput()\"\n                />\n                <label [for]=\"_inputIconText.id\">{{ _inputIconText.label }}</label>\n              </div>\n            </div>\n          </div>\n          <div *ngSwitchCase=\"'date'\">\n            <div class=\"input-group py-2\">\n              <span [class]=\"_inputIconText.iconClass\">\n                <alloy-icon [icon]=\"_inputIconText.icon\"></alloy-icon>\n              </span>\n              <div class=\"form-floating\">\n                <input\n                  [id]=\"_inputIconText.id\"\n                  [type]=\"_inputIconText.type\"\n                  [formControlName]=\"_inputIconText.name\"\n                  [placeholder]=\"_inputIconText.placeholder\"\n                  [readonly]=\"_inputIconText.readonly\"\n                  [class]=\"_inputIconText.inputClass\"\n                  (input)=\"formOutput()\"\n                />\n                <label [for]=\"_inputIconText.id\">{{ _inputIconText.label }}</label>\n              </div>\n            </div>\n          </div>\n          <div *ngSwitchCase=\"'textarea'\">\n            <div class=\"form-floating\">\n              <textarea\n                [id]=\"_inputIconText.id\"\n                [formControlName]=\"_inputIconText.name\"\n                [placeholder]=\"_inputIconText.placeholder\"\n                [readonly]=\"_inputIconText.readonly\"\n                [class]=\"_inputIconText.inputClass\"\n                [style.height]=\"_inputIconText.height\"\n                (input)=\"formOutput()\"\n              ></textarea>\n              <label [for]=\"_inputIconText.id\">{{ _inputIconText.label }}</label>\n            </div>\n          </div>\n          <div *ngSwitchCase=\"'select'\">\n            <div class=\"form-floating\">\n              <select\n                [id]=\"_inputIconText.id\"\n                [formControlName]=\"_inputIconText.name\"\n                [placeholder]=\"_inputIconText.placeholder\"\n                aria-label=\"Floating label select\"\n                class=\"form-select\"\n                (change)=\"formOutput()\"\n              >\n                <option selected></option>\n                <option *ngFor=\"let option of _inputIconText.options\"  [value]=\"option\">\n                  {{ option }}\n                </option>\n              </select>\n              <label [for]=\"_inputIconText.id\">{{ _inputIconText.label }}</label>\n            </div>\n          </div>\n          <div *ngSwitchCase=\"'checkbox'\">\n            <div class=\"form-check\">\n              <input\n                [id]=\"_inputIconText.id\"\n                [type]=\"_inputIconText.type\"\n                [formControlName]=\"_inputIconText.name\"\n                class=\"form-check-input\"\n                (change)=\"selectCheck($event,_inputIconText)\"\n              />\n              <label [for]=\"_inputIconText.id\" class=\"form-check-label\">{{ _inputIconText.label }}</label>\n            </div>\n          </div>\n          <div *ngSwitchCase=\"'radio'\">\n            <div class=\"form-check\">\n              <input\n                [id]=\"_inputIconText.id\"\n                [type]=\"_inputIconText.type\"\n                [formControlName]=\"_inputIconText.name\"\n                [name]=\"_inputIconText.name\"\n                class=\"form-check-input\"\n                (change)=\"selectedRadio(_inputIconText)\"\n              />\n              <label [for]=\"_inputIconText.id\" class=\"form-check-label\">{{ _inputIconText.label }}</label>\n            </div>\n          </div>\n          <div *ngSwitchDefault>\n            <div class=\"input-group py-2\">\n              <span [class]=\"_inputIconText.iconClass\">\n                <alloy-icon [icon]=\"_inputIconText.icon\"></alloy-icon>\n              </span>\n              <div class=\"form-floating\">\n                <input\n                  [id]=\"_inputIconText.id\"\n                  [type]=\"_inputIconText.type\"\n                  [formControlName]=\"_inputIconText.name\"\n                  [placeholder]=\"_inputIconText.placeholder\"\n                  [readonly]=\"_inputIconText.readonly\"\n                  [class]=\"_inputIconText.inputClass\"\n                  (input)=\"formOutput()\"\n                />\n                <label [for]=\"_inputIconText.id\">{{ _inputIconText.label }}</label>\n              </div>\n            </div>\n          </div>\n        </div>\n      <div\n        *ngIf=\"getTouched(_inputIconText.name)\"\n        class=\"alert text-start alert-text-danger m-0 p-0\"\n      >\n        <div *ngIf=\"getError(_inputIconText)\">\n          <div *ngFor=\"let error of errors\">\n            {{ error }}\n          </div>\n        </div>\n      </div>\n    </div>\n  </div>\n</form>\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { AbstractControl } from '@angular/forms';\nimport { AlloyButtonIcon } from '../../../cell/button/button.model';\nimport { AlloyInputTextIcon } from '../../../cell/input/input.model';\nimport { AlloySearchBar } from '../searchbar.model';\n\n@Component({\n  selector: 'alloy-searchbar',\n  templateUrl: './searchbar.component.html',\n  styleUrls: ['./searchbar.component.css']\n})\nexport class SearchbarComponent {\n  _searchBar: AlloySearchBar;\n  _output: any;\n  @Input() set searchBar(searchBar: AlloySearchBar) {\n  \tthis._searchBar = searchBar;\n    this._output = {};\n  }\n\n  @Output() output: EventEmitter<AbstractControl<any,any>> = new EventEmitter<AbstractControl<any,any>>();\n\n  constructor() { \n    this._searchBar = new AlloySearchBar();\n  }  \n\n  searchOutput(search){\n    console.log(search);\n  //   if(search.name){\n  //     this._output[\"search\"] = search.name;\n  //   }\n  //   if(search instanceof AlloyButtonIcon){\n  //     this._output[\"button\"] = search.name;\n  //   }\n  //   this.output.emit(this._output);\n  }\n}\n","<div [id]=\"_searchBar.id\" [class]=\"_searchBar.className\">\n    <div class=\"col-12 col-md-8\">\n        <alloy-input-icon-text [inputIconText]=\"_searchBar.search\" (output)=\"searchOutput($event)\"></alloy-input-icon-text>\n    </div>\n    <div class=\"col-12 col-md-4 d-flex justify-content-end\">\n        <alloy-button-icon [buttonIcon]=\"_searchBar.upload\" (output)=\"searchOutput($event)\"></alloy-button-icon>\n    </div>\n</div>","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { Page } from './page.model';\n\n@Component({\n  selector: 'alloy-page',\n  templateUrl: './page.component.html',\n  styleUrls: ['./page.component.css']\n})\nexport class PageComponent{\n  _page: Page;\n  @Input() set page(page: Page){\n    this._page = page;\n  }\n  @Output() output: EventEmitter<number> = new EventEmitter<number>();\n\n  nextPage(pageNumber){\n    this.output.emit(pageNumber);\n  }\n}\n","  <!--Pagignation links-->\n  <nav aria-label=\"Page navigation example\">\n    <ul class=\"pagination justify-content-end\">\n      <li class=\"page-item\" *ngIf=\"!_page.first\">\n        <a\n          class=\"page-link \"\n          [routerLink]=\"\"\n          (click)=\"nextPage(_page.pageNumber - 1)\"\n          >Previous</a\n        >\n      </li>\n      <li\n        class=\"page-item\"\n        *ngFor=\"let p of _page.pages\"\n        [class.active]=\"p === _page.pageNumber\"\n      >\n        <a class=\"page-link\" [routerLink]=\"\" (click)=\"nextPage(p)\">{{\n          p + 1\n        }}</a>\n      </li>\n      <li class=\"page-item\"  *ngIf=\"!_page.last\">\n        <a\n          class=\"page-link\"\n          [routerLink]=\"\"\n          (click)=\"nextPage(_page.pageNumber + 1)\"\n          >Next</a\n        >\n      </li>\n    </ul>\n  </nav>\n","import { AlloyButtonIcon } from \"../../cell/button/button.model\";\n\nexport class ClientBar{\n    id: string;\n    className: string;\n    backButton: AlloyButtonIcon;\n    constructor(response?: any) {\n        if (response) {\n            this.id = response.id ? response.id : \"\";\n            this.className = response.className ? response.className : '';\n            this.backButton =  response.backButton ? new AlloyButtonIcon(response.backButton) : new AlloyButtonIcon();\n        } else {\n            this.id = \"\";\n            this.className = '';\n            this.backButton =  new AlloyButtonIcon();\n        }\n    }\n}\n\nexport class AlloyClientBar extends ClientBar{\n    client: ClientBarClient;\n    constructor(response?: any) {\n        if (response) {\n          super(response);\n          this.client = response.client ? new ClientBarClient(response.client) :  new ClientBarClient();\n        } else {\n          super();\n          this.client = new ClientBarClient();\n        }\n    }\n}\n  \nexport class ClientBarClient {\n    id: string;\n    name: string;\n    roles: ClientBarRole[];\n    constructor(response?: any) {\n      if (response) {\n        this.id = response.id ? response.id : '';\n        this.name = response.name ? response.name : '';\n        this.roles = response.roles ? response.roles.map(r=>new ClientBarRole(r)) :  [];\n      } else {\n        this.id = '';\n        this.name = '';\n        this.roles = [];\n      }\n    }\n}\n  \nexport class ClientBarRole {\n    id: string;\n    name: string;\n    link: string;\n    selected: boolean;\n    constructor(response?: any) {\n      if (response) {\n        this.id = response.id ? response.id : '';\n        this.name = response.name ? response.name : '';\n        this.link = response.link ? response.link : '';\n        this.selected = false;\n      } else {\n        this.id = '';\n        this.name = '';\n        this.link = '';\n        this.selected = false;\n      }\n    }\n}\n  \n  \n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { AlloyButtonIcon } from '../../../cell/button/button.model';\nimport { AlloyIcon } from '../../../cell/icon/icon.model';\nimport { AlloyLink } from '../../../cell/link/link.model';\nimport { AlloyClientBar } from '../clientbar.model';\n\n@Component({\n  selector: 'alloy-clientbar',\n  templateUrl: './clientbar.component.html',\n  styleUrls: ['./clientbar.component.css']\n})\nexport class ClientbarComponent {\n  _clientBar: AlloyClientBar;\n  clientIcon: AlloyIcon;\n  roles: AlloyLink[];\n  logout: AlloyLink;\n  @Input() set clientBar(clientBar: AlloyClientBar) {\n  \tthis._clientBar = clientBar;\n    this.roles = this.getRoles();\n  }\n  constructor(){\n    this._clientBar = new AlloyClientBar();\n    this.clientIcon = new AlloyIcon({id:1,icon:\"faUser\",size:\"lg\",spin:false,className:\"\"})\n    this.logout = new AlloyLink({id:1,name:\"Logout\",className:\"dropdown-item\",link:\"/\"});\n    this.roles = [];\n  }\n\n  @Output() output: EventEmitter<AlloyButtonIcon>= new EventEmitter<AlloyButtonIcon>();\n\n  getRoles(){\n    let roles = this._clientBar.client.roles.map(r=>new AlloyLink(r));\n    roles.forEach(r=>{\n      r.className = 'dropdown-item'\n    });\n\n    return roles;\n  }\n\n  selectRole(id: number){\n    if(this._clientBar.client.roles && this._clientBar.client.roles.length > 0){\n      this._clientBar.client.roles.map(r=>r.selected = false);\n      this._clientBar.client.roles[id].selected = true;\n    }\n  }\n}\n","<header [id]=\"_clientBar.id\" [class]=\"_clientBar.className\">\n  <nav class=\"navbar navbar-expand-lg\">\n    <div class=\"container-fluid justify-content-between\">\n      <div class=\"mx-2 d-flex\">\n        <!-- Responsive navbar toggler -->\n        <button \n        class=\"navbar-toggler ms-auto bar\" \n        type=\"button\" \n        data-bs-toggle=\"offcanvas\" \n        data-bs-target=\"#offcanvasExample\" \n        aria-controls=\"offcanvasExample\" \n        aria-expanded=\"false\" \n        aria-label=\"Toggle navigation\">\n        <span class=\"navbar-toggler-animation\">\n            <span></span>\n            <span></span>\n            <span></span>\n        </span>\n      </button>\n      <alloy-button-icon\n      [buttonIcon]=\"_clientBar.backButton\"\n      (output)=\"output.emit($event)\"\n    ></alloy-button-icon>\n      </div>\n      <ng-container *ngIf=\"_clientBar.client.name != ''; then loggedIn\">\n      </ng-container>\n        <ng-template #loggedIn>\n          <div class=\"text-center dropdown\">\n            <button\n              class=\"btn btn-outline-dark btn-sm border-1 mx-1 dropdown-toggle\"\n              type=\"button\"\n              id=\"dropdownMenuButton1\"\n              data-bs-toggle=\"dropdown\"\n              aria-expanded=\"false\"\n            >\n              <alloy-icon [icon]=\"clientIcon\"></alloy-icon>\n              <small class=\"p-1\">{{ _clientBar.client.name }}</small>\n            </button>\n            <ul class=\"dropdown-menu\" aria-labelledby=\"dropdownMenuButton1\">\n              <li *ngFor=\"let role of roles; index as i\">\n                <alloy-link [link]=\"role\"></alloy-link>\n                <div class=\"dropdown-divider\"></div>\n              </li>\n              <li>\n                <alloy-link [link]=\"logout\"></alloy-link>\n              </li>\n            </ul>\n          </div>\n        </ng-template>\n      </div>\n  </nav>\n</header>\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { TableAction } from '../table.model';\nimport { KeyValue } from '@angular/common';\n\n@Component({\n  selector: 'alloy-table-action',\n  templateUrl: './table-action.component.html',\n  styleUrls: ['./table-action.component.css']\n})\nexport class TableActionComponent {\n  _tableAction: TableAction;\n  @Input() set tableAction(tableAction: TableAction){\n    this._tableAction = tableAction;\n  }\n  @Output() output: EventEmitter<any>= new EventEmitter<any>();\n\n  constructor() {\n    this._tableAction = new TableAction();\n  }\n\n  getAction(action,row){\n    let data = {row:{},action:{}};\n    data.row = row;\n    data.action = action;\n    this.output.emit(data);\n  }\n\n  capitalize(s) {\n    if (typeof s !== 'string') return '';\n    return s.charAt(0).toUpperCase() + s.slice(1);\n  }\n\n    // Preserve original property order\n    originalOrder = (a: KeyValue<number,string>, b: KeyValue<number,string>): number => {\n      return 0;\n    }\n\n}\n","<table [class]=\"_tableAction.className\" [id]=\"_tableAction.id\">\n  <caption class=\"caption-top text-center\">\n    {{\n      _tableAction.name\n    }}\n  </caption>\n  <thead>\n    <tr>\n      <th scope=\"col\">Type</th>\n      <th scope=\"col\" *ngFor=\"let h of _tableAction.rows[0] | keyvalue: originalOrder\">\n        <span *ngIf=\"h.key != 'id'\">{{ capitalize(h.key) }}</span>\n      </th>\n      <th scope=\"col\">Action</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr *ngFor=\"let body of _tableAction.rows; index as j\">\n      <td>\n        <alloy-icon [icon]=\"_tableAction.icon\"></alloy-icon>\n      </td>\n      <td\n        class=\"cursor\"\n        *ngFor=\"let col of body | keyvalue: originalOrder\"\n        [routerLink]=\"[_tableAction.link + '/' + body.id]\"\n      >\n        <span *ngIf=\"col.key != 'id'\">{{ col.value }}</span>\n      </td>\n      <td>\n        <div class=\"btn-group\" role=\"group\" aria-label=\"Edit and Delete\">\n          <button\n            *ngFor=\"let i of _tableAction.actions\"\n            class=\"btn btn-outline-dark btn-sm border-0 mx-1\"\n            (click)=\"getAction(i.id, body)\"\n          >\n            <alloy-icon [icon]=\"i\"></alloy-icon>\n          </button>\n        </div>\n      </td>\n    </tr>\n  </tbody>\n</table>\n","\nimport { AlloyLink, AlloyLinkIcon, AlloyLinkLogo } from \"../../cell/link/link.model\";\n\nexport class AlloyFooter{\n    id: string;\n    title: string;\n    className: string;\n    logo: AlloyLinkLogo;\n    link: AlloyLink[];\n    social: AlloyLinkIcon[];\n    static idGenerator: number = 0;\n    constructor(res?: any){\n        if(res){\n            this.id = res.id ? res.id : \"button\" + ++AlloyFooter.idGenerator;\n            this.title = res.title ? res.title : \"AlloyMobile\";\n            this.className = res.className ? res.className : \"bg-info container-fluid\";\n            this.logo =  res.logo ? new AlloyLinkLogo(res.logo) :  new AlloyLinkLogo();\n            this.link = res.link ? res.link.map((link: AlloyLink)=>new AlloyLink(link)) : []; \n            this.social = res.social ? res.social.map((social: AlloyLinkIcon)=>new AlloyLinkIcon(social)) : []; \n        }else{\n            this.id =  \"footer1\";\n            this.title = \"AlloyMobile\";\n            this.className = \"bg-info container-fluid\";\n            this.logo = new AlloyLinkLogo();\n            this.link = [];\n        }\n    }\n\n    toString(){\n        return{\n            id: this.id ?? \"footer1\",\n            title: this.title ?? \"AlloyMobile\",\n            className: this.className ?? \"bg-info container-fluid\",\n            logo: this.logo ?? new AlloyLinkLogo(),\n            link: this.link ?? [],\n            social: this.social.map(s=>s.tostring()) ?? []\n        }\n    }\n}","import { Component, Input } from '@angular/core';\nimport { AlloyFooter } from '../footer-model';\n\n@Component({\n  selector: 'alloy-footer',\n  templateUrl: './footer.component.html',\n  styleUrls: ['./footer.component.css']\n})\nexport class FooterComponent {\n  _footer: AlloyFooter;\n  @Input() set footer(_footer: AlloyFooter) {\n  \tthis._footer = _footer;\n  }\n  constructor(){\n    this._footer = new AlloyFooter();\n  }\n}\n","<footer [class]=\"_footer.className\" [id]=\"_footer.id\">\n\t<div class=\"container\">\n\t\t<div class=\"row mx-auto\">\n\t\t\t<div class=\"col-lg-6 mx-auto text-center my-5\">\n\t\t\t\t<!-- Logo -->\n                <alloy-link-logo [linkLogo]=\"_footer.logo\"></alloy-link-logo>\n\t\t\t\t<p class=\"mt-3 text-white\">{{_footer.title}}</p>\n                <!-- Links -->\n                <ul class=\"nav justify-content-center text-primary-hover mt-3 mt-md-0\">\n                    <li *ngFor=\"let i of _footer.link\" class=\"nav-item\">\n                        <alloy-link [link]=\"i\"></alloy-link>\n                    </li>\n\t\t\t\t</ul>\n\t\t\t\t<!-- Social media button -->\n\t\t\t\t<ul class=\"list-inline mt-3 mb-0\">\n\t\t\t\t\t<li class=\"list-inline-item\" *ngFor=\"let i of _footer.social\"> \n                        <alloy-icon-link [iconLink]=\"i\"></alloy-icon-link>\n\t\t\t\t\t</li>\n\t\t\t\t</ul>\n                <!-- Bottom footer link -->\n\t\t\t\t<div class=\"mt-3 text-white\">©2021 <a href=\"https://www.alloymobile.com/\" class=\"text-reset btn-link text-primary-hover\" target=\"_blank\">AlloyMobile</a>. All rights reserved. </div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</footer>","\nimport { AlloyButtonSubmit } from \"../../cell/button/button.model\";\nimport {AlloyInputType } from \"../../cell/input/input.model\";\n\nexport class Form{\n    id: string;\n    title: string;\n    className: string;\n    message: string;\n    type: string;\n    action: string;\n    constructor(res?: any){\n        if(res){\n            this.id = res.id ? res.id : \"form\";\n            this.title = res.title ? res.title : \"AlloyMobile\";\n            this.type = res.type ? res.type : \"AlloyInputTextIcon\";\n            this.className = res.className ? res.className : \"col m-2\";\n            this.message = res.message ? res.message : \"\";\n            this.action = res.action ? res.action : \"\";\n        }else{\n            this.id =  \"form\";\n            this.title = \"AlloyMobile\";\n            this.type = \"AlloyInputTextIcon\";\n            this.className = \"col m-2\";\n            this.message = \"\";\n            this.action = \"\";\n        }\n    }\n}\n\n\nexport class AlloyForm extends Form{\n    submit: AlloyButtonSubmit;\n    fields: AlloyInputType[];\n    data: any;\n    constructor(res?: any){\n        if(res){\n            super(res);\n            this.submit = res.submit ? new AlloyButtonSubmit(res.submit) : new AlloyButtonSubmit();\n            this.fields = res.fields ? res.fields.map(f=>new AlloyInputType(f)) : [];\n            this.data={};\n        }else{\n            super();\n            this.submit = new AlloyButtonSubmit();\n            this.fields = [];\n            this.data = {}\n        }\n    }   \n}","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { AbstractControl } from '@angular/forms';\nimport { AlloyForm } from '../form.model';\n\n@Component({\n  selector: 'alloy-form',\n  templateUrl: './form.component.html',\n  styleUrls: ['./form.component.css']\n})\nexport class FormComponent {\n  _form: AlloyForm;\n  @Input() set form(_form: AlloyForm){\n    this._form = _form;\n  }\n  @Output() output: EventEmitter<AbstractControl<any,any>> = new EventEmitter<AbstractControl<any,any>>();\n  constructor() {\n    this._form = new AlloyForm();\n  }\n\n  getText(text){\n    text.error ? this._form.submit.disable = true : this._form.submit.disable = false;\n    this._form.data = text;\n  }\n\n  submitData(action){\n    this._form.submit.disable = true \n    this._form.submit.show = true;\n    this._form.message = \"\";\n    let data = {...this._form.data}\n    data[\"action\"]= action;\n    this.output.emit(data);\n  }\n}\n","<div class=\"row\">\n    <div [class]=\"_form.className\">\n        <div class=\"text-center\">\n            <h3>{{_form.title}}</h3>\n            <div class=\"alert alert-text-danger m-0 p-0\" *ngIf=\"_form.message != ''\">{{ _form.message }}</div>\n            <ng-container [ngSwitch]=\"_form.type\">\n                <ng-container *ngSwitchCase=\"'AlloyInputTextIcon'\">\n                    <alloy-input-icon-texts [inputIconTexts]=\"_form.fields\" (output)=\"getText($event)\"></alloy-input-icon-texts>\n                </ng-container>\n                <ng-container *ngSwitchCase=\"'AlloyInputFloatingText'\">\n                    <alloy-input-floating-texts [inputFloatingTexts]=\"_form.fields\" (output)=\"getText($event)\"></alloy-input-floating-texts>\n                </ng-container>\n                <ng-container *ngSwitchCase=\"'AlloyInputText'\">\n                    <alloy-input-texts [inputTexts]=\"_form.fields\" (output)=\"getText($event)\"></alloy-input-texts>\n                </ng-container>\n                <ng-container *ngSwitchDefault>\n                    <alloy-input-icon-texts [inputIconTexts]=\"_form.fields\" (output)=\"getText($event)\"></alloy-input-icon-texts>\n                </ng-container>\n            </ng-container>\n            <alloy-button-submit [buttonSubmit]=\"_form.submit\" (output)=\"submitData(_form.action)\"></alloy-button-submit>\n        </div>\n    </div>\n</div>","import { AlloyButton } from \"../../cell/button/button.model\";\nimport { AlloyInputType } from \"../../cell/input/input.model\";\n\nexport class Modal{\n    id: string;\n    title: string;\n    className: string;\n    submit: AlloyButton;\n    action: string;\n    constructor(res?: any){\n        if(res){\n            this.id = res.id ? res.id : \"\";\n            this.title = res.title ? res.title : \"\";\n            this.className = res.className ? res.className : \"modal fade\";\n            this.submit = res.submit ? new AlloyButton(res.submit) : new AlloyButton();\n            this.action = res.action ? res.action : \"\";\n        }else{\n            this.id =  \"\";\n            this.title = \"\";\n            this.className = \"modal fade\";\n            this.submit = new AlloyButton();\n            this.action = \"\";\n        }\n    }\n}\n\nexport class AlloyModalToast extends Modal{\n    message: string;\n    constructor(res?: any){\n        if(res){\n            super(res);\n            this.message = res.message ?  res.message :'';\n\n        }else{\n            super();\n            this.message = '';\n        }\n    }\n}\n\n\nexport class AlloyModal extends Modal{\n    fields: AlloyInputType[];\n    data: any;\n    type: string;\n    constructor(res?: any){\n        if(res){\n            super(res);\n            this.type = res.type ? res.type : \"AlloyInputTextIcon\";\n            this.fields = res.fields ? res.fields.map(f=>new AlloyInputType(f)) : [];\n            this.data={};\n        }else{\n            super();\n            this.type = \"AlloyInputTextIcon\";\n            this.fields = [];\n            this.data = {}\n        }\n    }\n}","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { AbstractControl } from '@angular/forms';\nimport { AlloyModal } from '../modal.model';\n\n@Component({\n  selector: 'alloy-modal',\n  templateUrl: './modal.component.html',\n  styleUrls: ['./modal.component.css']\n})\nexport class ModalComponent {\n  _modal: AlloyModal;\n  @Input() set modal(modal: AlloyModal){\n    this._modal = modal;\n  }\n  @Output() output: EventEmitter<AbstractControl<any,any>> = new EventEmitter<AbstractControl<any,any>>();\n  constructor() {\n    this._modal = new AlloyModal();\n  }\n\n  getText(text){\n    this._modal.data = text;\n  }\n\n  submitData(action){\n    let data = {...this._modal.data}\n    data[\"action\"]= action;\n    this.output.emit(data);\n  }\n}\n","<div\n  [class]=\"_modal.className\"\n  [id]=\"_modal.id\"\n  tabindex=\"-1\"\n  aria-labelledby=\"exampleModalLabel\"\n  aria-hidden=\"true\"\n  role=\"dialog\"\n>\n  <div class=\"modal-dialog\" role=\"document\">\n    <div class=\"modal-content\">\n      <div class=\"modal-header\">\n        <h5 class=\"modal-title\" id=\"exampleModalLabel\">\n          {{ _modal.action + \" a \"+ _modal.title }}\n        </h5>\n        <button\n          type=\"button\"\n          class=\"btn-close\"\n          data-bs-dismiss=\"modal\"\n          aria-label=\"Close\"\n        ></button>\n      </div>\n      <div class=\"modal-body\">\n        <div [ngSwitch]=\"_modal.type\">\n          <ng-container [ngSwitch]=\"_modal.type\">\n            <ng-container *ngSwitchCase=\"'AlloyInputTextIcon'\">\n                <alloy-input-icon-texts [inputIconTexts]=\"_modal.fields\" (output)=\"getText($event)\"></alloy-input-icon-texts>\n            </ng-container>\n            <ng-container *ngSwitchCase=\"'AlloyInputFloatingText'\">\n                <alloy-input-floating-texts [inputFloatingTexts]=\"_modal.fields\" (output)=\"getText($event)\"></alloy-input-floating-texts>\n            </ng-container>\n            <ng-container *ngSwitchCase=\"'AlloyInputText'\">\n                <alloy-input-texts [inputTexts]=\"_modal.fields\" (output)=\"getText($event)\"></alloy-input-texts>\n            </ng-container>\n            <ng-container *ngSwitchDefault>\n                <alloy-input-icon-texts [inputIconTexts]=\"_modal.fields\" (output)=\"getText($event)\"></alloy-input-icon-texts>\n            </ng-container>\n        </ng-container>\n      </div>\n      <div class=\"modal-footer\">\n        <button\n          type=\"button\"\n          class=\"btn btn-outline-dark\"\n          data-bs-dismiss=\"modal\"\n        >\n          Cancel\n        </button>\n        <alloy-button [button]=\"_modal.submit\" (output)=\"submitData(_modal.action)\"></alloy-button>\n      </div>\n    </div>\n  </div>\n</div>\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { AlloyModalToast } from '../modal.model';\n\n@Component({\n  selector: 'alloy-modal-toast',\n  templateUrl: './modal-toast.component.html',\n  styleUrls: ['./modal-toast.component.css']\n})\nexport class ModalToastComponent {\n  _modalToast: AlloyModalToast;\n  @Input() set modalToast(modalToast: AlloyModalToast){\n    this._modalToast = modalToast;\n  }\n  @Output() output: EventEmitter<String>= new EventEmitter<String>();\n  constructor() {\n    this._modalToast = new AlloyModalToast();\n  }\n}\n","<div\n  [class]=\"_modalToast.className\"\n  [id]=\"_modalToast.id\"\n  tabindex=\"-1\"\n  aria-labelledby=\"exampleModalLabel\"\n  aria-hidden=\"true\"\n  role=\"dialog\"\n>\n  <div class=\"modal-dialog\" role=\"document\">\n    <div class=\"modal-content\">\n      <div class=\"modal-header\">\n        <h5 class=\"modal-title\" id=\"exampleModalLabel\">\n          {{ _modalToast.title }}\n        </h5>\n        <button\n          type=\"button\"\n          class=\"btn-close\"\n          data-bs-dismiss=\"modal\"\n          aria-label=\"Close\"\n        ></button>\n      </div>\n      <div class=\"modal-body\">\n        <h3>{{_modalToast.message}}</h3>\n      </div>\n      <div class=\"modal-footer\">\n        <button\n          type=\"button\"\n          class=\"btn btn-outline-dark\"\n          data-bs-dismiss=\"modal\"\n        >\n          Cancel\n        </button>\n        <alloy-button [button]=\"_modalToast.submit\" (output)=\"output.emit(_modalToast.action)\"></alloy-button>\n      </div>\n    </div>\n  </div>\n</div>\n","import { AlloyLink } from \"../../cell/link/link.model\";\nimport { AlloyForm } from \"../form/form.model\";\n\nexport class Reset{\n  id: string; \n  className: string;\n  resetForm: AlloyForm;\n  loginLink: AlloyLink;\n  constructor(response?: any){\n    if(response){\n      this.id = response.id ?  response.id : \"reset\";\n      this.className = response.className ? response.className : \"d-flex justify-content-center flex-column text-center h-100 mt-3\";\n      this.resetForm = response.resetForm ? new AlloyForm(response.resetForm) : new AlloyForm();\n      this.loginLink = response.loginLink ? new AlloyLink(response.loginLink) : new AlloyLink();\n    }else{\n      this.id = \"reset\";\n      this.className =  \"d-flex justify-content-center flex-column text-center h-100 mt-3\";\n      this.resetForm = new AlloyForm();\n      this.loginLink = new AlloyLink();\n    }\n  }\n}","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { AbstractControl} from '@angular/forms';\nimport { Reset } from '../reset.model';\n\n@Component({\n  selector: 'alloy-reset',\n  templateUrl: './reset.component.html',\n  styleUrls: ['./reset.component.css']\n})\nexport class ResetComponent {\n  _reset: Reset;\n\n  @Input() set reset(reset: Reset){\n    this._reset = reset;\n  };\n\n  @Output() output: EventEmitter<AbstractControl<any,any>> = new EventEmitter<AbstractControl<any,any>>();\n\n  constructor() {\n    this._reset = new Reset();\n  }\n}\n","<div [id]=\"_reset.id\" class=\"d-flex justify-content-center flex-column text-center h-100 mt-3\">\n  <div class=\"row\">\n      <div [class]=\"_reset.className\">\n          <alloy-form [form]=\"_reset.resetForm\" (output)=\"output.emit($event)\"></alloy-form>\n      </div>\n      <alloy-link [link]=\"_reset.loginLink\"></alloy-link>\n  </div>\n</div>","import { AlloyLink } from \"../../cell/link/link.model\";\nimport { AlloyForm } from \"../form/form.model\";\n\nexport class Code{\n  id: string; \n  className: string;\n  codeForm: AlloyForm;\n  loginLink: AlloyLink;\n  constructor(response?: any){\n    if(response){\n      this.id = response.id ?  response.id : \"code\";\n      this.className = response.className ? response.className : \"d-flex justify-content-center flex-column text-center h-100 mt-3\";\n      this.codeForm = response.codeForm ? new AlloyForm(response.codeForm) : new AlloyForm();\n      this.loginLink = response.loginLink ? new AlloyLink(response.loginLink) : new AlloyLink();\n    }else{\n      this.id = \"code\";\n      this.className =  \"d-flex justify-content-center flex-column text-center h-100 mt-3\";\n      this.codeForm = new AlloyForm();\n      this.loginLink = new AlloyLink();\n    }\n  }\n}\n  ","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { AbstractControl} from '@angular/forms';\nimport { Code } from '../code.model';\n\n@Component({\n  selector: 'alloy-code',\n  templateUrl: './code.component.html',\n  styleUrls: ['./code.component.css']\n})\nexport class CodeComponent {\n  _code: Code;\n  @Input() set code(code: Code){\n    this._code = code;\n  };\n\n  @Output() output: EventEmitter<AbstractControl<any,any>> = new EventEmitter<AbstractControl<any,any>>();\n\n  constructor() {\n    this._code = new Code();\n  }\n\n  resendCode(){\n    let _output: any = {};\n    _output[\"resend\"] = true;\n    this.output.emit(_output);\n  }\n}\n","<div [id]=\"_code.id\" class=\"d-flex justify-content-center flex-column text-center h-100 mt-3\" >\n  <div class=\"row\">\n      <div [class]=\"_code.className\">\n          <alloy-form [form]=\"_code.codeForm\" (output)=\"output.emit($event)\"></alloy-form>\n          <div class=\"p-2\">\n            <small id=\"codeHelp\" class=\"form-text text-dark ml-2\">\n              Please enter the code received in your email or phone. Did not receive code\n              <span class=\"cursor\" (click)=\"resendCode()\"><strong>resend again.</strong></span>\n            </small>\n            <alloy-link [link]=\"_code.loginLink\"></alloy-link>\n          </div>\n      </div>\n  </div>\n</div>","import { AlloyLink } from '../../cell/link/link.model';\nimport { AlloyForm } from '../form/form.model';\n\nexport class Login {\n  id: string; \n  className: string;\n  loginForm: AlloyForm;\n  rememberMe: boolean;\n  forgetPassword: AlloyLink;\n  constructor(response?: any) {\n    if (response) {\n      this.id = response.id ?  response.id : \"login\";\n      this.className = response.className ? response.className : \"d-flex justify-content-center flex-column text-center h-100 mt-3\";\n      this.loginForm = response.loginForm ? new AlloyForm(response.loginForm) : new AlloyForm();\n      this.rememberMe = response.rememberMe ? response.rememberMe : false;\n      this.forgetPassword = response.forgetPassword ? new AlloyLink(response.forgetPassword) : new AlloyLink();\n    } else {\n      this.id = \"login\";\n      this.className = \"d-flex justify-content-center flex-column text-center h-100 mt-3\";\n      this.loginForm = new AlloyForm();\n      this.rememberMe = false;\n      this.forgetPassword = new AlloyLink();\n    }\n  }\n}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { AbstractControl} from '@angular/forms';\nimport { Login } from '../login.model';\n\n@Component({\n  selector: 'alloy-login',\n  templateUrl: './login.component.html',\n  styleUrls: ['./login.component.css']\n})\nexport class LoginComponent {\n  _login: Login;\n  @Input() set login(login: Login){\n    this._login = login;\n  };\n\n  @Output() output: EventEmitter<AbstractControl<any,any>> = new EventEmitter<AbstractControl<any,any>>();\n\n  constructor() {\n    this._login = new Login();\n  }\n}\n","<div [id]=\"_login.id\" class=\"d-flex justify-content-center flex-column text-center h-100 mt-3\">\n  <div class=\"row\">\n      <div [class]=\"_login.className\">\n          <alloy-form [form]=\"_login.loginForm\" (output)=\"output.emit($event)\"></alloy-form>\n          <div class=\"d-flex justify-content-between mx-3\">\n            <div class=\"checkbox mb-3\">\n              <label> <input type=\"checkbox\" value=\"remember-me\" /> Remember me </label>\n            </div>\n            <alloy-link [link]=\"_login.forgetPassword\"></alloy-link>\n          </div>\n      </div>\n  </div>\n</div>\n","import { AlloyLink } from \"../../cell/link/link.model\";\nimport { AlloyForm } from \"../form/form.model\";\n\nexport class Register{\n    id: string; \n    className: string;\n    registerForm: AlloyForm;\n    privacyLink: AlloyLink;\n    termsLink: AlloyLink;\n    constructor(response?: any){\n      if(response){\n        this.id = response.id ?  response.id : \"\";\n        this.className = response.className ? response.className : \"\";\n        this.registerForm = response.registerForm ? new AlloyForm(response.registerForm) : new AlloyForm();\n        this.privacyLink = response.privacyLink ? new AlloyLink(response.privacyLink) : new AlloyLink();\n        this.termsLink = response.termsLink ? new AlloyLink(response.termsLink) : new AlloyLink();\n      }else{\n        this.id = \"register\";\n        this.className = \"d-flex justify-content-center flex-column text-center h-100 mt-3\";\n        this.registerForm = new AlloyForm();\n        this.privacyLink = new AlloyLink();\n        this.termsLink = new AlloyLink();\n      }\n    }\n  }\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { AbstractControl} from '@angular/forms';\nimport { Register } from '../register.model';\n\n@Component({\n  selector: 'alloy-register',\n  templateUrl: './register.component.html',\n  styleUrls: ['./register.component.css']\n})\nexport class RegisterComponent {\n  _register: Register;\n\n  @Input() set register(register: Register){\n    this._register = register;\n  };\n\n  @Output() output: EventEmitter<AbstractControl<any,any>> = new EventEmitter<AbstractControl<any,any>>();\n\n  constructor() {\n    this._register = new Register();\n  }\n}\n","<div [id]=\"_register.id\" class=\"d-flex justify-content-center flex-column text-center h-100 mt-3\">\n  <div class=\"row\">\n      <div [class]=\"_register.className\">\n          <alloy-form [form]=\"_register.registerForm\" (output)=\"output.emit($event)\"></alloy-form>\n          <div class=\"p-2\">\n              <small class=\"form-text ml-2\">\n                By clicking signup you agree to our\n                <alloy-link [link]=\"_register.privacyLink\"></alloy-link>and<alloy-link [link]=\"_register.termsLink\"></alloy-link>\n                 Please click them for more details.\n              </small>\n          </div>\n      </div>\n  </div>\n</div>","import { AlloyLink } from \"../../cell/link/link.model\";\nimport { AlloyForm } from \"../form/form.model\";\n\nexport class Forget{\n  id: string; \n  className: string;\n  forgetForm: AlloyForm;\n  loginLink: AlloyLink;\n  constructor(response?: any) {\n    if (response) {\n      this.id = response.id ?  response.id : \"forget\";\n      this.className = response.className ? response.className : \"d-flex justify-content-center flex-column text-center h-100 mt-3\";\n      this.forgetForm = response.forgetForm ? new AlloyForm(response.forgetForm) : new AlloyForm();\n      this.loginLink = response.loginLink ? new AlloyLink(response.loginLink) : new AlloyLink();\n    } else {\n      this.id = \"forget\";\n      this.className = \"d-flex justify-content-center flex-column text-center h-100 mt-3\";\n      this.forgetForm = new AlloyForm();\n      this.loginLink = new AlloyLink();\n    }\n  }\n}\n  ","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { AbstractControl} from '@angular/forms';\nimport { Forget } from '../forget.model';\n\n@Component({\n  selector: 'alloy-forget',\n  templateUrl: './forget.component.html',\n  styleUrls: ['./forget.component.css']\n})\nexport class ForgetComponent {\n  _forget: Forget;\n\n  @Input() set forget(forget: Forget){\n    this._forget = forget;\n  };\n\n  @Output() output: EventEmitter<AbstractControl<any,any>> = new EventEmitter<AbstractControl<any,any>>();\n\n  constructor() {\n    this._forget = new Forget();\n  }\n}\n","<div [id]=\"_forget.id\" class=\"d-flex justify-content-center flex-column text-center h-100 mt-3\" >\n  <div class=\"row\">\n      <div [class]=\"_forget.className\">\n          <alloy-form [form]=\"_forget.forgetForm\" (output)=\"output.emit($event)\"></alloy-form>\n          <div class=\"px-2\">\n            <small id=\"codeHelp\" class=\"form-text text-dark ml-2\">\n              Please enter your email to receive the reset password link.\n            </small>\n            <alloy-link [link]=\"_forget.loginLink\"></alloy-link>\n          </div>\n      </div>\n  </div>\n</div>","import { AlloyButtonIcon } from \"../../cell/button/button.model\";\nimport { AlloyInputTextIcon } from \"../../cell/input/input.model\";\nimport { AlloyCardAction, AlloyCardIconAction, AlloyCardImageAction} from \"../../tissue/card/card.model\";\nimport { TableAction } from \"../../tissue/table/table.model\";\nimport { AlloyModal} from \"../modal/modal.model\";\n\nexport class Crud{\n    id: string;\n    className: string;\n    modal: AlloyModal;\n    search: AlloyInputTextIcon\n    add: AlloyButtonIcon\n    constructor(res?: any){\n        if(res){\n            this.id = res.id ? res.id : \"\";\n            this.className = res.className ? res.className : \"\";\n            this.modal = res.modal ? new AlloyModal(res.modal) : new AlloyModal();\n            this.search = res.search ? new AlloyInputTextIcon(res.search) : new AlloyInputTextIcon();\n            this.add = res.add ? new AlloyButtonIcon(res.add) : new AlloyButtonIcon();\n        }else{\n            this.id =  \"\";\n            this.className = \"\";\n            this.modal =  new AlloyModal();\n            this.search =  new AlloyInputTextIcon();\n            this.add =  new AlloyButtonIcon();\n        }\n    }\n}\n\n export class AlloyCrudTable extends Crud{\n    table: TableAction\n    constructor(res?: any){\n        if(res){\n            super(res);\n            this.table = res.table ? new TableAction(res.table) : new TableAction();\n        }else{\n            super();\n            this.table =  new TableAction();\n        }\n    }\n}\n\nexport class AlloyCrudCard extends Crud{\n    type: string;\n    cards: AlloyCardAction[]\n    constructor(res?: any){\n        if(res){\n            super(res);\n            this.type = res.type ? res.type : \"AlloyCardAction\";\n            switch(this.type){\n                case \"AlloyCardAction\":\n                    this.cards = res.cards ? res.cards.map(f=>new AlloyCardAction(f)) : [];\n                    break;\n                case \"AlloyCardIconAction\":\n                    this.cards = res.cards ? res.cards.map(f=>new AlloyCardIconAction(f)) : [];\n                    break;    \n                case \"AlloyCardImageAction\":\n                    this.cards = res.cards ? res.cards.map(f=>new AlloyCardImageAction(f)) : [];\n                    break;   \n                default:\n                    this.cards = res.cards ? res.cards.map(f=>new AlloyCardAction(f)) : [];\n                    break;                 \n            }\n        }else{\n            super();\n            this.type = \"AlloyCardAction\";\n            this.cards =  [];\n        }\n    }\n}","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { AlloyInputTextIcon } from '../../../cell/input/input.model';\nimport { AlloyIcon } from '../../../cell/icon/icon.model';\nimport { AbstractControl } from '@angular/forms';\nimport { AlloyCrudTable } from '../crud.model';\ndeclare var window: any;\n\n@Component({\n  selector: 'alloy-crud-table',\n  templateUrl: './crud-table.component.html',\n  styleUrls: ['./crud-table.component.css']\n})\nexport class CrudTableComponent {\n\n  _crudTable: AlloyCrudTable;\n  @Input() set crudTable(crudTable: AlloyCrudTable){\n    this._crudTable = crudTable;\n    this.createRow = [...this._crudTable.modal.fields] as any;\n  }\n  modalForm: any;\n  createRow: AlloyInputTextIcon[];\n  selectedRow: any;\n  @Output() output: EventEmitter<AbstractControl<any,any>> = new EventEmitter<AbstractControl<any,any>>();\n\n  constructor() {\n    this._crudTable = new AlloyCrudTable();\n    this.createRow = [];\n  }\n\n  onClicked(data: any){\n    this._crudTable.modal.action = data.action;\n    this._crudTable.modal.submit.name = data.action;\n    if(data.action == \"Add\"){\n      this._crudTable.modal.fields = [...this.createRow.map(c => new AlloyInputTextIcon(c))];\n    }else if(data.action == \"Edit\"){\n      if(data.row){\n        this.selectedRow = data.row;\n        this._crudTable.modal.fields = [...this.getDataType(data.row).map(f => new AlloyInputTextIcon(f))];\n      }\n    }else if(data.action == \"Delete\"){\n      if(data.row){\n        this.selectedRow = data.row;\n        this._crudTable.modal.fields = [...this.getDataType(data.row).map(f => new AlloyInputTextIcon(f))];\n        this._crudTable.modal.fields.map((f: any) => f.readonly = true);\n      }\n    }\n    this._crudTable.modal.data = {};\n    this.modalForm = new window.bootstrap.Modal(\n      document.getElementById(this._crudTable.modal.id)\n    );\n    this.modalForm.show();\n  }\n\n  getDataType(row){\n    let fields = [];\n    Object.entries(row).forEach(column=>{\n      let metadata = this._crudTable.modal.fields.find((f: any)=>f.name === column[0]) as any;\n      if(metadata != undefined){\n        metadata.text = column[1].toString();\n        fields.push(metadata);\n      }\n    });\n    return fields;\n  }\n\n  capitalize(s) {\n    if (typeof s !== 'string') return '';\n    return s.charAt(0).toUpperCase() + s.slice(1);\n  }\n\n  //The input event will only trigger if there is a change\n  //for delete the is no change so we have two step\n  submitData(data) {\n    this.modalForm.hide();\n    if(data.action === 'Add'){\n      this.output.emit(data);\n    }else if(data.action === 'Edit'){\n      if(Object.keys(data).length > 1){\n        data[\"id\"]=this.selectedRow.id;\n        this.output.emit(data);\n      }\n    }else if(data.action === 'Delete'){\n      let data = {...this.selectedRow}\n      data[\"action\"]='Delete';\n      this.output.emit(data);\n    }\n  }\n\n  getSearch(text){\n    let data = {...text}\n    data[\"action\"]=\"Search\";\n    this.output.emit(data);\n  }\n}\n","\n<div class=\"container-fluid\">\n    <!--Search-->    \n      <div class=\"row input-group mt-2\">\n        <div class=\"col-sm-8\">\n            <alloy-input-icon-text [inputIconText]=\"_crudTable.search\" (output)=\"getSearch($event)\"></alloy-input-icon-text>\n        </div>\n        <div class=\"col-sm-4 d-flex align-items-center justify-content-end\">\n            <alloy-button-icon [buttonIcon]=\"_crudTable.add\" (output)=\"onClicked({action:'Add'})\"></alloy-button-icon>\n        </div>\n      </div>\n      <alloy-table-action [tableAction]=\"_crudTable.table\" (output)=\"onClicked($event)\"></alloy-table-action>\n    </div>\n    \n    <alloy-modal [modal]=\"_crudTable.modal\" (output)=\"submitData($event)\"></alloy-modal>","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { AlloyCrudCard } from '../crud.model';\nimport { AlloyInputTextIcon } from '../../../cell/input/input.model';\nimport { AbstractControl } from '@angular/forms';\nimport { AlloyCardAction } from '../../../tissue/card/card.model';\nimport { AlloyButtonIcon } from '../../../cell/button/button.model';\ndeclare var window: any;\n@Component({\n  selector: 'alloy-crud-card',\n  templateUrl: './crud-card.component.html',\n  styleUrls: ['./crud-card.component.css']\n})\nexport class CrudCardComponent {\n  _crudCard: AlloyCrudCard;\n  @Input() set crudCard(crudCard: AlloyCrudCard){\n    this._crudCard = crudCard;\n    this.createRow = [...this._crudCard.modal.fields] as any\n  }\n\n  modalForm: any;\n  createRow: AlloyInputTextIcon[];\n  addButton: AlloyButtonIcon;\n  selectedRow: any;\n\n  @Output() output: EventEmitter<AbstractControl<any,any>> = new EventEmitter<AbstractControl<any,any>>();\n\n  constructor(){\n    this._crudCard = new AlloyCrudCard();\n    this.addButton = new AlloyButtonIcon({id:\"addButton\",name:\"Add\",type:\"Button\",className:\"btn btn-outline-dark m-2\",active:\"\",icon:{id:\"icon1\",icon:\"faPlus\",size:\"lg\",spin:false,className:\"\"}});\n    this.createRow = [];\n  }\n\n  onClicked(data: any){\n    this._crudCard.modal.action = data.action;\n    this._crudCard.modal.submit.name = data.action;\n    if(data.action == \"Add\"){\n      this._crudCard.modal.fields = [...this.createRow.map(c => new AlloyInputTextIcon(c))];\n    }else if(data.action == \"Edit\"){\n      if(data.row){\n        this.selectedRow = data.row.fields;\n        this._crudCard.modal.fields = [...this.getDataType(data.row).map(f => new AlloyInputTextIcon(f))];\n      }\n    }else if(data.action == \"Delete\"){\n      if(data.row){\n        this.selectedRow = data.row.fields;\n        this._crudCard.modal.fields = [...this.getDataType(data.row).map(f => new AlloyInputTextIcon(f))];\n        this._crudCard.modal.fields.map((f: any) => f.readonly = true);\n      }\n    }\n    this._crudCard.modal.data = {};\n    this.modalForm = new window.bootstrap.Modal(\n      document.getElementById(this._crudCard.modal.id)\n    );\n    this.modalForm.show();\n  }\n\n  getDataType(row: AlloyCardAction){\n    let fields = [];\n    Object.values(row.fields).forEach((item: any)=>{\n      let metadata = this._crudCard.modal.fields.find((f: any)=>f.name === item.id) as any;\n      if(metadata != undefined){\n        metadata.text = item.name;\n        fields.push(metadata);\n      }\n    });\n    return fields;\n  }\n\n  //The input event will only trigger if there is a change\n  //for delete the is no change so we have two step\n  submitData(data) {\n    this.modalForm.hide();\n    if(data.action === 'Add'){\n      this.output.emit(data);\n    }else if(data.action === 'Edit'){\n      if(Object.keys(data).length > 1){\n        data[\"id\"] = this.selectedRow.id.name;\n        this.output.emit(data);\n      }\n    }else if(data.action === 'Delete'){\n      data[\"action\"]='Delete';\n      data[\"id\"] = this.selectedRow.id.name;\n      this.output.emit(data);\n    }\n  }\n}\n","<div class=\"row mt-2\">\n    <div class=\"col-sm-12 text-end\">\n        <alloy-icon-button [iconButton]=\"addButton\" (output)=\"onClicked({action:'Add'})\"></alloy-icon-button>\n    </div>\n  </div>\n<div [id]=\"_crudCard.id\" class=\"row\">\n    <ng-container [ngSwitch]=\"_crudCard.type\">\n        <ng-container *ngSwitchCase=\"'AlloyCardAction'\">\n            <div [class]=\"_crudCard.className\" *ngFor=\"let i of _crudCard.cards\">\n                <alloy-card-action [cardAction]=\"i\" (output)=\"onClicked($event)\"></alloy-card-action>\n            </div>\n        </ng-container>\n        <ng-container *ngSwitchCase=\"'AlloyCardIconAction'\">\n            <div [class]=\"_crudCard.className\" *ngFor=\"let i of _crudCard.cards\">\n                <alloy-card-icon-action [cardIconAction]=\"i\" (output)=\"onClicked($event)\"></alloy-card-icon-action>\n            </div>\n        </ng-container>\n        <ng-container *ngSwitchCase=\"'AlloyCardImageAction'\">\n            <div [class]=\"_crudCard.className\" *ngFor=\"let i of _crudCard.cards\">\n                <alloy-card-image-action [cardImageAction]=\"i\" (output)=\"onClicked($event)\"></alloy-card-image-action>\n            </div>\n        </ng-container>\n        <ng-container *ngSwitchDefault>\n            <alloy-card-action [cardAction]=\"i\" (output)=\"onClicked($event)\"></alloy-card-action>\n        </ng-container>\n    </ng-container>\n</div>\n\n<alloy-modal [modal]=\"_crudCard.modal\" (output)=\"submitData($event)\"></alloy-modal>\n","\nimport { AlloyCrudCard } from \"../crud/crud.model\";\nimport { AlloyCardIconAction } from \"../../tissue/card/card.model\";\nimport { AlloyForm } from \"../form/form.model\";\n\nexport class AlloyProfile{\n    id: string;\n    className: string;\n    action: string;\n    profileForm: AlloyForm; \n    data: any;\n    sample: AlloyCardIconAction;\n    details: AlloyCrudCard\n    constructor(res?: any){\n        if(res){\n            this.id = res.id ? res.id : \"profile\";\n            this.className = res.className ? res.className : \"col m-2\";\n            this.action = res.action ? res.action : \"\";\n            this.profileForm = res.profileForm ? new AlloyForm(res.profileForm) : new AlloyForm();\n            this.data = {}\n            this.sample = res.sample ? new AlloyCardIconAction(res.sample) : new AlloyCardIconAction();\n            this.details = res.details ? new AlloyCrudCard(res.details) : new AlloyCrudCard();\n        }else{\n            this.id =  \"profile\";\n            this.className = \"col m-2\";\n            this.action = \"\";\n            this.data = {},\n            this.profileForm = new AlloyForm();\n            this.sample = new AlloyCardIconAction();\n            this.details = new AlloyCrudCard();\n        }\n    }\n}","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { AlloyProfile } from '../profile.model';\nimport { AbstractControl } from '@angular/forms';\nimport { AlloyIcon } from '../../../cell/icon/icon.model';\n\n@Component({\n  selector: 'alloy-profile',\n  templateUrl: './profile.component.html',\n  styleUrls: ['./profile.component.css']\n})\nexport class ProfileComponent {\n  _profile: AlloyProfile;\n  profileIcon: AlloyIcon;\n  name: string;\n  email: string;\n  @Input() set profile(_profile: AlloyProfile){\n    this._profile = _profile;\n    this.getName();\n    this.getEmail();\n  }\n  @Output() output: EventEmitter<AbstractControl<any,any>> = new EventEmitter<AbstractControl<any,any>>();\n  constructor() {\n    this._profile = new AlloyProfile();\n    this.profileIcon = new AlloyIcon({id:\"icon1\",icon:\"faUser\",size:\"2x\",spin:false,className:\"text-white\"});\n    this.name = \"\";\n    this.email = \"\";\n  }\n\n  submitData(address){\n    this.output.emit(address);\n  }\n\n  getName(){\n    this._profile.profileForm.fields.forEach((record : any) =>{\n      if(record.name == 'name'){\n        this.name = record.text;\n      }\n    });\n  }\n\n  getEmail(){\n    this._profile.profileForm.fields.forEach((record : any)=>{\n      if(record.name == 'email'){\n        this.email = record.text;\n      }\n    });\n  }\n}\n","<div [class]=\"_profile.className\">\n    <div class=\"row m-2\">\n        <div class=\"col-md-12 col-lg-3\">\n            <div class=\"card h-100\">\n                <div class=\"card-body d-flex flex-column justify-content-center align-items-center\">\n                    <div class=\"m-2 text-center p-3 border bg-dark rounded-circle\">\n                        <alloy-icon [icon]=\"profileIcon\"></alloy-icon>\n                    </div>\n                    <div class=\"text-center\">\n                        <span>{{name}}</span>\n                    </div>\n                    <div class=\"text-center\">\n                        <span>{{email}}</span>\n                    </div>\n                </div>\n            </div>\n        </div>\n        <div class=\"col-md-12 col-lg-9\">\n            <alloy-form [form]=\"_profile.profileForm\" (output)=\"output.emit($event)\"></alloy-form>\n        </div>\n    </div>\n    <hr>\n    <h4>Address: </h4>\n    <alloy-crud-card [crudCard]=\"_profile.details\" (output)=\"submitData($event)\"></alloy-crud-card>\n  </div>\n  ","import { AlloyButtonIcon } from \"../../cell/button/button.model\";\nimport { AlloyInputTextIcon } from \"../../cell/input/input.model\";\nimport { AlloyLinkIcon, AlloyLink } from \"../../cell/link/link.model\";\nimport { AlloyForm } from \"../../organ/form/form.model\";\n\nexport class Nav{\n    id: string;\n    className: string;\n    selected: string;\n    constructor(response?: any){\n      if(response){\n        this.id = response.id ? response.id : \"alloyNav\";\n        this.className = response.className ? response.className : \"nav nav-pills nav-fill\";\n        this.selected = response.selected ? response.selected : \"\";\n      }else{\n        this.id = \"alloyNav\";\n        this.className = 'nav nav-pills nav-fill';\n        this.selected = \"\";\n      }\n    }\n}\n\nexport class AlloyTabForm extends Nav{\n    tabs: AlloyButtonIcon[];\n    id: string;\n    title: string;\n    className: string;\n    tabClass: string\n    formClass: string;\n    messageClass: string;\n    message: string;\n    type: string;\n    action: string;\n    actionClass: string;\n    fields: AlloyInputTextIcon[];\n    actions: AlloyButtonIcon[];\n    data: any;\n    constructor(res?: any){\n      if(res){\n        super(res);\n        this.tabs = res.tabs ? res.tabs.map(n => new AlloyButtonIcon(n)) : [];\n        if(this.tabs.length > 0){\n            this.tabs[0].active = this.selected;\n        }\n        this.id = res.id ? res.id : \"form\";\n        this.title = res.title ? res.title : \"AlloyMobile\";\n        this.type = res.type ? res.type : \"AlloyInputTextIcon\";\n        this.className = res.className ? res.className : \"col m-2\";\n        this.tabClass = res.tabClass ? res.tabClass : \"col m-2\";\n        this.formClass = res.formClass ? res.formClass : \"col m-2\";\n        this.messageClass = res.messageClass ? res.messageClass : \"alert alert-text-danger m-0 p-0\";\n        this.message = res.message ? res.message : \"\";\n        this.action = res.action ? res.action : \"\";\n        this.actionClass = res.actionClass ? res.actionClass : \"row\";\n        this.fields = res.fields ? res.fields.map(f=>new AlloyInputTextIcon(f)) : [];\n        this.actions = res.actions ? res.actions.map(f=>new AlloyInputTextIcon(f)) : [];\n        this.data={};\n      }else{\n        super();\n        this.tabs = [];\n        this.id =  \"form\";\n        this.title = \"AlloyMobile\";\n        this.title = \"AlloyInputTextIcon\";\n        this.className = \"col m-2\";\n        this.tabClass = \"m-2\";\n        this.formClass = \"m-2\";\n        this.messageClass = \"alert alert-text-danger m-0 p-0\";\n        this.message = \"\";\n        this.action = \"\";\n        this.actionClass = \"row\";\n        this.fields = [];\n        this.actions = [];\n        this.data = {}\n      }\n    } \n}\n\n\n\n\nexport class AlloyTabButton extends Nav {\n  tabs: AlloyButtonIcon[];\n  forms: AlloyForm[];\n  constructor(response?: any){\n    if(response){\n      super(response);\n      this.tabs = response.tabs ? response.tabs.map(n => new AlloyButtonIcon(n)) : [];\n      if(this.tabs.length > 0){\n          this.tabs[0].active = this.selected;\n      }\n    }else{\n      super();\n      this.tabs = [];\n    }\n  }\n}\n\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { AlloyTabForm } from '../nav.model';\nimport { AlloyButtonIcon } from '../../../cell/button/button.model';\nimport { AbstractControl } from '@angular/forms';\n\n@Component({\n  selector: 'alloy-tab-form',\n  templateUrl: './tab-form.component.html',\n  styleUrls: ['./tab-form.component.css']\n})\nexport class TabFormComponent {\n  _tabForm: AlloyTabForm;\n  @Input() set tabForm(_tabForm: AlloyTabForm){\n    this._tabForm = _tabForm;\n  }\n  @Output() output: EventEmitter<AbstractControl<any,any>> = new EventEmitter<AbstractControl<any,any>>();\n\n  constructor() {\n    this._tabForm = new AlloyTabForm();\n  }\n//never make active as first class else can not find it.\n  getSelected(tab: AlloyButtonIcon){\n    this._tabForm.tabs.forEach(b => {\n      if(b.id === tab.id){\n        b.active = this._tabForm.selected;\n      }else{\n        b.active = '';\n      }\n    });\n  }\n\n  getText(text){\n    this._tabForm.data = text;\n  }\n\n  submitData(action){\n    this._tabForm.message = \"\";\n    let data = {...this._tabForm.data}\n    data[\"action\"]= action;\n    this.output.emit(data);\n  }\n}\n","<div [id]=\"_tabForm.id\" [class]=\"_tabForm.className\">\n    <div class=\"row\">\n        <div [class]=\"_tabForm.tabClass\">\n            <div class=\"nav-item\" *ngFor=\"let i of _tabForm.tabs\">\n                <alloy-button-icon [buttonIcon]=\"i\" (output)=\"getSelected(i)\"></alloy-button-icon>\n            </div>\n        </div>\n    </div>\n    <div class=\"row\">\n        <div [class]=\"_tabForm.formClass\">\n            <div class=\"text-center\">\n                <h3>{{_tabForm.title}}</h3>\n                <div [class]=\"_tabForm.messageClass\" *ngIf=\"_tabForm.message != ''\">{{ _tabForm.message }}</div>\n                <div [ngSwitch]=\"_tabForm.type\">\n                    <div *ngSwitchCase=\"'AlloyInputTextIcon'\">\n                        <alloy-input-icon-texts [inputIconTexts]=\"_tabForm.fields\" (output)=\"getText($event)\"></alloy-input-icon-texts>\n                    </div>\n                    <div *ngSwitchCase=\"'AlloyInputFloatingText'\">\n                        <alloy-input-floating-texts [inputFloatingTexts]=\"_tabForm.fields\" (output)=\"getText($event)\"></alloy-input-floating-texts>\n                    </div>\n                    <div *ngSwitchCase=\"'AlloyInputText'\">\n                        <alloy-input-texts [inputTexts]=\"_tabForm.fields\" (output)=\"getText($event)\"></alloy-input-texts>\n                    </div>\n                    <div *ngSwitchDefault>\n                        <alloy-input-icon-texts [inputIconTexts]=\"_tabForm.fields\" (output)=\"getText($event)\"></alloy-input-icon-texts>\n                    </div>\n                </div>\n                <div [class]=\"_tabForm.actionClass\">\n                    <alloy-button-icon  *ngFor=\"let action of _tabForm.actions\" [buttonIcon]=\"action\" (output)=\"submitData(action.id)\"></alloy-button-icon>\n                </div>\n            </div>\n        </div>\n    </div>\n</div>\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { AlloyInputText } from '../input.model';\nimport { AbstractControl, FormControl, FormGroup } from '@angular/forms';\n\n@Component({\n  selector: 'alloy-input-floating-text',\n  templateUrl: './input-floating-text.component.html',\n  styleUrls: ['./input-floating-text.component.css']\n})\nexport class InputFloatingTextComponent {\n  _inputFloatingText: AlloyInputText;\n  @Input() set inputFloatingText(inputFloatingText: AlloyInputText) {\n  \tthis._inputFloatingText = inputFloatingText;\n    this.inputForm = this.createData(this._inputFloatingText);\n  }\n  //reactive form for data input\n  inputForm: FormGroup;\n  errors: string[];\n\n  @Output() output: EventEmitter<AbstractControl<any,any>> = new EventEmitter<AbstractControl<any,any>>();\n\n  constructor() { \n    this._inputFloatingText = new AlloyInputText();\n    this.inputForm = new FormGroup({});\n    this.errors = [];\n  }\n\n  //Used to create the form group\n  createData(input: AlloyInputText) {\n    this.inputForm = new FormGroup({});\n    let group = {};\n      Object.entries(input).forEach((column: any) => {\n        if (column[0] === 'name') {\n          group[column[1]] = new FormControl(input.text,input.validators); \n        }\n      });\n    return new FormGroup(group);\n  }\n\n  getError(inputField: AlloyInputText){\n    this.getErrorMessage(inputField)\n    return this.inputForm.get(inputField.name).errors;\n  }\n\n  getErrorMessage(inputField: AlloyInputText){\n    this.errors = [];\n    if(this.inputForm.get(inputField.name).errors != undefined){\n      Object.entries(this.inputForm.get(inputField.name).errors).forEach((row: any) => {\n        if(inputField.errors != undefined){\n          let errorMessasge = inputField.errors.find(msg => msg.name.toLocaleLowerCase() === row[0].toLocaleLowerCase());\n          if(errorMessasge != undefined){\n            this.errors.push(errorMessasge.message);\n          }\n        }\n      });\n    }\n  }\n\n  formOutput(){\n    let _output = this.inputForm.value;\n    this.inputForm.status == \"VALID\" ? _output[\"error\"] = false : _output[\"error\"] = true;\n    this.output.emit(this.inputForm.value);\n  }\n\n  getTouched(name){\n    return this.inputForm.get(name).touched;\n  }\n\n  selectedRadio(input){\n    this.inputForm.get(input.name).patchValue(input.label);\n    this.formOutput();\n  }\n\n  selectCheck(event,input){\n    if(event.target.checked){\n      this.inputForm.get(input.name).patchValue(input.label);\n    }else{\n      this.inputForm.get(input.name).patchValue(\"\");\n    }\n    this.formOutput();\n  }\n\n  onFileChange(event,input) {\n    if (event.target.files && event.target.files.length) {\n      this.inputForm.get(input.name).patchValue(event.target.files);\n      this.formOutput();\n    }\n  }\n}\n","<form\n  [formGroup]=\"inputForm\"\n  (ngSubmit)=\"output.emit(inputForm.value)\"\n  #form=\"ngForm\"\n>\n  <div class=\"row\">\n    <div [class]=\"_inputFloatingText.className\">\n      <div [ngSwitch]=\"_inputFloatingText.type\">\n        <div *ngSwitchCase=\"'text'\">\n          <div class=\"form-floating\">\n            <input\n              [id]=\"_inputFloatingText.id\"\n              [type]=\"_inputFloatingText.type\"\n              [formControlName]=\"_inputFloatingText.name\"\n              [placeholder]=\"_inputFloatingText.placeholder\"\n              [readonly]=\"_inputFloatingText.readonly\"\n              [class]=\"_inputIconText.inputClass\"\n              (input)=\"formOutput()\"\n            />\n            <label [for]=\"_inputFloatingText.id\">{{\n              _inputFloatingText.label\n            }}</label>\n          </div>\n        </div>\n        <div *ngSwitchCase=\"'email'\">\n          <div class=\"form-floating\">\n            <input\n              [id]=\"_inputFloatingText.id\"\n              [type]=\"_inputFloatingText.type\"\n              [formControlName]=\"_inputFloatingText.name\"\n              [placeholder]=\"_inputFloatingText.placeholder\"\n              [readonly]=\"_inputFloatingText.readonly\"\n              [class]=\"_inputIconText.inputClass\"\n              (input)=\"formOutput()\"\n            />\n            <label [for]=\"_inputFloatingText.id\">{{\n              _inputFloatingText.label\n            }}</label>\n          </div>\n        </div>\n        <div *ngSwitchCase=\"'password'\">\n          <div class=\"form-floating\">\n            <input\n              [id]=\"_inputFloatingText.id\"\n              [type]=\"_inputFloatingText.type\"\n              [formControlName]=\"_inputFloatingText.name\"\n              [placeholder]=\"_inputFloatingText.placeholder\"\n              [readonly]=\"_inputFloatingText.readonly\"\n              [class]=\"_inputIconText.inputClass\"\n              (input)=\"formOutput()\"\n            />\n            <label [for]=\"_inputFloatingText.id\">{{\n              _inputFloatingText.label\n            }}</label>\n          </div>\n        </div>\n        <div *ngSwitchCase=\"'file'\">\n          <div class=\"form-floating\">\n            <input\n              [id]=\"_inputFloatingText.id\"\n              [type]=\"_inputFloatingText.type\"\n              [placeholder]=\"_inputFloatingText.placeholder\"\n              [readonly]=\"_inputFloatingText.readonly\"\n              [class]=\"_inputIconText.inputClass\"\n              (change)=\"onFileChange($event, _inputFloatingText)\"\n              multiple\n            />\n            <label [for]=\"_inputFloatingText.id\">{{\n              _inputFloatingText.label\n            }}</label>\n          </div>\n        </div>\n        <div *ngSwitchCase=\"'number'\">\n          <div class=\"form-floating\">\n            <input\n              [id]=\"_inputFloatingText.id\"\n              [type]=\"_inputFloatingText.type\"\n              [formControlName]=\"_inputFloatingText.name\"\n              [placeholder]=\"_inputFloatingText.placeholder\"\n              [readonly]=\"_inputFloatingText.readonly\"\n              [class]=\"_inputIconText.inputClass\"\n              (input)=\"formOutput()\"\n            />\n            <label [for]=\"_inputFloatingText.id\">{{\n              _inputFloatingText.label\n            }}</label>\n          </div>\n        </div>\n        <div *ngSwitchCase=\"'search'\">\n          <div class=\"form-floating\">\n            <input\n              [id]=\"_inputFloatingText.id\"\n              [type]=\"_inputFloatingText.type\"\n              [formControlName]=\"_inputFloatingText.name\"\n              [placeholder]=\"_inputFloatingText.placeholder\"\n              [readonly]=\"_inputFloatingText.readonly\"\n              [class]=\"_inputIconText.inputClass\"\n              (input)=\"formOutput()\"\n            />\n            <label [for]=\"_inputFloatingText.id\">{{\n              _inputFloatingText.label\n            }}</label>\n          </div>\n        </div>\n        <div *ngSwitchCase=\"'date'\">\n          <div class=\"form-floating\">\n            <input\n              [id]=\"_inputFloatingText.id\"\n              [type]=\"_inputFloatingText.type\"\n              [formControlName]=\"_inputFloatingText.name\"\n              [placeholder]=\"_inputFloatingText.placeholder\"\n              [readonly]=\"_inputFloatingText.readonly\"\n              [class]=\"_inputIconText.inputClass\"\n              (input)=\"formOutput()\"\n            />\n            <label [for]=\"_inputFloatingText.id\">{{\n              _inputFloatingText.label\n            }}</label>\n          </div>\n        </div>\n        <div *ngSwitchCase=\"'textarea'\">\n          <div class=\"form-floating\">\n            <textarea\n              [id]=\"_inputFloatingText.id\"\n              [formControlName]=\"_inputFloatingText.name\"\n              [placeholder]=\"_inputFloatingText.placeholder\"\n              [readonly]=\"_inputFloatingText.readonly\"\n              [class]=\"_inputIconText.inputClass\"\n              [style.height]=\"_inputFloatingText.height\"\n              (input)=\"formOutput()\"\n            ></textarea>\n            <label [for]=\"_inputFloatingText.id\">{{\n              _inputFloatingText.label\n            }}</label>\n          </div>\n        </div>\n        <div *ngSwitchCase=\"'select'\">\n          <div class=\"form-floating\">\n            <select\n              [id]=\"_inputFloatingText.id\"\n              [formControlName]=\"_inputFloatingText.name\"\n              [placeholder]=\"_inputFloatingText.placeholder\"\n              aria-label=\"Floating label select\"\n              class=\"form-select\"\n              (change)=\"formOutput()\"\n            >\n              <option selected></option>\n              <option\n                *ngFor=\"let option of _inputFloatingText.options\"\n                [value]=\"option\"\n              >\n                {{ option }}\n              </option>\n            </select>\n            <label [for]=\"_inputFloatingText.id\">{{\n              _inputFloatingText.label\n            }}</label>\n          </div>\n        </div>\n        <div *ngSwitchCase=\"'checkbox'\">\n          <div class=\"form-check\">\n            <input\n              [id]=\"_inputFloatingText.id\"\n              [type]=\"_inputFloatingText.type\"\n              [formControlName]=\"_inputFloatingText.name\"\n              class=\"form-check-input\"\n              (change)=\"selectCheck($event, _inputFloatingText)\"\n            />\n            <label [for]=\"_inputFloatingText.id\" class=\"form-check-label\">{{\n              _inputFloatingText.label\n            }}</label>\n          </div>\n        </div>\n        <div *ngSwitchCase=\"'radio'\">\n          <div class=\"form-check\">\n            <input\n              [id]=\"_inputFloatingText.id\"\n              [type]=\"_inputFloatingText.type\"\n              [formControlName]=\"_inputFloatingText.name\"\n              [name]=\"_inputFloatingText.name\"\n              class=\"form-check-input\"\n              (change)=\"selectedRadio(_inputFloatingText)\"\n            />\n            <label [for]=\"_inputFloatingText.id\" class=\"form-check-label\">{{\n              _inputFloatingText.label\n            }}</label>\n          </div>\n        </div>\n        <div *ngSwitchDefault>\n          <div class=\"form-floating\">\n            <input\n              [id]=\"_inputFloatingText.id\"\n              [type]=\"_inputFloatingText.type\"\n              [formControlName]=\"_inputFloatingText.name\"\n              [placeholder]=\"_inputFloatingText.placeholder\"\n              [readonly]=\"_inputFloatingText.readonly\"\n              [class]=\"_inputIconText.inputClass\"\n              (input)=\"formOutput()\"\n            />\n            <label [for]=\"_inputFloatingText.id\">{{\n              _inputFloatingText.label\n            }}</label>\n          </div>\n        </div>\n      </div>\n      <div\n        *ngIf=\"getTouched(_inputFloatingText.name)\"\n        class=\"alert text-start alert-text-danger m-0 p-0\"\n      >\n        <div *ngIf=\"getError(_inputFloatingText)\">\n          <div *ngFor=\"let error of errors\">\n            {{ error }}\n          </div>\n        </div>\n      </div>\n    </div>\n  </div>\n</form>\n","import { Component, Input } from '@angular/core';\nimport {  AlloyButtonDropDown } from '../button.model';\n\n@Component({\n  selector: 'alloy-button-dropdown',\n  templateUrl: './button-dropdown.component.html',\n  styleUrls: ['./button-dropdown.component.css']\n})\nexport class ButtonDropdownComponent {\n  _buttonDropDown: AlloyButtonDropDown;\n  @Input() set buttonDropDown(buttonDropDown: AlloyButtonDropDown){\n    this._buttonDropDown = buttonDropDown;\n  }\n  constructor() {\n    this._buttonDropDown = new AlloyButtonDropDown();\n  }\n}\n","<div class=\"dropdown\">\n    <button\n        [id]=\"_buttonDropDown.id\"\n        [class]=\"_buttonDropDown.className+' '+ _buttonDropDown.active\"\n        [type]=\"_buttonDropDown.type\"\n        data-bs-toggle=\"dropdown\" \n        aria-expanded=\"false\"\n        >\n        {{_buttonDropDown.name}}\n    </button>\n    <ul [class]=\"_buttonDropDown.dropDownClass\" [attr.aria-labelledby]=\"_buttonDropDown.id\">\n        <li *ngFor=\"let link of _buttonDropDown.links\">\n            <alloy-link [link]=\"link\" ></alloy-link>\n        </li>\n    </ul>\n</div>\n","import { AlloyButtonSubmit } from \"../../cell/button/button.model\";\nimport { AlloyIcon } from \"../../cell/icon/icon.model\";\n\nexport class AlloyPay{\n    id: string;\n    name: string;\n    className: string;\n    brandIcon: AlloyIcon;\n    cardIcon: AlloyIcon;\n    expiryIcon: AlloyIcon;\n    cvcIcon: AlloyIcon;\n    submit: AlloyButtonSubmit;\n    disclaimer: string;\n    constructor(res?: any){\n        if(res){\n            this.id = res.id ? res.id : \"alloyPay\";\n            this.name = res.name ? res.name : \"Payment\";\n            this.className = res.className ? res.className : \"\";\n            this.brandIcon = res.brandIcon ? new AlloyIcon(res.brandIcon) : new AlloyIcon();\n            this.cardIcon = res.cardIcon ? new AlloyIcon(res.cardIcon) : new AlloyIcon();\n            this.expiryIcon = res.expiryIcon ? new AlloyIcon(res.expiryIcon) : new AlloyIcon();\n            this.cvcIcon = res.cvcIcon ? new AlloyIcon(res.cvcIcon) : new AlloyIcon();\n            this.submit = res.submit ? new AlloyButtonSubmit(res.submit) : new AlloyButtonSubmit();\n            this.disclaimer = res.disclaimer ? res.disclaimer : \" *AlloyMobile do not store your credit card information.\";\n        }else{\n            this.id = \"alloyPay\";\n            this.name = \"Payment\";\n            this.className =  \"\";\n            this.brandIcon = new AlloyIcon();\n            this.cardIcon = new AlloyIcon();\n            this.expiryIcon = new AlloyIcon();\n            this.cvcIcon =  new AlloyIcon();\n            this.submit = new AlloyButtonSubmit();\n            this.disclaimer = \"*AlloyMobile do not store your credit card information.\";\n        }\n    }\n}","import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';\nimport { StripeCardElementOptions, StripeElementsOptions } from '@stripe/stripe-js';\nimport { StripeCardNumberComponent, StripeService } from 'ngx-stripe';\nimport { AlloyPay } from '../pay.model';\n\n@Component({\n  selector: 'alloy-pay',\n  templateUrl: './pay.component.html',\n  styleUrls: ['./pay.component.css']\n})\nexport class PayComponent {\n  _pay:AlloyPay;\n  @ViewChild(StripeCardNumberComponent) card: StripeCardNumberComponent;\n  cardOptions: StripeCardElementOptions = {\n    style: {\n      base: {\n        iconColor: '#666EE8',\n        color: '#31325F',\n        fontWeight: '300',\n        fontFamily: '\"Helvetica Neue\", Helvetica, sans-serif',\n        fontSize: '18px',\n        '::placeholder': {\n          color: '#CFD7E0',\n        },\n      },\n    },\n  };\n  elementsOptions: StripeElementsOptions = {\n    locale: 'en',\n  };\n\n  @Input() set pay(_pay: AlloyPay){\n    this._pay = _pay;\n  }\n\n  @Output() output: EventEmitter<StripeCardNumberComponent>= new EventEmitter<StripeCardNumberComponent>();\n\n  constructor(){\n    this._pay = new AlloyPay();\n  }\n}\n","<div [id]=\"_pay.id\" [class]=\"_pay.className\">\n  <hr class=\"my-4\" />\n  <h4 class=\"mb-3\">Payment</h4>\n  <div class=\"my-3\">\n    <div class=\"form-check\">\n      <input\n        id=\"credit\"\n        name=\"paymentMethod\"\n        type=\"radio\"\n        class=\"form-check-input\"\n        checked=\"\"\n        required=\"\"\n      />\n      <label class=\"form-check-label\" for=\"credit\">Credit card</label>\n    </div>\n  </div>\n  <h4 class=\"text-center\">\n    <alloy-icon [icon]=\"_pay.brandIcon\"></alloy-icon>\n  </h4>\n  <ngx-stripe-card-group [elementsOptions]=\"elementsOptions\">\n    <div class=\"row\">\n      <div class=\"col-sm-12\">\n        <div class=\"input-group py-2\">\n          <span class=\"input-group-text\">\n            <alloy-icon [icon]=\"_pay.cardIcon\"></alloy-icon>\n          </span>\n          <div class=\"form-control\">\n            <label for=\"cardNumber\">Card Number</label>\n            <ngx-stripe-card-number\n              id=\"cardNumber\"\n              [options]=\"cardOptions\"\n            ></ngx-stripe-card-number>\n          </div>\n        </div>\n      </div>\n      <div class=\"col-lg-6\">\n        <div class=\"input-group py-2\">\n          <span class=\"input-group-text\">\n            <alloy-icon [icon]=\"_pay.expiryIcon\"></alloy-icon>\n          </span>\n          <div class=\"form-control\">\n            <label for=\"cardNumber\">Expiry Date</label>\n            <ngx-stripe-card-expiry\n              [options]=\"cardOptions\"\n            ></ngx-stripe-card-expiry>\n          </div>\n        </div>\n      </div>\n      <div class=\"col-lg-6\">\n        <div class=\"input-group py-2\">\n          <span class=\"input-group-text\">\n            <alloy-icon [icon]=\"_pay.cvcIcon\"></alloy-icon>\n          </span>\n          <div class=\"form-control\">\n            <label for=\"cardNumber\">CVC Number</label>\n            <ngx-stripe-card-cvc [options]=\"cardOptions\"></ngx-stripe-card-cvc>\n          </div>\n        </div>\n      </div>\n    </div>\n  </ngx-stripe-card-group>\n  <alloy-button-submit [buttonSubmit]=\"_pay.submit\" (output)=\"output.emit(card)\"></alloy-button-submit>\n  <p class=\"m-0 p-0\">\n    {{ _pay.disclaimer }}\n  </p>\n</div>\n","import { AlloyInputType } from \"../../cell/input/input.model\";\nimport { AlloyPay } from \"../../tissue/pay/pay.model\";\n\n\nexport class AlloyCheckout{\n    id: string;\n    title: string;\n    className: string;\n    message: string;\n    action: string;\n    fields: AlloyInputType[];\n    pay: AlloyPay;\n    data: any;\n    constructor(res?: any){\n        if(res){\n            this.id = res.id ? res.id : \"form\";\n            this.title = res.title ? res.title : \"AlloyMobile\";\n            this.className = res.className ? res.className : \"col m-2\";\n            this.message = res.message ? res.message : \"\";\n            this.action = res.action ? res.action : \"\";\n            this.fields = res.fields ? res.fields.map(f=>new AlloyInputType(f)) : [];\n            this.pay = res.pay ? new AlloyPay(res.pay) : new AlloyPay();\n            this.data = {}\n        }else{\n            this.id =  \"form\";\n            this.title = \"AlloyMobile\";\n            this.className = \"col m-2\";\n            this.message = \"\";\n            this.action = \"\";\n            this.fields = [];\n            this.pay = new AlloyPay();\n            this.data = {}\n        }\n    }\n}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { AlloyCheckout } from '../checkout.model';\nimport { AbstractControl } from '@angular/forms';\n\n@Component({\n  selector: 'alloy-checkout',\n  templateUrl: './checkout.component.html',\n  styleUrls: ['./checkout.component.css']\n})\nexport class CheckoutComponent {\n  _checkout: AlloyCheckout;\n  @Input() set checkout(_checkout: AlloyCheckout){\n    this._checkout = _checkout;\n  }\n  @Output() output: EventEmitter<AbstractControl<any,any>> = new EventEmitter<AbstractControl<any,any>>();\n  constructor() {\n    this._checkout = new AlloyCheckout();\n  }\n\n  getText(text){\n    text.error ? this._checkout.pay.submit.disable = true : this._checkout.pay.submit.disable = false;\n    this._checkout.data = text;\n  }\n\n  submitData(stripe){\n    this._checkout.pay.submit.disable = true \n    this._checkout.pay.submit.show = true;\n    this._checkout.message = \"\";\n    let data = {...this._checkout.data}\n    data[\"gateway\"]= stripe;\n    this.output.emit(data);\n  }\n}\n","<div [class]=\"_checkout.className\">\n  <h3>{{ _checkout.title }}</h3>\n  <div class=\"alert alert-text-danger m-0 p-0\" *ngIf=\"_checkout.message != ''\">\n    {{ _checkout.message }}\n  </div>\n  <hr class=\"my-4\" />\n  <div class=\"row m-2\">\n    <div class=\"col-sm-12 col-md-6 col-lg-8 col-xl-9 border-end\">\n      <h5>Billing address:</h5>\n      <alloy-input-icon-texts\n        [inputIconTexts]=\"_checkout.fields\"\n        (output)=\"getText($event)\"\n      ></alloy-input-icon-texts>\n      <alloy-pay [pay]=\"_checkout.pay\" (output)=\"submitData($event)\"></alloy-pay>\n    </div>\n    <div class=\"col-sm-12 col-md-6 col-lg-4 col-xl-3\">\n      <h4 class=\"d-flex justify-content-between align-items-center mb-3\">\n        <span class=\"text-dark h5\">Total bill:</span>\n        <span class=\"badge bg-dark rounded-pill\">5</span>\n      </h4>\n      <ul class=\"list-group mb-3\">\n        <li class=\"list-group-item d-flex justify-content-between lh-sm\">\n          <div>\n            <h6 class=\"my-0\">electric bill</h6>\n          </div>\n          <span class=\"text-muted\">25 CAD</span>\n        </li>\n        <li class=\"list-group-item d-flex justify-content-between\">\n          <span>Total (CAD)</span>\n          <strong>25 CAD</strong>\n        </li>\n      </ul>\n    </div>\n  </div>\n</div>\n","import { AlloyInputType } from \"../../cell/input/input.model\";\nimport { AlloyButtonBar } from \"../../tissue/bar/bar.model\";\nimport { AlloyPay } from \"../../tissue/pay/pay.model\";\n\nexport class AlloyDonate{\n    id: string;\n    title: string;\n    className: string;\n    message: string;\n    action: string;\n    fields: AlloyInputType[];\n    pay: AlloyPay;\n    amountBar: AlloyButtonBar;\n    data: any;\n    constructor(res?: any){\n        if(res){\n            this.id = res.id ? res.id : \"form\";\n            this.title = res.title ? res.title : \"AlloyMobile\";\n            this.className = res.className ? res.className : \"col m-2\";\n            this.message = res.message ? res.message : \"\";\n            this.action = res.action ? res.action : \"\";\n            this.fields = res.fields ? res.fields.map(f=>new AlloyInputType(f)) : [];\n            this.pay = res.pay ? new AlloyPay(res.pay) : new AlloyPay();\n            this.amountBar = res.amountBar ? new AlloyButtonBar(res.amountBar) : new AlloyButtonBar();\n            this.data = {}\n        }else{\n            this.id =  \"form\";\n            this.title = \"AlloyMobile\";\n            this.className = \"col m-2\";\n            this.message = \"\";\n            this.action = \"\";\n            this.fields = [];\n            this.pay = new AlloyPay();\n            this.amountBar = new AlloyButtonBar();\n            this.data = {}\n        }\n    }\n}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { AlloyDonate } from '../donate.model';\nimport { AbstractControl } from '@angular/forms';\n\n@Component({\n  selector: 'alloy-donate',\n  templateUrl: './donate.component.html',\n  styleUrls: ['./donate.component.css']\n})\nexport class DonateComponent {\n  _donate: AlloyDonate;\n  @Input() set donate(donate: AlloyDonate){\n    this._donate = donate;\n  }\n  @Output() output: EventEmitter<AbstractControl<any,any>> = new EventEmitter<AbstractControl<any,any>>();\n  constructor() {\n    this._donate = new AlloyDonate();\n  }\n\n  getText(text){\n    text.error ? this._donate.pay.submit.disable = true : this._donate.pay.submit.disable = false;\n    this._donate.data = text;\n  }\n\n  submitData(stripe){\n    this._donate.pay.submit.disable = true \n    this._donate.pay.submit.show = true;\n    this._donate.message = \"\";\n    let data = {...this._donate.data}\n    data[\"gateway\"]= stripe;\n    this.output.emit(data);\n  }\n\n  selectedAmount(amount){\n    console.log(amount);\n  }\n}\n","<div [class]=\"_donate.className\">\n    <h3>{{ _donate.title }}</h3>\n    <div class=\"alert alert-text-danger m-0 p-0\" *ngIf=\"_donate.message != ''\">\n      {{ _donate.message }}\n    </div>\n    <hr class=\"my-3\" />\n    <div class=\"row m-2\">\n      <div class=\"col-12\">\n        <h5>Payment Details:</h5>\n        <alloy-input-icon-texts\n          [inputIconTexts]=\"_donate.fields\"\n          (output)=\"getText($event)\"\n        ></alloy-input-icon-texts>\n        <!-- <alloy-button-bar [buttonBar]=\"_donate.amountBar\" (output)=\"selectedAmount($event)\"></alloy-button-bar> -->\n        <alloy-pay [pay]=\"_donate.pay\" (output)=\"submitData($event)\"></alloy-pay>\n      </div>\n    </div>\n  </div>\n  ","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { AlloyNavBarAction } from '../navbar.model';\nimport { AlloyButton } from '../../../cell/button/button.model';\n\n@Component({\n  selector: 'alloy-navbar-action',\n  templateUrl: './navbar-action.component.html',\n  styleUrls: ['./navbar-action.component.css']\n})\nexport class NavbarActionComponent {\n  _navBarAction: AlloyNavBarAction;\n  @Input() set navBarAction(navBarAction: AlloyNavBarAction) {\n  \tthis._navBarAction = navBarAction;\n  }\n  @Output() output: EventEmitter<AlloyButton>= new EventEmitter<AlloyButton>();\n\n  constructor(){\n    this._navBarAction = new AlloyNavBarAction();\n  }\n  \n}\n","<header [id]=\"_navBarAction.id\" [class]=\"_navBarAction.className\">\n    <alloy-link-logo [linkLogo]=\"_navBarAction.logo\"></alloy-link-logo>\n\n    <alloy-link-bar [linkBar]=\"_navBarAction.linkBar\"></alloy-link-bar>\n\n    <alloy-button-bar [buttonBar]=\"_navBarAction.buttonBar\" (output)=\"output.emit($event)\"></alloy-button-bar>\n</header>\n\n","import { AlloyCard } from \"../../tissue/card/card.model\";\nimport { AlloyForm } from \"../form/form.model\";\n\nexport class AlloyContact{\n    id: string;\n    title: string;\n    className: string;\n    type: string;\n    contactClass: string;\n    contactForm: AlloyForm;\n    addressClass: string;\n    addressCard: AlloyCard;\n    data: any;\n    constructor(res?: any){\n        if(res){\n            this.id = res.id ? res.id : \"contact\";\n            this.title = res.title ? res.title : \"Contact Us\";\n            this.type = res.type ? res.type : \"AlloyInputTextIcon\";\n            this.className = res.className ? res.className : \"d-flex justify-content-center flex-column text-center h-100 mt-3\";\n            this.contactForm = res.contactForm ? new AlloyForm(res.contactForm) : new AlloyForm();\n            this.addressCard = res.addressCard ? new AlloyCard(res.addressCard) : new AlloyCard();\n            this.contactClass = res.contactClass ? res.contactClass : \"col-12 col-md-6\";\n            this.addressClass = res.addressClass ? res.addressClass : \"col-12 col-md-6\";\n        }else{\n            this.id =  \"contact\";\n            this.title = \"Contact Us\";\n            this.type = \"AlloyInputTextIcon\";\n            this.className = \"d-flex justify-content-center flex-column text-center h-100 mt-3\";\n            this.contactForm = new AlloyForm();\n            this.addressCard = new AlloyCard();\n            this.contactClass = \"col-12 col-md-6\";\n            this.addressClass = \"col-12 col-md-6\";\n        }\n    }\n}","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { AlloyContact } from '../contact.model';\nimport { AbstractControl } from '@angular/forms';\n\n@Component({\n  selector: 'alloy-contact',\n  templateUrl: './contact.component.html',\n  styleUrls: ['./contact.component.css']\n})\nexport class ContactComponent {\n  _contact: AlloyContact;\n  @Input() set contact(contact: AlloyContact){\n    this._contact = contact;\n  };\n\n  @Output() output: EventEmitter<AbstractControl<any,any>> = new EventEmitter<AbstractControl<any,any>>();\n\n  constructor() {\n    this._contact = new AlloyContact();\n  }\n}\n","<div [id]=\"_contact.id\" [class]=\"_contact.className\">\n    <h1 class=\"text-center\">{{_contact.title}}</h1>\n    <div class=\"row d-flex align-items-center\">\n        <div [class]=\"_contact.contactClass\">\n            <alloy-form [form]=\"_contact.contactForm\" (output)=\"output.emit($event)\"></alloy-form>\n        </div>\n        <div [class]=\"_contact.addressClass\">\n            <alloy-card [card]=\"_contact.addressCard\"></alloy-card>\n        </div>\n    </div>\n</div>\n\n","import { AlloyButtonIcon } from \"../../cell/button/button.model\";\nimport { AlloyInputTextIcon } from \"../../cell/input/input.model\";\nimport { TableAction } from \"../../tissue/table/table.model\";\nimport { AlloyModal } from \"../modal/modal.model\";\n\nexport class AlloyEmail{\n    id: string;\n    className: string;\n    modal: AlloyModal;\n    search: AlloyInputTextIcon;\n    send: AlloyButtonIcon;\n    table: TableAction;\n    constructor(res?: any){\n        if(res){\n            this.id = res.id ? res.id : \"\";\n            this.className = res.className ? res.className : \"\";\n            this.modal = res.modal ? new AlloyModal(res.modal) : new AlloyModal();\n            this.search = res.search ? new AlloyInputTextIcon(res.search) : new AlloyInputTextIcon();\n            this.send = res.send ? new AlloyButtonIcon(res.send) : new AlloyButtonIcon();\n            this.table = res.table ? new TableAction(res.table) : new TableAction();\n        }else{\n            this.id =  \"\";\n            this.className = \"\";\n            this.modal =  new AlloyModal();\n            this.search =  new AlloyInputTextIcon();\n            this.send =  new AlloyButtonIcon();\n            this.table =  new TableAction();\n        }\n    }\n}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { AlloyEmail } from '../email.model';\nimport { AbstractControl } from '@angular/forms';\nimport { AlloyInputType } from '../../../cell/input/input.model';\ndeclare var window: any;\n\n@Component({\n  selector: 'alloy-email',\n  templateUrl: './email.component.html',\n  styleUrls: ['./email.component.css']\n})\nexport class EmailComponent {\n\n  _email: AlloyEmail;\n  @Input() set email(email: AlloyEmail){\n    this._email = email;\n    this.createRow = [...this._email.modal.fields] as any;\n  }\n  modalForm: any;\n  createRow: AlloyInputType[];\n  selectedRow: any;\n  @Output() output: EventEmitter<AbstractControl<any,any>> = new EventEmitter<AbstractControl<any,any>>();\n\n  constructor() {\n    this._email = new AlloyEmail();\n    this.createRow = [];\n  }\n\n  onClicked(data: any){\n    this._email.modal.action = data.action;\n    this._email.modal.submit.name = data.action;\n    if(data.action == \"Send\"){\n      this._email.modal.fields = [...this.createRow.map(c => new AlloyInputType(c))];\n    }else if(data.action == \"Reply\"){\n      if(data.row){\n        this.selectedRow = data.row;\n        this._email.modal.fields = [...this.getReplyDataType(data.row).map(f => new AlloyInputType(f))];\n      }\n    }else if(data.action == \"Delete\"){\n      if(data.row){\n        this.selectedRow = data.row;\n        this._email.modal.fields = [...this.getDataType(data.row).map(f => new AlloyInputType(f))];\n        this._email.modal.fields.map((f: any) => f.readonly = true);\n      }\n    }\n    this._email.modal.data = {};\n    this.modalForm = new window.bootstrap.Modal(\n      document.getElementById(this._email.modal.id)\n    );\n    this.modalForm.show();\n  }\n\n  getReplyDataType(row){\n    let fields = [];\n    Object.entries(row).forEach(column=>{\n      let metadata = this._email.modal.fields.find((f: any)=>f.name === column[0]) as any;\n      if(metadata != undefined){\n        if(metadata.name == \"message\"){\n          metadata.text = \"\";\n        }else{\n          metadata.text = column[1].toString();\n        }\n        fields.push(metadata);\n      }\n    });\n    return fields;\n  }\n\n  getDataType(row){\n    let fields = [];\n    Object.entries(row).forEach(column=>{\n      let metadata = this._email.modal.fields.find((f: any)=>f.name === column[0]) as any;\n      if(metadata != undefined){\n        metadata.text = column[1].toString();\n        fields.push(metadata);\n      }\n    });\n    return fields;\n  }\n\n  capitalize(s) {\n    if (typeof s !== 'string') return '';\n    return s.charAt(0).toUpperCase() + s.slice(1);\n  }\n\n  //The input event will only trigger if there is a change\n  //for delete the is no change so we have two step\n  submitData(data) {\n    this.modalForm.hide();\n    if(data.action === 'Send'){\n      this.output.emit(data);\n    }else if(data.action === 'Reply'){\n      if(Object.keys(data).length > 1){\n        data[\"id\"]=this.selectedRow.id;\n        this.output.emit(data);\n      }\n    }else if(data.action === 'Delete'){\n      let data = {...this.selectedRow}\n      data[\"action\"]='Delete';\n      this.output.emit(data);\n    }\n  }\n\n  getSearch(text){\n    let data = {...text}\n    data[\"action\"]=\"Search\";\n    this.output.emit(data);\n  }\n}\n","\n<div class=\"container-fluid\">  \n    <div class=\"row input-group mt-2 \">\n        <div class=\"col-sm-8\">\n            <alloy-input-icon-text [inputIconText]=\"_email.search\" (output)=\"getSearch($event)\"></alloy-input-icon-text>\n        </div>\n        <div class=\"col-sm-4 d-flex align-items-center justify-content-end\">\n            <alloy-button-icon [buttonIcon]=\"_email.send\" (output)=\"onClicked({action:$event.name})\"></alloy-button-icon>\n        </div>\n    </div>\n    <alloy-table-action [tableAction]=\"_email.table\" (output)=\"onClicked($event)\"></alloy-table-action>\n</div>    \n<alloy-modal [modal]=\"_email.modal\" (output)=\"submitData($event)\"></alloy-modal>","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { AlloySideBar } from '../bar.model';\nimport { AlloyLink } from '../../../cell/link/link.model';\n\n@Component({\n  selector: 'alloy-side-bar',\n  templateUrl: './side-bar.component.html',\n  styleUrls: ['./side-bar.component.css']\n})\nexport class SideBarComponent {\n  _sideBar: AlloySideBar;\n  @Input() set sideBar(sideBar: AlloySideBar){\n    this._sideBar = sideBar;\n  }\n  @Output() output: EventEmitter<AlloyLink>= new EventEmitter<AlloyLink>();\n  constructor() {\n    this._sideBar = new AlloySideBar();\n  }\n\n  getSelected(tab: AlloyLink){\n    this._sideBar.links.forEach(b => {\n      if(b.id === tab.id){\n        b.active = this._sideBar.selected;\n      }else{\n        b.active = '';\n      }\n    });\n    this.output.emit(tab);\n  }\n}\n","<ng-container [ngSwitch]=\"_sideBar.type\">\n    <ng-container *ngSwitchCase=\"'AlloyLink'\">\n        <ul [id]=\"_sideBar.id\" [class]=\"_sideBar.className\">\n            <alloy-link-logo [linkLogo]=\"_sideBar.logo\"></alloy-link-logo>\n            <li *ngFor=\"let i of _sideBar.links\" [class]=\"_sideBar.linkClass\">\n                <alloy-link [link]=\"i\" (output)=\"getSelected(i)\"> </alloy-link>\n            </li>\n        </ul>\n    </ng-container>\n    <ng-container *ngSwitchCase=\"'AlloyIconLink'\">\n        <ul [id]=\"_sideBar.id\" [class]=\"_sideBar.className\">\n            <alloy-link-logo [linkLogo]=\"_sideBar.logo\"></alloy-link-logo>\n            <li *ngFor=\"let i of _sideBar.links\" [class]=\"_sideBar.linkClass\">\n                <alloy-icon-link [iconLink]=\"i\" (output)=\"getSelected(i)\"></alloy-icon-link>\n            </li>\n        </ul>\n    </ng-container>\n    <ng-container *ngSwitchCase=\"'AlloyLinkIcon'\">\n      <ul [id]=\"_sideBar.id\" [class]=\"_sideBar.className\">\n        <alloy-link-logo [linkLogo]=\"_sideBar.logo\"></alloy-link-logo>\n        <li *ngFor=\"let i of _sideBar.links\" [class]=\"_sideBar.linkClass\">\n            <alloy-link-icon [linkIcon]=\"i\" (output)=\"getSelected(i)\"></alloy-link-icon>\n        </li>\n      </ul>\n    </ng-container>\n    <ng-container *ngSwitchDefault>\n      <ul [id]=\"_sideBar.id\" [class]=\"_sideBar.className\">\n        <alloy-link-logo [linkLogo]=\"_sideBar.logo\"></alloy-link-logo>\n        <li *ngFor=\"let i of _sideBar.links\" [class]=\"_sideBar.linkClass\">\n            <alloy-link [link]=\"i\" (output)=\"getSelected(i)\"> </alloy-link>\n        </li>\n      </ul>\n    </ng-container>\n  </ng-container>\n  ","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { RouterModule } from '@angular/router';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\n\nimport { IconComponent } from './cell/icon/icon/icon.component';\nimport { ButtonComponent } from './cell/button/button/button.component';\nimport { LinkComponent } from './cell/link/link/link.component';\nimport { InputFloatingTextsComponent } from './tissue/inputs/input-floating-texts/input-floating-texts.component';\nimport { InputIconTextsComponent } from './tissue/inputs/input-icon-texts/input-icon-texts.component';\nimport { ButtonIconComponent } from './cell/button/button-icon/button-icon.component';\nimport { LinkIconComponent } from './cell/link/link-icon/link-icon.component';\nimport { InputTextComponent } from './cell/input/input-text/input-text.component';\n\nimport { CardActionComponent } from './tissue/card/card-action/card-action.component';\nimport { CardIconActionComponent } from './tissue/card/card-icon-action/card-icon-action.component';\nimport { CardImageActionComponent } from './tissue/card/card-image-action/card-image-action.component';\nimport { CardComponent } from './tissue/card/card/card.component';\nimport { CardImageComponent } from './tissue/card/card-image/card-image.component';\nimport { CardIconComponent } from './tissue/card/card-icon/card-icon.component';\nimport { NavbarComponent } from './tissue/navbar/navbar/navbar.component';\nimport { InputTextsComponent } from './tissue/inputs/input-texts/input-texts.component';\nimport { LinkLogoComponent } from './cell/link/link-logo/link-logo.component';\nimport { IconLinkComponent } from './cell/icon/icon-link/icon-link.component';\nimport { IconButtonComponent } from './cell/icon/icon-button/icon-button.component';\nimport { ButtonSubmitComponent } from './cell/button/button-submit/button-submit.component';\n\nimport { TableComponent } from './tissue/table/table/table.component';\nimport { SearchbarComponent } from './tissue/searchbar/searchbar/searchbar.component';\nimport { PageComponent } from './tissue/page/page.component';\nimport { ClientbarComponent } from './tissue/clientbar/clientbar/clientbar.component';\nimport { TableActionComponent } from './tissue/table/table-action/table-action.component';\nimport { FooterComponent } from './tissue/footer/footer/footer.component';\n\nimport { FormComponent } from './organ/form/form/form.component';\nimport { ModalComponent } from './organ/modal/modal/modal.component';\nimport { ModalToastComponent } from './organ/modal/modal-toast/modal-toast.component';\nimport { ResetComponent } from './organ/reset/reset/reset.component';\nimport { CodeComponent } from './organ/code/code/code.component';\nimport { LoginComponent } from './organ/login/login/login.component';\nimport { RegisterComponent } from './organ/register/register/register.component';\nimport { ForgetComponent } from './organ/forget/forget/forget.component';\nimport { CrudTableComponent } from './organ/crud/crud-table/crud-table.component';\nimport { CrudCardComponent } from './organ/crud/crud-card/crud-card.component';\nimport { ProfileComponent } from './organ/profile/profile/profile.component';\nimport { TabFormComponent } from './tissue/nav/tab-form/tab-form.component';\nimport { LinkBarComponent } from './tissue/bar/link-bar/link-bar.component';\nimport { ButtonBarComponent } from './tissue/bar/button-bar/button-bar.component';\nimport { InputFloatingTextComponent } from './cell/input/input-floating-text/input-floating-text.component';\nimport { InputIconTextComponent } from './cell/input/input-icon-text/input-icon-text.component';\nimport { ButtonDropdownComponent } from './cell/button/button-dropdown/button-dropdown.component';\nimport { PayComponent } from './tissue/pay/pay/pay.component';\nimport { NgxStripeModule } from 'ngx-stripe';\nimport { CheckoutComponent } from './organ/checkout/checkout/checkout.component';\nimport { DonateComponent } from './organ/donate/donate/donate.component';\nimport { NavbarActionComponent } from './tissue/navbar/navbar-action/navbar-action.component';\nimport { ContactComponent } from './organ/contact/contact/contact.component';\nimport { EmailComponent } from './organ/email/email/email.component';\nimport { SideBarComponent } from './tissue/bar/side-bar/side-bar.component';\n\nvar stripekey = \"\";\n@NgModule({\n  declarations: [\n    IconComponent,\n    IconLinkComponent,\n    ButtonComponent,\n    ButtonIconComponent,\n    LinkComponent,\n    LinkIconComponent,\n    NavbarComponent,\n    LoginComponent,\n    RegisterComponent,\n    ForgetComponent,\n    TableComponent,\n    InputTextComponent,\n    SearchbarComponent,\n    PageComponent,\n    InputTextsComponent,\n    ClientbarComponent,\n    ModalComponent,\n    ModalToastComponent,\n    CodeComponent,\n    TableActionComponent,\n    ResetComponent,\n    LinkLogoComponent,\n    IconButtonComponent,\n    ButtonSubmitComponent,\n    FormComponent,\n    FooterComponent,\n    InputFloatingTextsComponent,\n    InputIconTextsComponent,\n    CardActionComponent,\n    CardIconActionComponent,\n    CardImageActionComponent,\n    CardComponent,\n    CardImageComponent,\n    CardIconComponent,\n    CrudTableComponent,\n    CrudCardComponent,\n    ProfileComponent,\n    TabFormComponent,\n    LinkBarComponent,\n    ButtonBarComponent,\n    InputFloatingTextComponent,\n    InputIconTextComponent,\n    ButtonDropdownComponent,\n    PayComponent,\n    CheckoutComponent,\n    DonateComponent,\n    NavbarActionComponent,\n    ContactComponent,\n    EmailComponent,\n    SideBarComponent\n  ],\n  imports: [\n    BrowserModule,\n    RouterModule,\n    ReactiveFormsModule,\n    FormsModule,\n    FontAwesomeModule,\n    NgxStripeModule.forRoot(stripekey ? stripekey : \"pk_test_3razFwq1sWDPvXkxGX5C8ORi00HyfFcIeL\"),\n  ],\n  exports: [\n    IconComponent,\n    IconLinkComponent,\n    IconButtonComponent,\n    ButtonComponent,\n    ButtonIconComponent,\n    LinkComponent,\n    LinkIconComponent,\n    NavbarComponent,\n    LoginComponent,\n    RegisterComponent,\n    ForgetComponent,\n    TableComponent,\n    InputTextComponent,\n    SearchbarComponent,\n    PageComponent,\n    InputTextsComponent,\n    ClientbarComponent,\n    ModalComponent,\n    ModalToastComponent,\n    CodeComponent,\n    TableActionComponent,\n    ResetComponent,\n    LinkLogoComponent,\n    ButtonSubmitComponent,\n    ButtonDropdownComponent,\n    FormComponent,\n    FooterComponent,\n    InputFloatingTextsComponent,\n    InputIconTextsComponent,\n    CardActionComponent,\n    CardIconActionComponent,\n    CardImageActionComponent,\n    CardComponent,\n    CardImageComponent,\n    CardIconComponent,\n    CrudTableComponent,\n    CrudCardComponent,\n    ProfileComponent,\n    TabFormComponent,\n    InputFloatingTextComponent,\n    InputIconTextComponent,\n    ButtonBarComponent,\n    LinkBarComponent,\n    ButtonDropdownComponent,\n    PayComponent,\n    CheckoutComponent,\n    DonateComponent,\n    NavbarActionComponent,\n    ContactComponent,\n    EmailComponent,\n    SideBarComponent\n  ]\n})\nexport class AlloymobileAngularModule {\n  static forRoot(configuration): ModuleWithProviders<AlloymobileAngularModule> {\n    stripekey = configuration.stripekey;\n    return {\n      ngModule: AlloymobileAngularModule\n    };\n  }\n}\n","export class Sort {\n    sorted: boolean;\n    unsorted: boolean;\n    empty: boolean;\n    constructor(sort?: any) {\n      if (sort) {\n        this.sorted = sort.sorted;\n        this.unsorted = sort.unsorted;\n        this.empty = sort.empty;\n      } else {\n        this.sorted = false;\n        this.unsorted = true;\n        this.empty = true;\n      }\n    }\n}\n  \n  export class Page {\n    sort: Sort;\n    pageSize: number;\n    pageNumber: number;\n    offset: number;\n    paged: boolean;\n    unpaged: boolean;\n    totalElements: number;\n    totalPages: number;\n    first: boolean;\n    last: boolean;\n    size: number;\n    numbeOfElements: number;\n    number: number;\n    empty: boolean;\n    pages: number[];\n  \n    constructor(res?: any) {\n      if (res) {\n        this.offset = Number(res.pageable.offset);\n        this.pageSize = Number(res.pageable.pageSize);\n        this.pageNumber = Number(res.pageable.pageNumber);\n        this.paged = res.pageable.paged;\n        this.unpaged = res.pageable.unpaged;\n        this.sort = new Sort(res.pageable.sort);\n        this.totalElements = res.totalElements;\n        this.totalPages = res.totalPages;\n        this.first = res.first;\n        this.last = res.last;\n        this.size = res.size;\n        this.numbeOfElements = res.numberOfElements;\n        this.number = res.number;\n        this.empty = res.empty;\n      } else {\n        this.offset = 0;\n        this.pageSize = 20;\n        this.pageNumber = 0;\n        this.paged = true;\n        this.unpaged = false;\n        this.sort = new Sort();\n        this.totalElements = 0;\n        this.totalPages = 0;\n        this.first = true;\n        this.last = true;\n        this.size = 20;\n        this.numbeOfElements = 0;\n        this.number = 0;\n        this.empty = false;\n      }\n      this.pages = [...Array(this.totalPages).keys()];\n    }\n  }\n  \n  export class Active {\n    table: string;\n    page: number;\n    constructor(active?: any) {\n      if (active) {\n        this.table = active.table;\n        this.page = active.page;\n      } else {\n        this.table = '';\n        this.page = 0;\n      }\n    }\n  }\n\n  export class SortColumn {\n    name: string;\n    sort: boolean;\n    search: string;\n    filter: any;\n    constructor(sortColumn?: any) {\n      this.search = '';\n      this.filter = [];\n      if (sortColumn) {\n        this.name = sortColumn.name;\n        this.sort = sortColumn.sort;\n      } else {\n        this.name = '';\n        this.sort = false;\n      }\n    }\n  }\n  ","/*\n * Public API Surface of alloymobile-angular\n */\nexport * from './lib/alloymobile-angular.module';\n\nexport * from './lib/cell/icon/icon.model';\nexport * from './lib/cell/button/button.model';\nexport * from './lib/cell/link/link.model';\nexport * from './lib/cell/input/input.model';\nexport * from './lib/tissue/card/card.model';\nexport * from './lib/tissue/navbar/navbar.model';\nexport * from './lib/tissue/table/table.model';\nexport * from './lib/tissue/searchbar/searchbar.model';\nexport * from './lib/tissue/page/page.model';\nexport * from './lib/tissue/bar/bar.model';\nexport * from './lib/organ/forget/forget.model';\nexport * from './lib/organ/register/register.model';\nexport * from './lib/organ/login/login.model';\nexport * from './lib/organ/modal/modal.model';\nexport * from './lib/organ/crud/crud.model';\nexport * from './lib/organ/code/code.model';\nexport * from './lib/tissue/clientbar/clientbar.model';\nexport * from './lib/organ/reset/reset.model';\nexport * from './lib/organ/form/form.model';\nexport * from './lib/tissue/footer/footer-model';\nexport * from './lib/organ/profile/profile.model';\nexport * from './lib/tissue/nav/nav.model';\nexport * from './lib/tissue/pay/pay.model';\nexport * from './lib/organ/checkout/checkout.model';\nexport * from './lib/organ/donate/donate.model';\nexport * from './lib/organ/contact/contact.model';\nexport * from './lib/organ/email/email.model';\n\nexport * from './lib/cell/icon/icon/icon.component';\nexport * from './lib/cell/icon/icon-link/icon-link.component';\nexport * from './lib/cell/icon/icon-button/icon-button.component';\nexport * from './lib/cell/link/link/link.component';\nexport * from './lib/cell/link/link-icon/link-icon.component';\nexport * from './lib/cell/link/link-logo/link-logo.component';\nexport * from './lib/cell/button/button/button.component';\nexport * from './lib/cell/button/button-icon/button-icon.component';\nexport * from './lib/cell/button/button-submit/button-submit.component';\nexport * from './lib/cell/button/button-dropdown/button-dropdown.component';\nexport * from './lib/cell/input/input-text/input-text.component';\nexport * from './lib/cell/input/input-floating-text/input-floating-text.component';\nexport * from './lib/cell/input/input-icon-text/input-icon-text.component';\n\nexport * from './lib/tissue/inputs/input-texts/input-texts.component';\nexport * from './lib/tissue/inputs/input-floating-texts/input-floating-texts.component';\nexport * from './lib/tissue/inputs/input-icon-texts/input-icon-texts.component';\nexport * from './lib/tissue/card/card/card.component';\nexport * from './lib/tissue/card/card-action/card-action.component';\nexport * from './lib/tissue/card/card-icon/card-icon.component';\nexport * from './lib/tissue/card/card-icon-action/card-icon-action.component';\nexport * from './lib/tissue/card/card-image/card-image.component';\nexport * from './lib/tissue/card/card-image-action/card-image-action.component';\nexport * from './lib/tissue/navbar/navbar/navbar.component';\nexport * from './lib/tissue/nav/tab-form/tab-form.component';\nexport * from './lib/tissue/table/table/table.component';\nexport * from './lib/tissue/searchbar/searchbar/searchbar.component';\nexport * from './lib/tissue/page/page.component';\nexport * from './lib/tissue/clientbar/clientbar/clientbar.component';\nexport * from './lib/tissue/table/table-action/table-action.component';\nexport * from './lib/tissue/footer/footer/footer.component';\nexport * from './lib/tissue/bar/button-bar/button-bar.component';\nexport * from './lib/tissue/bar/link-bar/link-bar.component';\nexport * from './lib/tissue/pay/pay/pay.component';\nexport * from './lib/tissue/navbar/navbar-action/navbar-action.component';\nexport * from './lib/tissue/bar/side-bar/side-bar.component';\n\nexport * from './lib/organ/login/login/login.component';\nexport * from './lib/organ/register/register/register.component';\nexport * from './lib/organ/forget/forget/forget.component';\nexport * from './lib/organ/modal/modal/modal.component';\nexport * from './lib/organ/modal/modal-toast/modal-toast.component';\nexport * from './lib/organ/crud/crud-table/crud-table.component';\nexport * from './lib/organ/crud/crud-card/crud-card.component';\nexport * from './lib/organ/code/code/code.component';\nexport * from './lib/organ/reset/reset/reset.component';\nexport * from './lib/organ/form/form/form.component';\nexport * from './lib/organ/profile/profile/profile.component';\nexport * from './lib/organ/checkout/checkout/checkout.component';\nexport * from './lib/organ/donate/donate/donate.component';\nexport * from './lib/organ/contact/contact/contact.component';\nexport * from './lib/organ/email/email/email.component';\n\n\n\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i3.IconComponent","i1.IconComponent","i2.IconComponent","i2.IconLinkComponent","i3.LinkComponent","i4.LinkIconComponent","i5.LinkLogoComponent","i2.ButtonComponent","i3.ButtonIconComponent","i4.IconButtonComponent","i2.LinkBarComponent","i3.ButtonBarComponent","i3.LinkBarComponent","i4.ButtonBarComponent","i2","i1.LinkLogoComponent","i1.ButtonIconComponent","i2.InputIconTextComponent","i4.LinkComponent","i4.LinkLogoComponent","i2.InputTextsComponent","i3.ButtonSubmitComponent","i4.InputFloatingTextsComponent","i5.InputIconTextsComponent","i3.InputTextsComponent","i1.ButtonComponent","i1.LinkComponent","i2.FormComponent","i2.ModalComponent","i3.TableActionComponent","i4.InputIconTextComponent","i3.IconButtonComponent","i4.CardActionComponent","i5.CardIconActionComponent","i6.CardImageActionComponent","i3.CrudCardComponent","i2.ButtonIconComponent","i2.LinkComponent","i2.InputIconTextsComponent","i3.PayComponent","i1.FormComponent","i2.CardComponent"],"mappings":"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"}