/* Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 2 1 , ĠAlibaba ĠGroup ĠHold ing ĠLimited ; Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* Ġ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ package Ġcom . alibaba . g ai ax . template Ċ Ċ import Ġapp . vis ly . stretch .* Ċ import Ġcom . alibaba . fastjson . JSONObject Ċ import Ġcom . alibaba . g ai ax . template . utils . GX Template Utils Ċ Ċ /** Ċ Ġ* Ġ@ suppress Ċ Ġ*/ Ċ data Ġclass ĠG X Flex Box ( ĊĠĠĠ Ġval Ġdisplay : ĠDisplay ? Ġ= Ġnull , ĊĠĠĠ Ġval Ġposition Type : ĠPosition Type ? Ġ= Ġnull , ĊĠĠĠ Ġval Ġdirection : ĠDirection ? Ġ= Ġnull , ĊĠĠĠ Ġval ĠflexDirection : ĠFlex Direction ? Ġ= Ġnull , ĊĠĠĠ Ġval Ġflex Wrap : ĠFlex Wrap ? Ġ= Ġnull , ĊĠĠĠ Ġval Ġoverflow : ĠOverflow ? Ġ= Ġnull , ĊĠĠĠ Ġval ĠalignItems : ĠAlign Items ? Ġ= Ġnull , ĊĠĠĠ Ġval Ġalign Self : ĠAlign Self ? Ġ= Ġnull , ĊĠĠĠ Ġval Ġalign Content : ĠAlign Content ? Ġ= Ġnull , ĊĠĠĠ Ġval ĠjustifyContent : ĠJust ify Content ? Ġ= Ġnull , ĊĠĠĠ Ġval Ġposition : ĠRect < Dimension >? Ġ= Ġnull , ĊĠĠĠ Ġval Ġmargin : ĠRect < Dimension >? Ġ= Ġnull , ĊĠĠĠ Ġval Ġpadding : ĠRect < Dimension >? Ġ= Ġnull , ĊĠĠĠ Ġval Ġborder : ĠRect < Dimension >? Ġ= Ġnull , ĊĠĠĠ Ġval Ġflex Grow : ĠFloat ? Ġ= Ġnull , ĊĠĠĠ Ġval Ġflex Shrink : ĠFloat ? Ġ= Ġnull , ĊĠĠĠ Ġval Ġflex Basis : ĠDimension ? Ġ= Ġnull , ĊĠĠĠ Ġval Ġsize : ĠSize < Dimension >? Ġ= Ġnull , ĊĠĠĠ Ġval Ġmin Size : ĠSize < Dimension >? Ġ= Ġnull , ĊĠĠĠ Ġval ĠmaxSize : ĠSize < Dimension >? Ġ= Ġnull , ĊĠĠĠ Ġval Ġaspect Ratio : ĠFloat ? Ġ= Ġnull , Ċ ) Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĊĠĠĠĠĠĠĠ Ġfun Ġcreate ( low Priority Style : ĠG X Flex Box , Ġheight Priority Style : ĠG X Flex Box ): ĠG X Flex Box Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠG X Flex Box ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdisplay Ġ= Ġheight Priority Style . display Ġ?: Ġlow Priority Style . display , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġposition Type Ġ= Ġheight Priority Style . position Type Ġ?: Ġlow Priority Style . position Type , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdirection Ġ= Ġheight Priority Style . direction Ġ?: Ġlow Priority Style . direction , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠflexDirection Ġ= Ġheight Priority Style . flex Direction Ġ?: Ġlow Priority Style . flex Direction , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġflex Wrap Ġ= Ġheight Priority Style . flex Wrap Ġ?: Ġlow Priority Style . flex Wrap , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverflow Ġ= Ġheight Priority Style . overflow Ġ?: Ġlow Priority Style . overflow , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠalignItems Ġ= Ġheight Priority Style . align Items Ġ?: Ġlow Priority Style . align Items , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġalign Self Ġ= Ġheight Priority Style . align Self Ġ?: Ġlow Priority Style . align Self , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġalign Content Ġ= Ġheight Priority Style . align Content Ġ?: Ġlow Priority Style . align Content , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠjustifyContent Ġ= Ġheight Priority Style . justify Content Ġ?: Ġlow Priority Style . justify Content , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġposition Ġ= ĠG X Template Utils . create Rect Dimension By Priority ( height Priority Style . position , Ġlow Priority Style . position ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmargin Ġ= ĠG X Template Utils . create Rect Dimension By Priority ( height Priority Style . margin , Ġlow Priority Style . margin ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpadding Ġ= ĠG X Template Utils . create Rect Dimension By Priority ( height Priority Style . padding , Ġlow Priority Style . padding ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġborder Ġ= ĠG X Template Utils . create Rect Dimension By Priority ( height Priority Style . border , Ġlow Priority Style . border ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġflex Grow Ġ= Ġheight Priority Style . flex Grow Ġ?: Ġlow Priority Style . flex Grow , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġflex Shrink Ġ= Ġheight Priority Style . flex Shrink Ġ?: Ġlow Priority Style . flex Shrink , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġflex Basis Ġ= Ġheight Priority Style . flex Basis Ġ?: Ġlow Priority Style . flex Basis , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsize Ġ= ĠG X Template Utils . create Size Dimension By Priority ( height Priority Style . size , Ġlow Priority Style . size ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmin Size Ġ= ĠG X Template Utils . create Size Dimension By Priority ( height Priority Style . min Size , Ġlow Priority Style . min Size ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠmaxSize Ġ= ĠG X Template Utils . create Size Dimension By Priority ( height Priority Style . maxSize , Ġlow Priority Style . maxSize ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġaspect Ratio Ġ= Ġheight Priority Style . aspect Ratio Ġ?: Ġlow Priority Style . aspect Ratio ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĊĠĠĠĠĠĠĠ Ġfun Ġcreate ( css : ĠJSONObject ): ĠG X Flex Box Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( css . isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠG X Flex Box () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠG X Flex Box ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdisplay Ġ= ĠG X Flex Box Convert . display ( css ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġposition Type Ġ= ĠG X Flex Box Convert . position Type ( css ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdirection Ġ= ĠG X Flex Box Convert . direction ( css ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠflexDirection Ġ= ĠG X Flex Box Convert . flex Direction ( css ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġflex Wrap Ġ= ĠG X Flex Box Convert . flex Wrap ( css ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverflow Ġ= ĠG X Flex Box Convert . overflow ( css ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠalignItems Ġ= ĠG X Flex Box Convert . align Items ( css ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġalign Self Ġ= ĠG X Flex Box Convert . align Self ( css ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġalign Content Ġ= ĠG X Flex Box Convert . align Content ( css ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠjustifyContent Ġ= ĠG X Flex Box Convert . justify Content ( css ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġposition Ġ= ĠG X Flex Box Convert . position ( css ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmargin Ġ= ĠG X Flex Box Convert . margin ( css ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpadding Ġ= ĠG X Flex Box Convert . padding ( css ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġborder Ġ= ĠG X Flex Box Convert . border ( css ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġflex Basis Ġ= ĠG X Flex Box Convert . flex Basis ( css ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsize Ġ= ĠG X Flex Box Convert . size ( css ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmin Size Ġ= ĠG X Flex Box Convert . min Size ( css ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠmaxSize Ġ= ĠG X Flex Box Convert . maxSize ( css ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġaspect Ratio Ġ= ĠG X Flex Box Convert . aspect Ratio ( css ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġflex Grow Ġ= ĠG X Flex Box Convert . flex Grow ( css ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġflex Shrink Ġ= ĠG X Flex Box Convert . flex Shrink ( css ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }