1window.LESS={"CmIconVars-Family":"Magpie-UI-Glyphs","CmIconVars-Color":"#212121","CmIconVars-Version":"3.158.1","CmIcon-Magnify":"\\e600","CmIcon-Reduce":"\\e601","CmIcon-CircleArrowLeft":"\\e700","CmIcon-CircleArrowRight":"\\e701","CmIcon-CircleArrowUp":"\\e702","CmIcon-CircleArrowDown":"\\e703","CmIcon-CircleClose":"\\e704","CmIcon-CircleTwitter":"\\e800","CmIcon-CircleInstagram":"\\e801","CmIcon-CircleYoutube":"\\e802","CmIcon-CircleVK":"\\e803","CmIcon-CircleFacebook":"\\e804","CmIcon-ChevronDown":"\\e900","CmIcon-ChevronUp":"\\e901","CmIcon-ChevronLeft":"\\e902","CmIcon-ChevronRight":"\\e903","CmIconIA-Spinner-BorderSize":"3px","CmIconIA-Spinner-BorderSizeLarge":"6px","CmIconIA-Spinner-DefaultBackground":"hsl(0, 0%, 91%)","CmIconIA-Spinner-ActiveBackground":"hsl(195.47, 100%, 44.12%)",CmVersion:"3.158.1",CmProtocol:"https:","CmPath-Images":"../img/MagpieUI","CmPath-Fonts":"../fonts/MagpieUI","CmSize-None":"0px","CmSize-XXXXSmall":"2px","CmSize-XXXSmall":"4px","CmSize-XXSmall":"8px","CmSize-XSmall":"12px","CmSize-Small":"16px","CmSize-Medium":"24px","CmSize-Large":"32px","CmSize-XLarge":"48px","CmSize-XXLarge":"64px","CmSize-XXXLarge":"96px","CmIndent-None":"0px","CmIndent-XXXXSmall":"2px","CmIndent-XXXSmall":"4px","CmIndent-XXSmall":"8px","CmIndent-XSmall":"12px","CmIndent-Small":"16px","CmIndent-Medium":"24px","CmIndent-Large":"32px","CmIndent-XLarge":"48px","CmIndent-XXLarge":"64px","CmIndent-XXXLarge":"96px",CmIndents:["0px","2px","4px","8px","12px","16px","24px","32px","48px","64px","96px"],"CmUI-Transition-Duration":"250ms","CmUI-Transition-DurationMedium":"150ms","CmUI-Transition-DurationShort":"100ms","CmUI-Transition-DurationLong":"500ms","CmUI-Transition-DurationXLong":"750ms","CmUI-Transition-DurationXXLong":"1000ms","CmUI-Transition-DurationReverse":"100ms","CmUI-Transition-DurationNone":"0ms","CmUI-Transition-Delay-Hide":"300ms","CmUI-MotionSmooth":"ease-in-out","CmUI-MotionAsymmetric":"cubic-bezier(0.5, 0, 0.15, 1)","CmUI-MotionBounce":"cubic-bezier(0.5, 0.1, 0.4, 1.3)","CmUI-Opacity-Transparent":.01,"CmUI-Opacity-H
1over":.7,"CmUI-Opacity-Faded":.5,"CmUI-Opacity-FadedHover":"1","CmUI-Shadow":[0,0,"8px","rgba(0, 0, 0, 0.15)"],"CmUI-ShadowLight":[0,0,"2px","rgba(0, 0, 0, 0.2)"],"CmUI-ShadowInner":[0,"2px","2px","rgba(0, 0, 0, 0.4)","inset"],"CmUI-Shadow-Top":[0,"-2px","5px","rgba(0, 0, 0, 0.15)"],"CmUI-Shadow-TopLarge":[0,"-2px","12px","rgba(0, 0, 0, 0.2)"],"CmUI-Shadow-TopSmall":[0,"-1px","2px","rgba(0, 0, 0, 0.15)"],"CmUI-Shadow-Bottom":[0,"2px","5px","rgba(0, 0, 0, 0.15)"],"CmUI-Shadow-BottomLarge":[0,"2px","12px","rgba(0, 0, 0, 0.2)"],"CmUI-Shadow-BottomSmall":[0,"1px","2px","rgba(0, 0, 0, 0.15)"],"CmUI-Shadow-Right":["2px",0,"5px","rgba(0, 0, 0, 0.15)"],"CmUI-Shadow-Left":["-2px",0,"5px","rgba(0, 0, 0, 0.15)"],"CmUI-Shadow-Card":[0,"1px","2px","rgba(0, 0, 0, 0.25)"],"CmUI-Overlay":"rgba(255, 255, 255, 0.7)","CmUI-Overlay-Fade":.7,"CmUI-Overlay-FadeHeight":.9,"CmUI-Overlay-FadeHigh":.9,"CmUI-Overlay-FadeMedium":.3,"CmUI-Overlay-FadeP":"70%","CmUI-Overlay-FadeHeightP":"90%","CmUI-Overlay-FadeHighP":"90%","CmUI-Overlay-FadeMediumP":"30%","CmUI-Overlay-Dark":"rgba(0, 0, 0, 0.7)","CmUI-Overlay-Light":"rgba(255, 255, 255, 0.7)","CmUI-Overlay-Duration":"500ms","CmUI-AdaptiveFrom":"768px","CmUI-TooltipWidth":"320px","CmUI-ColumnIndent":"24px","CmUI-BoxIndent":"24px","CmUI-GoogleFont":"Open+Sans","CmUI-GoogleFont-Enable":"false","CmUI-GoogleFont-Weight":"100,300,400,600,700,800","CmVar-Color-LightDefault-Lightness":"100%","CmVar-Color-LightHighlight-Lightness":"98%","CmVar-Color-LightHover-Lightness":"95%","CmVar-Color-LightActive-Lightness":"91%","CmVar-Color-LightActiveHover-Lightness":"86%","CmVar-Color-MiddleDefault-Lightness":"80%","CmVar-Color-MiddleHover-Lightness":"75%","CmVar-Color-MiddleActive-Lightness":"70%","CmVar-Color-MiddleActiveHover-Lightness":"65%","CmVar-Color-DarkDefault-Lightness":"52%","CmVar-Color-DarkHover-Lightness":"45%","CmVar-Color-DarkActive-Lightness":"35%","CmVar-Color-DarkActiveHover-Lightness":"25%","CmColor-Primary":195.47,"CmColor-Primary-DarkSaturation":"100%","CmColor-Primary-DarkLighten":"0%","CmColor-Primary-DarkDefault-Lightness":"44.12%","CmColor-Primary-DarkHover-Lightness":"45%","CmColor-Primary-DarkActive-Lightness":"35%","CmColor-Primary-DarkActiveHover-Lightness":"25%","CmColor-Primary-DarkDefault":"hsl(195.47, 100%, 44.12%)","CmColor-Primary-DarkHover":"hsl(195.47000000000003, 100%, 45%)","CmColor-Primary-DarkActive":"hsl(195.47, 100%, 35%)","CmColor-Primary-DarkActiveHover":"hsl(195.47, 100%, 25%)","CmColor-Primary-MiddleSaturation":"75%","CmColor-Primary-MiddleLighten":"0%","CmColor-Primary-MiddleDefault-Lightness":"80%","CmColor-Primary-MiddleHover-Lightness":"75%","CmColor-Primary-MiddleActive-Lightness":"70%","CmColor-Primary-MiddleActiveHover-Lightness":"65%","CmColor-Primary-MiddleDefault":"hsl(195.47, 74.99999999999997%, 80%)","CmColor-Primary-MiddleHover":"hsl(195.47000000000003, 75%, 75%)","CmColor-Primary-MiddleActive":"hsl(195.47, 75.00000000000003%, 70%)","CmColor-Primary-MiddleActiveHover":"hsl(195.47, 74.99999999999996%, 65%)","CmColor-Primary-LightSaturation":"70%","CmColor-Primary-LightLighten":"0%","CmColor-Primary-LightHighlight-Lightness":"98%","CmColor-Primary-LightHover-Lightness":"95%","CmColor-Primary-LightActive-Lightness":"91%","CmColor-Primary-LightActiveHover-Lightness":"86%","CmColor-Primary-LightDefault":"transparent","CmColor-Primary-LightHighlight":"hsl(195.47000000000003, 70%, 98%)","CmColor-Primary-LightHover":"hsl(195.47, 69.99999999999991%, 95%)","CmColor-Primary-LightActive":"hsl(195.47000000000003, 69.99999999999984%, 91%)","CmColor-Primary-LightActiveHover":"hsl(195.47, 70.00000000000009%, 86%)","CmColor-Secondary":0,"CmColor-Secondary-DarkSaturation":"0%","CmColor-Secondary-DarkLighten":"0%","CmColor-Secondary-DarkDefault-Lightness":"52%","CmColor-Secondary-DarkHover-Lightness":"45%","CmColor-Secondary-DarkActive-Lightness":"35%","CmColor-Secondary-DarkActiveHover-Lightness":"25%","CmColor-Secondary-DarkDefault":"hsl(0, 0%, 52%)","CmColor-Secondary-DarkHover":"hsl(0, 0%, 45%)","CmColor-Secondary-DarkActive":"hsl(0, 0%, 35%)","CmColor-Secondary-DarkActiveHover":"hsl(0, 0%, 25%)","CmColor-Secondary-MiddleSaturation":"0%","CmColor-Secondary-MiddleLighten":"0%","CmColor-Secondary-MiddleDefault-Lightness":"80%","CmColor-Secondary-MiddleHover-Lightness":"75%","CmColor-Secondary-MiddleActive-Lightness":"70%","CmColor-Secondary-MiddleActiveHover-Lightness":"65%","CmColor-Secondary-MiddleDefault":"hsl(0, 0%, 80%)","CmColor-Secondary-MiddleHover":"hsl(0, 0%, 75%)","CmColor-Secondary-MiddleActive":"hsl(0, 0%, 70%)","CmColor-Secondary-MiddleActiveHover":"hsl(0, 0%, 65%)","CmColor-Secondary-LightSaturation":"0%","CmColor-Secondary-LightLighten":"0%","CmColor-Secondary-LightHighlight-Lightness":"98%","CmColor-Secondary-LightHover-Lightness":"95%","CmColor-Secondary-LightActive-Lightness":"91%","CmColor-Secondary-LightActiveHover-Lightness":"86%","CmColor-Secondary-LightDefault":"transparent","CmColor-Secondary-LightHighlight":"hsl(0, 0%, 98%)","CmColor-Secondary-LightHover":"hsl(0, 0%, 95%)","CmColor-Secondary-LightActive":"hsl(0, 0%, 91%)","CmColor-Secondary-LightActiveHover":"hsl(0, 0%, 86%)","CmColor-Success":120,"CmColor-Success-DarkSaturation":"65%","CmColor-Success-DarkLighten":"-10%","CmColor-Success-DarkDefault-Lightness":"52%","CmColor-Success-DarkHover-Lightness":"45%","CmColor-Success-DarkActive-Lightness":"35%","CmColor-Success-DarkActiveHover-Lightness":"25%","CmColor-Success-DarkDefault":"hsl(120, 64.99999999999999%, 42%)","CmColor-Success-DarkHover":"hsl(120, 64.99999999999999%, 35%)","CmColor-Success-DarkActive":"hsl(120, 64.99999999999999%, 25%)","CmColor-Success-DarkActiveHover":"hsl(120, 64.99999999999999%, 15%)","CmColor-Success-MiddleSaturation":"65%","CmColor-Success-MiddleLighten":"0%","CmColor-Success-MiddleDefault-Lightness":"80%","CmColor-Success-MiddleHover-Lightness":"75%","CmColor-Success-MiddleActive-Lightness":"70%","CmColor-Success-MiddleActiveHover-Lightness":"65%","CmColor-Success-MiddleDefault":"hsl(120, 65.00000000000007%, 80%)","CmColor-Success-MiddleHover":"hsl(120, 64.99999999999994%, 75%)","CmColor-Success-MiddleActive":"hsl(120, 65.00000000000003%, 70%)","CmColor-Success-MiddleActiveHover":"hsl(120, 64.99999999999999%, 65%)","CmColor-Success-LightSaturation":"60%","CmColor-Success-LightLighten":"0%","CmColor-Success-LightHighlight-Lightness":"98%","CmColor-Success-LightHover-Lightness":"95%","CmColor-Success-LightActive-Lightness":"91%","CmColor-Success-LightActiveHover-Lightness":"86%","CmColor-Success-LightDefault":"transparent","CmColor-Success-LightHighlight":"hsl(120, 60.000000000000384%, 98%)","CmColor-Success-LightHover":"hsl(120, 59.999999999999844%, 95%)","CmColor-Success-LightActive":"hsl(120, 59.99999999999995%, 91%)","CmColor-Success-LightActiveHover":"hsl(120, 59.999999999999964%, 86%)","CmColor-Danger":0,"CmColor-Danger-DarkSaturation":"65%","CmColor-Danger-DarkLighten":"0%","CmColor-Danger-DarkDefault-Lightness":"52%","CmColor-Danger-DarkHover-Lightness":"45%","CmColor-Danger-DarkActive-Lightness":"35%","CmColor-Danger-DarkActiveHover-Lightness":"25%","CmColor-Danger-DarkDefault":"hsl(0, 64.99999999999997%, 52%)","CmColor-Danger-DarkHover":"hsl(0, 64.99999999999999%, 45%)","CmColor-Danger-DarkActive":"hsl(0, 64.99999999999999%, 35%)","CmColor-Danger-DarkActiveHover":"hsl(0, 64.99999999999999%, 25%)","CmColor-Danger-MiddleSaturation":"65%","CmColor-Danger-MiddleLighten":"0%","CmColor-Danger-MiddleDefault-Lightness":"80%","CmColor-Danger-MiddleHover-Lightness":"75%","CmColor-Danger-MiddleActive-Lightness":"70%","CmColor-Danger-MiddleActiveHover-Lightness":"65%","CmColor-Danger-MiddleDefault":"hsl(0, 65.00000000000007%, 80%)","CmColor-Danger-MiddleHover":"hsl(0, 64.99999999999994%, 75%)","CmColor-Danger-MiddleActive":"hsl(0, 65.00000000000003%, 70%)","CmColor-Danger-MiddleActiveHover":"hsl(0, 64.99999999999999%, 65%)","CmColor-Danger-LightSaturation":"65%","CmColor-Danger-LightLighten":"0%","CmColor-Danger-LightHighlight-Lightness":"98%","CmColor-Danger-LightHover-Lightness":"95%","CmColor-Danger-LightActive-Lightness":"91%","CmColor-Danger-LightActiveHover-Lightness":"86%","CmColor-Danger-LightDefault":"transparent","CmColor-Danger-LightHighlight":"hsl(0, 64.99999999999945%, 98%)","CmColor-Danger-LightHover":"hsl(0, 65.00000000000034%, 95%)","CmColor-Danger-LightActive":"hsl(0, 65.00000000000006%, 91%)","CmColor-Danger-LightActiveHover":"hsl(0, 65%, 86%)","CmColor-Warning":38,"CmColor-Warning-DarkSaturation":"75%","CmColor-Warning-DarkLighten":"0%","CmColor-Warning-DarkDefault-Lightness":"52%","CmColor-Warning-DarkHover-Lightness":"45%","CmColor-Warning-DarkActive-Lightness":"35%","CmColor-Warning-DarkActiveHover-Lightness":"25%","CmColor-Warning-DarkDefault":"hsl(38, 74.99999999999999%, 52%)","CmColor-Warning-DarkHover":"hsl(38.00000000000001, 74.99999999999999%, 45%)","CmColor-Warning-DarkActive":"hsl(38, 74.99999999999999%, 35%)","CmColor-Warning-DarkActiveHover":"hsl(38, 75%, 25%)","CmColor-Warning-MiddleSaturation":"75%","CmColor-Warning-MiddleLighten":"0%","CmColor-Warning-MiddleDefault-Lightness":"80%","CmColor-Warning-MiddleHover-Lightness":"75%","CmColor-Warning-MiddleActive-Lightness":"70%","CmColor-Warning-MiddleActiveHover-Lightness":"65%","CmColor-Warning-MiddleDefault":"hsl(38.00000000000001, 74.99999999999997%, 80%)","CmColor-Warning-MiddleHover":"hsl(38.00000000000001, 75%, 75%)","CmColor-Warning-MiddleActive":"hsl(38.00000000000001, 75.00000000000003%, 70%)","CmColor-Warning-MiddleActiveHover":"hsl(38, 74.99999999999996%, 65%)","CmColor-Warning-LightSaturation":"75%","CmColor-Warning-LightLighten":"0%","CmColor-Warning-LightHighlight-Lightness":"98%","CmColor-Warning-LightHover-Lightness":"95%","CmColor-Warning-LightActive-Lightness":"91%","CmColor-Warning-LightActiveHover-Lightness":"86%","CmColor-Warning-LightDefault":"transparent","CmColor-Warning-LightHighlight":"hsl(38, 75.00000000000021%, 98%)","CmColor-Warning-LightHover":"hsl(37.999999999999986, 75.00000000000011%, 95%)","CmColor-Warning-LightActive":"hsl(37.99999999999999, 75.00000000000011%, 91%)","CmColor-Warning-LightActiveHover":"hsl(37.999999999999986, 74.9999999999999%, 86%)","CmColor-Font":"#212121","CmColor-Font-Opposite":"#ffffff","CmColor-Font-Hint":"#999999","CmColor-Font-Disabled":"#999999","CmColor-Font-Placeholder":"#b7b7b7","CmColor-Font-Link":"var(--color-accent)","CmColor-Font-LinkHover":"var(--color-accent)","CmColor-Font-LinkActive":"var(--color-accent--dark)","CmColor-Backgroun
1d":"#ffffff","CmColor-Icon":"#212121","CmColor-Mark":"#fdf6ad","CmColor-Gallery":"#111111","CmColor-Border":"var(--color-border)","CmColor-BorderHover":"hsl(0, 0%, 65%)","CmColor-BorderSelected":"hsl(195.47, 74.99999999999997%, 80%)","CmColor-BorderActive":"var(--color-accent)","CmColor-BorderDisabled":"hsl(0, 0%, 91%)","CmFont-Base-LightWeight":"300","CmFont-Base-NormalWeight":400,"CmFont-Base-MediumWeight":"500","CmFont-Base-BoldWeight":"700","CmFont-Base-LineHeight":"24px","CmFont-Base-LineHeightSmall":"18px","CmFont-Base-Family":"'Satoshi', sans-serif","CmFont-Base-Size":"16px","CmFont-Base-SizeSmall":"14px","CmFont-Base-Weight":400,"CmFont-Base-Color":"#212121","CmFont-Base-ColorOpposite":"#ffffff","CmFont-Base-Hint-Size":"14px","CmFont-Base-Hint-Color":"#999999","CmFont-Placeholder-Size":"inherit","CmFont-Placeholder-SizeSmall":"12px","CmFont-Placeholder-Style":"normal","CmFont-Placeholder-Color":"#727272","CmFont-UI-LightWeight":300,"CmFont-UI-NormalWeight":400,"CmFont-UI-BoldWeight":"600","CmFont-UI-LineHeight":"18px","CmFont-UI-Size":"14px","CmFont-UI-SizeSmall":"14px","CmFont-UI-Family":"'Satoshi', sans-serif","CmFont-UI-Weight":400,"CmFont-UI-Color":"#212121","CmFont-UI-ColorOpposite":"#ffffff","CmFont-UI-H1-LineHeight":"32px","CmFont-UI-H1-Size":"24px","CmFont-UI-H1-Weight":500,"CmFont-UI-H1-Color":"#212121","CmFont-UI-H4-LineHeight":"24px","CmFont-UI-H4-Size":"18px","CmFont-UI-H4-Weight":500,"CmFont-UI-H4-Color":"#212121","CmBorder-Radius":"5px","CmBorder-Width":"1px","CmBorder-Style":"solid","CmBorder-BoxWidth":"2px","CmBorder-TemporaryWidth":"2px","CmBorder-Default":["1px","solid","var(--color-border)"],"CmBorder-Separator":["1px","solid","#DFDFDF"],"CmBorder-Editable":["1px","dashed","var(--color-accent)"],"CmBorder-Box":["2px","solid","var(--color-border)"],"CmBorder-BoxHover":["2px","solid","hsl(0, 0%, 65%)"],"CmBorder-BoxActive":["2px","solid","var(--color-accent)"],"CmBorder-BoxSelected":["2px","solid","hsl(195.47, 74.99999999999997%, 80%)"],"CmBorder-Temporary":["2px","dashed","var(--color-border)"],"CmBorder-TemporaryHover":["2px","dashed","hsl(0, 0%, 65%)"],"CmBorder-TemporaryActive":["2px","dashed","var(--color-accent)"],"CmBorder-TemporarySelected":["2px","dashed","hsl(195.47, 74.99999999999997%, 80%)"],"CmButton-PaddingX":"24px","CmButton-OutlineWidth":"1px","CmButton-OutlineOffset":"1px","CmButton-Gap":"8px","CmInput-Padding":"6px","CmInput-BorderWidth":"1px","CmInput-BorderStyle":"solid","CmInput-DefaultBackground":"#ffffff","CmInput-DefaultBorder":"var(--color-border)","CmInput-HoverBackground":"#ffffff","CmInput-HoverBorder":"hsl(0, 0%, 65%)","CmInput-ActiveBackground":"#ffffff","CmInput-ActiveBorder":"var(--color-accent)","CmInput-DisabledBackground":"hsl(0, 0%, 98%)","CmInput-DisableBorder":"hsl(0, 0%, 91%)","CmInput-AccentColor":"hsl(195.47, 100%, 40%)","CmInput-IconGap":"0px","CmTextarea-Height":"100px","CmSelect-Size":"7","CmScrollBar-Size":"8px","CmScrollBar-Radius":"5px","CmScrollBar-TrackBackground":"hsla(0, 0%, 98%, 0.5)","CmScrollBar-ThumbColor":"hsl(0, 0%, 86%)","CmScrollBar-ThumbColorHover":"hsl(0, 0%, 80%)","CmScrollBar-Light-ThumbColor":"hsl(195.47000000000003, 70%, 98%)","CmScrollBar-Light-ThumbColorHover":"hsl(195.47, 69.99999999999991%, 95%)","CmForm-FieldHeight":"40px","CmForm-FieldIndent":"20px","CmForm-FieldTitleWidth":"156px","CmForm-FieldTitleWidthSpaceless":"128px","CmForm-FieldInnerIndent":"10px","CmForm-FieldSmallWidth":"250px","CmForm-Field-AdaptiveUp":"641px","CmForm-Field-AdaptiveDown":"640px","CmForm-HintGap":"4px","CmForm-ButtonsIndent":"12px","CmForm-IconsIndent":"8px","CmForm-ImageBox-ButtonWidth":"100px","CmForm-Cols-Names":"one two three four five six seven eight nine ten","CmForm-Cols-Indent":"2%","CmForm-FilesList-Count":3,"CmForm-FieldPlaceholder-Scale":.75,"CmCounter-Size":"16px","CmCounter-Border":"1px","CmCounter-Radius":"16px","PtBox-BorderWidth":"1px","PtBox-BorderColor":"var(--color-border)","PtBox-Padding":"4px","PtBoxItem-Sizes":"50 80 150","PtBoxItem-DescrLines":"1","PtBoxContent-Indent":"48px","PtBoxContent-Indents":["0px","2px","4px","8px","12px","16px","24px","32px","48px","64px","96px"],"PtBoxCode-PaddingY":"8px","PtBoxCode-PaddingX":"12px","PtMenu-IndentY":"4px","PtMenu-IndentX":"4px","PtMenu-BorderWidth":"1px","PtMenu-BorderColor":"var(--color-border)","PtMenu-ItemIndentY":"4px","PtMenu-ItemIndentX":"8px","PtMenu-ItemGap":"8px","PtMenu-Item-Color":"#212121","PtMenu-Item-HoverColor":"var(--color-accent)","PtMenu-Item-ActiveColor":"var(--color-accent--dark)","PtMenu-SeparatorIndentX":"0px","PtMenu-SeparatorSize":"1px","PtMenu-SeparatorColor":"var(--color-border)","PtMenu-SeparatorContent":"none","PtMenu-Dropdown-IndentX":"0px","PtMenu-Dropdown-IndentY":"0px","PtLinks-Indent":"4px","PtLinks-Separator":"|","PtLinks-Separator-Color":"#212121","PtCheckLine-Gap":"0px","PtCheckLine-HasHover-Gap":"1px","PtCheckLine-HasBorder-Gap":"20px","PtImage-Backgroun
1d":"hsl(0, 0%, 98%)","PtImage-Color":"#ffffff","PtImage-Padding":"8px","PtImage-TitlePaddingTop":"4px","PtImage-ButtonsIndent":"8px","PtImage-ToolsMargin":"8px","PtImage-ToolsGap":"8px","PtRange-Size":"24px","PtRange-Height":"200px","PtRange-Drag-Color":"#000000","PtList-PaddingY":"4px","PtList-PaddingX":"4px","PtList-Indent":"1px","PtList-ImageIndent":"8px","PtListingItems-Count":"10","PtListingItems-PaddingY":"4px","PtListingItems-PaddingX":"4px","PtListingItems-Indent":"1px","PtListingItems-GroupIndent":"0px","PtListingItems-ItemHeight":"32px","PtListingCounters-Indent":"4px","PtListingCounters-Height":"24px","PtColumns-Indent":"24px","PtColumns-Indents":["0px","2px","4px","8px","12px","16px","24px","32px","48px","64px","96px"],"PtColumns-AdaptiveFrom":"768px","PtGrid-Indent":"24px","PtGrid-Indents":["0px","2px","4px","8px","12px","16px","24px","32px","48px","64px","96px"],"PtGrid-AdaptiveFrom":"640px","PtSelectable-Hover-Background":"hsl(0, 0%, 98%)","PtSelectable-Hover-Border":"hsl(0, 0%, 95%)","PtSelectable-Active-Background":"hsl(195.47000000000003, 70%, 98%)","PtSelectable-Active-Border":"hsl(195.47000000000003, 69.99999999999984%, 91%)","PtToolbar-GroupIndent":"16px","PtToolbar-ItemIndent":"4px","PtToolbar-ItemIndents":["0px","2px","4px","8px","12px","16px","24px","32px","48px","64px","96px"],"PtToolbar-XXXSmall":"32px","PtToolbar-XXSmall":"56px","PtToolbar-XSmall":"76px","PtToolbar-Small":"100px","PtToolbar-Medium":"150px","PtToolbar-Default":"200px","PtToolbar-Large":"250px","PtToolbar-XLarge":"350px","PtLineShare-Size":"32px","PtLineShare-Indent":"8px","PtGridlist-AdaptiveFrom":"768px","PtGridlist-FontSize":"16px","PtGridlist-Title-FontSize":"16px","PtGridlist-Title-DefaultBackground":"transparent","PtGridlist-Title-HoverBackground":"hsl(195.47, 69.99999999999991%, 95%)","PtGridlist-Title-ActiveBackground":"hsl(195.47000000000003, 69.99999999999984%, 91%)","PtGridlist-Cell-Padding":"6px","PtGridlist-Cell-SpaceSize":"1px","PtGridlist-Cell-SpaceBorder":["1px","solid","transparent"],"PtGridlist-Cell-FontSize":"16px","PtGridlist-Cell-LineHeight":"24px","PtGridlist-Cell-DefaultBackground":"transparent","PtGridlist-Cell-HoverBackground":"hsl(195.47, 69.99999999999991%, 95%)","PtGridlist-Cell-ActiveBackground":"hsl(195.47000000000003, 69.99999999999984%, 91%)","PtGridlist-Cell-ActiveHoverBackground":"hsl(195.47, 70.00000000000009%, 86%)","PtGridlist-Cell-SuccessBackground":"hsl(120, 59.99999999999995%, 91%)","PtGridlist-Cell-SuccessHoverBackground":"hsl(120, 59.999999999999964%, 86%)","PtGridlist-Cell-WarningBackground":"hsl(37.99999999999999, 75.00000000000011%, 91%)","PtGridlist-Cell-WarningHoverBackground":"hsl(37.999999999999986, 74.9999999999999%, 86%)","PtGridlist-Cell-DangerBackground":"hsl(0, 65.00000000000006%, 91%)","PtGridlist-Cell-DangerHoverBackground":"hsl(0, 65%, 86%)","PtGridlist-Title-HasBackground-Default":"hsl(0, 0%, 98%)","PtGridlist-Title-HasBackground-Hover":"hsl(0, 0%, 95%)","PtGridlist-Cell-HasBackground-Default":"hsl(0, 0%, 98%)","PtGridlist-Cell-HasBackground-Hover":"hsl(0, 0%, 95%)","PtGridlist-Cell-HasBackground-Active":"hsl(0, 0%, 91%)","PtDnD-Area-Padding":"16px","PtDnD-Area-BorderRadius":"5px","PtDnD-DropDuration":"400ms","PtDnD-MoveDuration":"200ms","PtDnD-Chassis-HighlightIndent":"24px","PtDnD-Area-ActiveBackground":"hsla(195.47000000000003, 100%, 55.00000000000001%, 0.12)","PtDnD-Area-ActiveBorder":["1px","dashed","hsl(195.47, 100%, 44.12%)"],"PtDnD-Area-HighlightBackgroun
1d":"hsla(195.47000000000003, 100%, 55.00000000000001%, 0.05)","PtDnD-Area-HighlightBorder":["1px","dashed","hsla(195.47, 100%, 44.12%, 0.3)"],"ComDashboard-Area-Padding":"0","ComDashboard-Widget-Indent":"24px","ComDashboard-Placeholder-Height":"48px","PtEditable-HoverBackground":"rgba(255, 255, 255, 0.5)","PtEditable-ActiveBackground":"rgba(255, 255, 255, 0.5)","PtEditable-Drag-DefaultBackground":"hsl(0, 0%, 98%)","PtEditable-Drag-HoverBackground":"hsl(0, 0%, 95%)","PtEditable-Drag-ActiveBackground":"hsl(195.47000000000003, 69.99999999999984%, 91%)","PtDrag-Vertical-Width":"48px","PtDrag-Vertical-Height":"16px","PtDrag-Vertical-Icon-Width":"18px","PtDrag-Vertical-Icon-Height":"6px","PtDrag-Horizontal-Width":"16px","PtDrag-Horizontal-Height":"32px","PtDrag-Horizontal-Icon-Width":"6px","PtDrag-Horizontal-Icon-Height":"14px","PtDrag-DefaultBackground":"hsl(0, 0%, 98%)","PtDrag-DefaultBorder":"var(--color-border)","PtDrag-HoverBackground":"hsl(0, 0%, 95%)","PtDrag-HoverBorder":"hsl(0, 0%, 65%)","PtDrag-ActiveBackground":"hsl(195.47000000000003, 69.99999999999984%, 91%)","PtDrag-ActiveBorder":"hsl(195.47, 75.00000000000003%, 70%)","PtDrag-Line-Size":"2px","PtDrag-Line-DefaultBackground":"hsl(0, 0%, 91%)","PtDrag-Line-HoverBackground":"hsl(0, 0%, 91%)","PtDrag-Line-ActiveBackground":"hsl(195.47, 100%, 44.12%)","PtRuler-Line-Size":"2px","PtRuler-Line-Indent":"12px","PtRuler-Line-DefaultBackground":"hsl(0, 0%, 91%)","PtRuler-Line-HoverBackground":"hsl(0, 0%, 91%)","PtRuler-Line-ActiveBackground":"hsl(195.47, 100%, 44.12%)","PtOverlay-Default":"rgba(255, 255, 255, 0.7)","PtOverlay-Light":"rgba(255, 255, 255, 0.7)","PtOverlay-SolidLight":"#ffffff","PtOverlay-Dark":"rgba(0, 0, 0, 0.7)","PtOverlay-Duration":"500ms","PtOverlay-Spinner-Size":"32px","PtOverlay-Progress-Size":"4px","PtOverlay-ZIndex":"1003","LtCollapsible-SidebarWidth":"350px","LtCollapsible-Duration":"500ms","LtComment-InnerIndent":"4px","ComTooltip-ArrowSize":"6px","ComCalendar-CellHeight":"21px","ComCalendar-CellBorderRadius":"2px","ComCalendar-Outer-Background":"transparent","ComCalendar-Outer-BackgroundHover":"transparent","ComCalendar-Outer-BorderSize":"0","ComCalendar-Outer-Border":"transparent","ComCalendar-Outer-BorderHover":"transparent","ComCalendar-Inner-Background":"hsl(0, 0%, 98%)","ComCalendar-Inner-BackgroundHover":"hsl(0, 0%, 95%)","ComCalendar-Inner-BorderSize":"1px","ComCalendar-Inner-Border":"hsl(0, 0%, 91%)","ComCalendar-Inner-BorderHover":"hsl(0, 0%, 86%)","ComCalendar-Weekend-Background":"hsl(0, 0%, 91%)","ComCalendar-Weekend-BackgroundHover":"hsl(0, 0%, 86%)","ComCalendar-Weekend-BorderSize":"1px","ComCalendar-Weekend-Border":"hsl(0, 0%, 91%)","ComCalendar-Weekend-BorderHover":"hsl(0, 0%, 86%)","ComCalendar-Today-Background":"transparent","ComCalendar-Today-BackgroundHover":"hsl(195.47, 70.00000000000009%, 86%)","ComCalendar-Today-BorderSize":"2px","ComCalendar-Today-Border":"hsl(195.47, 100%, 44.12%)","ComCalendar-Today-BorderHover":"hsl(195.47000000000003, 100%, 45%)","ComCalendar-Active-Background":"hsl(195.47000000000003, 69.99999999999984%, 91%)","ComCalendar-Active-BackgroundHover":"hsl(195.47, 70.00000000000009%, 86%)","ComCalendar-Active-BorderSize":"1px","ComCalendar-Active-Border":"hsl(195.47, 100%, 44.12%)","ComCalendar-Active-BorderHover":"hsl(195.47000000000003, 100%, 45%)","ComColumns-AdaptiveFrom":"768px","ComColumns-Indent":"24px","ComColumns-Indents":["0px","2px","4px","8px","12px","16px","24px","32px","48px","64px","96px"],"ComColumns-MinHeight":"64px","ComColumns-HoverBackground":"rgba(0, 0, 0, 0.01)","ComColumns-ActiveBackground":"rgba(0, 0, 0, 0.01)","ComColumns-Ruler-DefaultBackground":"hsla(0, 0%, 98%, 0.8)","ComColumns-Ruler-ActiveBackground":"hsla(195.47000000000003, 70%, 98%, 0.8)","ComSpacer-HoverBackground":"rgba(0, 0, 0, 0.01)","ComSpacer-ActiveBackground":"hsl(195.47000000000003, 70%, 98%)","ComBoxTools-Width":"250px","ComBoxTools-LineSize":"40px","ComBoxTools-LineIndent":"4px","ComBoxTools-LinkSize":"24px","ComBoxTools-LinkIndent":"4px","ComPositionTools-Item-Size":"24px","ComPositionTools-Item-Indent":"4px","ComPositionTools-Item-Large-Size":"32px","ComPositionTools-Item-Large-Indent":"4px","ComRepeatTools-Item-Size":"38px","ComRepeatTools-Item-Indent":"4px","ComScaleTools-Item-Size":"38px","ComScaleTools-Item-Indent":"4px","ComRange-Bar-Height":"8px","ComRange-Bar-Color":"hsl(0, 0%, 91%)","ComRange-Range-Color":"hsl(195.47, 70.00000000000009%, 86%)","ComDatepicker-Width":"250px","ComDatepicker-TooltipWidth":"250px","ComTimeSelect-Width":"250px","ComTimeSelect-Indent":"12px","ComColorPalette-Size":"200px","ComColorPalette-Drag-Size":"16px","ComColorPicker-Width":"250px","ComFileDropzone-Height":"128px","ComFileDropzone-Duration":"250ms","ComImageInput-Height":"128px","ComImageInput-CoverBackgroun
1d":"rgba(0, 0, 0, 0.7)","ComImageInput-CoverDelay":"300ms","ComImageInput-ButtonsIndent":"4px","CmMultipleFileInput-Count":3,"ComDialog-Duration":"250ms","ComDialog-WindowDuration":"500ms","ComDialog-Indent":"24px","ComDialog-Radius":"5px","ComDialog-TitleIndent":"12px","ComDialog-IconSize":"24px","ComDialog-Overlay":"rgba(0, 0, 0, 0.7)","ComDialog-Default-Background":"#ffffff","ComDialog-Black-Background":"#111111","ComDialog-Black-TitleColor":"#ffffff","ComDialog-Light-Overlay":"rgba(255, 255, 255, 0.7)","ComDialog-Light-Background":"#ffffff","ComDialog-Light-TitleColor":"#ffffff","ComDialog-Light-TitleBackground":"hsl(195.47, 100%, 44.12%)","ComDialog-Compact-Indent":"12px","ComDialog-Compact-TitleHeight":"40px","ComDialog-Compact-TitleIndent":"12px","ComDialog-Compact-IconSize":"40px","ComDialog-Box-Indent":"24px","ComTabset-AdaptiveFrom":"768px","ComTabset-BorderColor":"var(--color-border)","ComTabset-BorderRadius":"5px","ComTabset-BorderWidth":"1px","ComTabset-Border":["1px","solid","var(--color-border)"],"ComTabset-BorderOverlap":"#ffffff","ComTabset-BorderOverlapRadius":"0","ComTabset-Duration":"250ms","ComTabset-Easing":"cubic-bezier(0.5, 0, 0.15, 1)","ComTabset-Column-Width":"256px","ComTabset-Content-Background":"#ffffff","ComTabset-Content-Padding":"24px","ComTabset-Tabs-Height":"40px","ComTabset-Tabs-Indent":"4px","ComTabset-Tabs-IndentInner":"12px","ComTabset-Tabs-IndentBetween":"-1px","ComTabset-Tabs-HorizontalIndent":"24px","ComTabset-Tabs-VerticalIndent":"24px","ComTabset-Tabs-FontSize":"16px","ComTabset-Tabs-DefaultBackground":"hsl(0, 0%, 91%)","ComTabset-Tabs-HoverBackground":"hsl(0, 0%, 95%)","ComTabset-Tabs-ActiveBackground":"#ffffff","ComTabset-TabsTitle-Background":"hsl(0, 0%, 98%)","ComTabset-Tabs-ImageSize":"24px","ComTabset-Tabs-TitleIndent":"8px","ComPagination-Duration":"250ms","ComToggleBox-AdaptiveFrom":"768px","ComToggleBox-Size":"32px","ComToggleBox-SizeMedium":"24px","ComToggleBox-SizeUI":"24px","ComToggleBox-SizeBase":"24px","ComToggleBox-HasBackground-TitleIndentX":"8px","ComToggleBox-HasBackground-TitleIndentY":"0px","ComToggleBox-HasBackground-TitleIndent":["0px","8px"],"ComToggleBox-HasBackground-TitleBorderRadius":"5px","ComToggleBox-ContentBackgroundNormal":"hsl(0, 0%, 98%)","ComToggleBox-ContentBackgroundHover":"hsl(0, 0%, 95%)","ComToggleBox-ContentSpaceBorder":"1px solid transparent","ComToggleBox-Theme":"Light","ComToggleBox-HasBackground-TitleTheme":"Light","ComToggleBox-ThemeLight-TitleColorNormal":"#212121","ComToggleBox-ThemeLight-TitleColorHover":"var(--color-accent)","ComToggleBox-ThemeLight-TitleColorActive":"#212121","ComToggleBox-ThemeLight-TitleIcon":"../img/MagpieUI/icons/small/arrow-right.png","ComToggleBox-ThemeLight-TitleBackgroundNormal":"hsl(0, 0%, 91%)","ComToggleBox-ThemeLight-TitleBackgroundHover":"hsl(195.47, 70.00000000000009%, 86%)","ComToggleBox-ThemeLight-TitleBackgroundActive":"hsl(0, 0%, 91%)","ComToggleBox-ThemeDark-TitleColorNormal":"#ffffff","ComToggleBox-ThemeDark-TitleColorHover":"hsl(195.47, 70.00000000000009%, 86%)","ComToggleBox-ThemeDark-TitleColorActive":"#ffffff","ComToggleBox-ThemeDark-TitleIcon":"../img/MagpieUI/icons/small/arrow-white-right.png","ComToggleBox-ThemeDark-TitleBackgroundNormal":"hsl(195.47, 100%, 44.12%)","ComToggleBox-ThemeDark-TitleBackgroundHover":"hsl(195.47000000000003, 100%, 45%)","ComToggleBox-ThemeDark-TitleBackgroundActive":"hsl(195.47, 100%, 44.12%)","ComSelect-ListCount":7,"ComSelect-ListHeight":"230px","ComAutocomplete-ListCount":7,"ComAutocomplete-ListHeight":"230px","ComTagsInput-itemIndent":"12px","ComTagsInput-itemWidth":"250px","ComTagsInput-inputWidth":"200px","ComZoom-Background":"#111111","ComGallery-Background":"#111111","ComGalleryControls-Button-Size":"12px","ComGalleryLayout-ArrowWidth":"24px","ComGalleryLayout-SizesCount":"12","ComGalleryPreview-SidebarWidth":"400px","ComGalleryPreview-SidebarPadding":"24px","ComSlider-Duration":"500ms","CmScreen-Tablet":"1024px","CmScreen-TabletPortrait":"768px","CmScreen-Mobile":"640px","CmScreen-MobilePortrait":"480px","CmScreen-XSmall":"375px","CmScreen-XXSmall":"300px","CmMedia-Large-Up":"1440px","CmMedia-Large":"1440px","CmMedia-Large-Down":"1439px","CmMedia-Laptop-Up":"1280px","CmMedia-Laptop":"1280px","CmMedia-Laptop-Down":"1279px","CmMedia-Desktop-Up":"1024px","CmMedia-Desktop":"1024px","CmMedia-Desktop-Down":"1023px","CmMedia-Tablet-Up":"769px","CmMedia-Tablet":"768px","CmMedia-Tablet-Down":"768px","CmMedia-Mobile-Up":"641px","CmMedia-Mobile":"640px","CmMedia-Mobile-Down":"640px","CmMedia-Small-Up":"481px","CmMedia-Small":"480px","CmMedia-Small-Down":"480px","CmMedia-XSmall-Up":"376px","CmMedia-XSmall":"375px","CmMedia-XSmall-Down":"375px","CmMedia-XXSmall-Up":"301px","CmMedia-XXSmall":"300px","CmMedia-XXSmall-Down":"300
1px",AppVersion:"6.26.8",AppBaseURL:"//beautyalist.com","AppPath-Images":"../img","AppPathJS-Images":"./img","AppPath-Fonts":"../fonts","AppPathJS-Fonts":"./fonts","CommonPath-Images":"../img/common","CommonPathJS-Images":"./img/common","AppColor-Primary":"#212121","AppColor-Secondary":"#727272","AppColor-Third":"#DFDFDF","AppColor-Opposite":"#ffffff","AppColor-Sidebar":"#fff7ec","AppColor-Placeholder":"#aeaeae","AppColorValue-Accent":"0, 166.996406, 225.012","AppColorValue-Background":"255, 255, 255","AppColor-Accent":"hsl(195.47, 100%, 44.12%)","AppColor-AccentLight":"hsl(195.47, 99.99999999999999%, 54.120000000000005%)","AppColor-AccentDark":"hsl(195.47, 100%, 35%)","AppColor-AccentFrom":"hsl(195.47, 100%, 35%)","AppColor-AccentTo":"hsl(195.47, 100%, 44.12%)","AppColor-AccentTextFrom":"hsl(195.47, 99.99999999999999%, 54.120000000000005%)","AppColor-AccentTextTo":"hsl(195.47, 100%, 44.12%)","AppColor-AccentShadow":"hsla(195.47, 100%, 44.12%, 0.2)","AppColor-Beautician":"hsl(195.47, 100%, 44.12%)","AppColor-BeauticianFrom":"hsl(195.47, 100%, 35%)","AppColor-BeauticianTo":"hsl(195.47, 100%, 44.12%)","AppColor-Enthusiast":"#eb0a8d","AppColor-EnthusiastFrom":"#eb0a8d","AppColor-EnthusiastTo":"#cd4293","AppColor-Public":"#874199","AppColor-PublicFrom":"#874199","AppColor-PublicTo":"#cd4293","AppColor-Background":"#ffffff","AppColor-BackgroundOpposite":"#000000","AppColor-BackgroundAccent":"hsl(195.47, 69.99999999999991%, 95%)","AppColor-BackgroundAccentHover":"hsl(195.47000000000003, 69.99999999999984%, 91%)","AppColor-BackgroundAccentActive":"hsl(195.47, 70.00000000000009%, 86%)","AppColor-BackgroundAccentDark":"hsl(195.47, 74.99999999999997%, 80%)","AppColor-BackgroundAccentLight":"#ebf7fb","AppColor-BackgroundAccentLightTo":"#f0f9fc","AppColor-BackgroundAccentFade":"hsla(195.47, 100%, 44.12%, 0.075)","AppColor-BackgroundAccentShadow":"hsla(195.47000000000003, 69.99999999999977%, 95%, 0.2)","AppColor-BackgroundAccentBorder":"hsl(195.47, 70.00000000000009%, 86%)","AppColor-BackgroundLight":"#f7f7f7","AppColor-BackgroundDark":"#212121","AppColor-BackgroundSecondary":"#F2F2F2","AppColor-BackgroundThird":"#fff7ec","AppColor-BackgroundTriangles":"#f2f6ff","AppColor-OpacityLight":"rgba(255, 255, 255, 0.15)","AppColor-OpacityDark":"rgba(0, 0, 0, 0.1)","AppColor-OpacityDarkDim":"rgba(0, 0, 0, 0.05)","AppColor-Icon":"#212121","AppColor-SeparatorAccent":"hsla(195.47, 100%, 44.12%, 0.35)","AppColor-SeparatorLight":"rgba(255, 255, 255, 0.35)","AppColor-SeparatorSecondary":"rgba(114, 114, 114, 0.15)","AppFont-Default-Family":"'Satoshi', sans-serif","AppFont-Heading-Family":"'Fraunces', serif","AppFont-XXLarge-Size":"100px","AppFont-XXLarge-LineHeight":"128px","AppFont-XXLarge-Weight":300,"AppFont-XLarge-Size":"80px","AppFont-XLarge-LineHeight":"88px","AppFont-XLarge-Weight":300,"AppFont-Large-Size":"64px","AppFont-Large-LineHeight":"80px","AppFont-Large-Weight":300,"AppFont-Medium-Size":"18px","AppFont-Medium-LineHeight":"24px","AppFont-Default-Size":"16px","AppFont-Default-LineHeight":"24px","AppFont-Small-Size":"14px","AppFont-Small-LineHeight":"20px","AppFont-XSmall-Size":"12px","AppFont-XSmall-LineHeight":"18px","AppFont-H1-Family":"'Fraunces', serif","AppFont-H1-LineHeight":"52px","AppFont-H1-Size":"42px","AppFont-H1-Weight":400,"AppFont-H1-Color":"#212121","AppFont-H1Mobile-LineHeight":"32px","AppFont-H1Mobile-Size":"24px","AppFont-H2-Family":"'Fraunces', serif","AppFont-H2-LineHeight":"40px","AppFont-H2-Size":"32px","AppFont-H2-Weight":400,"AppFont-H2-Color":"#212121","AppFont-H2Mobile-LineHeight":"32px","AppFont-H2Mobile-Size":"24px","AppFont-H2MobileSmall-LineHeight":"28px","AppFont-H2MobileSmall-Size":"20px","AppFont-H3-Family":"'Satoshi', sans-serif","AppFont-H3-LineHeight":"32px","AppFont-H3-Size":"24px","AppFont-H3-Weight":500,"AppFont-H3-Color":"#212121","AppFont-H3Large-LineHeight":"36px","AppFont-H3Large-Size":"28px","AppFont-H3Mobile-LineHeight":"30px","AppFont-H3Mobile-Size":"20px","AppFont-H4-Family":"'Satoshi', sans-serif","AppFont-H4-LineHeight":"28px","AppFont-H4-Size":"20px","AppFont-H4-Weight":500,"AppFont-H4-Color":"#212121","AppFont-H4Mobile-LineHeight":"24px","AppFont-H4Mobile-Size":"18px","AppFont-H5-Family":"'Satoshi', sans-serif","AppFont-H5-LineHeight":"24px","AppFont-H5-Size":"18px","AppFont-H5-Weight":500,"AppFont-H5-Color":"#212121","AppFont-H6-Family":"'Satoshi', sans-serif","AppFont-H6-LineHeight":"24px","AppFont-H6-Size":"16px","AppFont-H6-Weight":500,"AppFont-H6-Color":"#727272","AppFont-H7-Family":"'Satoshi', sans-serif","AppFont-H7-LineHeight":"20px","AppFont-H7-Size":"14px","AppFont-H7-Weight":500,"AppFont-H7-Color":"#727272","AppFont-H8-Family":"'Satoshi', sans-serif","AppFont-H8-LineHeight":"18px","AppFont-H8-Size":"12px","AppFont-H8-Weight":700,"AppFont-H8-Color":"#727272","AppFont-P-Family":"'Satoshi', sans-serif","AppFont-P-LineHeight":"24px","AppFont-P-Size":"16px","AppFont-P-Weight":400,"AppFont-P-Color":"#212121","AppFont-PLarge-LineHeight":"24px","AppFont-PLarge-Size":"18px","AppMedia-DesktopHeight-Down":"900px","AppDialog-Icon-Indent":"4px","AppDialog-Icon-Size":"48px","AppDialog-Title-Indent":"24px","AppDialog-Title-Height":"56px","CmUI-Shadow-CardActive":[0,"1px","2px","hsla(195.47, 100%, 44.12%, 0.5)"],"CmMedia-Template-Up":"1200px","CmMedia-Template-Down":"1199px","AppBlog-PathImages":"../img/components/Blog","AppBlog-PathJSImages":"./img/components/Blog","AppBlog-RowFeatured-Width":"320px","AppBlog-PostHorizontalCard-Width":"784.392px","AppBlog-PostHorizontalCard-ImageWidth":"368px","AppCalendar-Day-Padding":"6px","AppCalendar-Day-Height":"132px","AppCalendar-Label-Height":"24px","AppCalendar-Event-Height":"18px","AppCalendar-Event-Indent":"
16px","AppCalendarCompact-Day-Height":"54px","AppDashboardWizard-PathImages":"../img/components/DashboardWizard","AppMembersMap-List-Count":8,"AppMembersMap-List-Height":"576px","AppPromoDialog-PathImages":"../img/components/PromoDialog","TplPath-Images":"../img/components/Template","TplPathJS-Images":"./img/components/Template","Tpl-Indent":"24px","Tpl-IndentAdaptive":"16px","Tpl-Width":"1200px","Tpl-WidthLarge":"1100px","Tpl-WidthMedium":"1000px","Tpl-WidthSmall":"900px","Tpl-WidthXSmall":"800px","Tpl-WidthHalf":"600px","Tpl-BlockIndentLarge":"96px","Tpl-BlockIndentMedium":"48px","Tpl-BlockIndentSmall":"32px","Tpl-BlockIndentSmallHalf":"16px","Tpl-BlockIndentSmallQuarter":"8px","Tpl-BlockIndent":"48px","Tpl-BlockIndentHalf":"24px","Tpl-BlockIndentQuarter":"12px","Tpl-BoxPadding":"24px","Tpl-BoxInnerIndent":"16px","Tpl-BoxGap":"16px","Tpl-BoxGap-List":"4px","Tpl-BorderThin-Size":"1px","Tpl-BorderThin":["1px","solid","var(--color-border)"],"Tpl-BorderThick-Size":"2px","Tpl-BorderThick":["2px","solid","var(--color-border)"],"Tpl-BorderTabs-Size":"4px","Tpl-BorderCard":["2px","solid","var(--color-border)"],"Tpl-BorderRadius":"5px","Tpl-BorderRadius-XSmall":"8px","Tpl-BorderRadius-Small":"12px","Tpl-BorderRadius-Medium":"16px","Tpl-BorderRadius-Large":"32px","Tpl-BorderRadius-XLarge":"48px","Tpl-BorderRadius-XXLarge":"64px","Tpl-BorderSeparator-Light":["1px","solid","rgba(255, 255, 255, 0.15)"],"Tpl-BorderSeparator-Dark":["1px","solid","rgba(0, 0, 0, 0.1)"],"Tpl-Shadow-Fade":.2,"Tpl-Shadow-FadeLighten":.1,"Tpl-Shadow-FadeLight":.15,"Tpl-Shadow-FadeMedium":.3,"Tpl-Shadow-FadeP":"20%","Tpl-Shadow-FadeLightenP":"10%","Tpl-Shadow-FadeLightP":"15%","Tpl-Shadow-FadeMediumP":"30%","Tpl-Shadow-Long-Value":[0,"6px","48px"],"Tpl-Shadow-Long":[[0,"6px","48px"],"rgba(0, 0, 0, 0.5)"],"Tpl-Shadow-LongLight":[[0,"6px","48px"],"rgba(0, 0, 0, 0.05)"],"Tpl-Shadow-LongAccent-Value":[0,"16px","40px",0],"Tpl-Shadow-LongAccent":[[0,"16px","40px",0],"hsla(195.47, 100%, 44.12%, 0.075)"],"Tpl-Blur-Icon":["blur(8px)","saturate(2)"],"Tpl-Blur-Panel":["blur(12px)","saturate(2)"],"Tpl-Blur-Background":["blur(16px)","saturate(2)"],"Tpl-Overlay-Menu":"rgba(255, 255, 255, 0.9)","Tpl-Overlay-IconLight":"rgba(0, 0, 0, 0.05)","Tpl-Overlay-IconDark":"rgba(255, 255, 255, 0.1)","TplHeader-AdaptiveHeight":"60px","TplHeader-TopIndent":"20px","TplHeader-BottomIndent":"12px","TplHeader-FontSize":"16px","TplHeader-LineHeight":"32px","TplHeader-IconSize":"40px","TplHeader-Logo-DefaultSize":"220px","TplHeader-Logo-MediumSize":"60px","TplSidebar-Width--Expanded":"256px","TplSidebar-Width--Collapsed":"calc(24px + var(--template-indent) * 2)","TplFooter-Logo-DefaultSize":"300px","TplFooter-Menu-Indent":"8px","TplInput-ShadowFocus":[0,0,"1px","var(--color-accent)"],"TplInput-Search-ShadowFocus":[0,0,"8px","var(--color-accent--shadow)"],"TplButton-ShadowValue":[0,"4px","6p
1x"],"TplButton-ShadowValue-Hero":[0,"6px","16px"],"TplButton-ShadowAccent":[[0,"4px","6px"],"var(--color-accent--shadow)"],"TplButton-ShadowAccentLight":[[0,"4px","6px"],"var(--color-accent--shadow-light)"],"TplButton-ShadowAccentLighten":[[0,"4px","6px"],"var(--color-accent--shadow-lighten)"],"TplButton-ShadowDanger":[[0,"4px","6px"],"hsla(0, 64.99999999999997%, 52%, 0.2)"],"TplButton-ShadowDangerLight":[[0,"4px","6px"],"hsla(0, 64.99999999999997%, 52%, 0.15)"],"TplButton-ShadowDangerLighten":[[0,"4px","6px"],"hsla(0, 64.99999999999997%, 52%, 0.1)"],"TplButton-ShadowHero":[[0,"6px","16px"],"var(--color-accent--shadow)"],"TplButton-ShadowHeroLight":[[0,"6px","16px"],"var(--color-accent--shadow-light)"],"TplButton-Intro-Height":"32px","TplButton-Nav-Height":"16px","TplButton-Nav-HeightOuter":"48px","AppCard-Background":"#ffffff","AppCard-Padding":"12px","AppCard-Indent":"24px","AppCard-InnerIndent":"4px","AppCard-BorderRadius":"5px","AppCard-BorderWidth":"2px","AppCard-Height":"72px","TplForm-Width":"640px","TplForm-WidthLarge":"900px","TplForm-WidthSmall":"480px","TplStoreLinks-Height":"30px","TplPanel-Width":"330px","AppUser-Avatar-ProfileWidth":"250px","AppUser-Avatar-ProfileMobileWidth":"125px","AppUser-BadgeSize":"16px","AppCard-TabsetPanel-Padding":"8px","AppCard-TabsetPanel-Height":"56px","AppUserPreferences-Item-Height":"56px","AppUserPreferences-List-Count":12,"AppUserPreferences-List-Height":"672px","AppUserPreferences-Content-Height":"720px","AppUserSearch-List-Count":7,"AppUserSearch-List-Gap":"16px","AppUserSearch-List-Height":"432px","PageLanding-PathImages":"../img/pages/Landing","PageLanding-hair-color":"#2873bd","PageLanding-hair-background":"hsl(0, 0%, 96.5%)","PageLanding-skin-color":"#a5960d","PageLanding-skin-background":"#f8f7ed","PageLanding-nails-color":"#2e9e35","PageLanding-nails-background":"#eff8f0","PageLanding-makeup-color":"#874199","PageLanding-makeup-background":"#f6f1f7","PagePage-PathImages":"../img/pages/Page","PagePage-SBH-ColorBackground":"#f9f7f5","PagePage-SBH-ColorAccent":"#58733e","PagePage-SBH-ColorSecondary":"#c09a76","PageShop-PathImages":"../img/pages/Shop","PageShop-PathJSImages":"./img/pages/Shop","AppMark-Size":"8px","PageVerifyLicense-PathImages":"../img/pages/VerifyLicense","PageVerifyLicense-PathJSImages":"./img/pages/VerifyLicense","PageVerifyLicense-BackgroundColor":"#f9f7f1","PageVerifyLicense-ColorGreyFrom":"#e6e6e6","PageVerifyLicense-ColorGreyTo":"#eeeeee"},((e,t)=>{"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).tinycolor=t()})(this,function(){function c(e){return(c="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var l=/^\s+/,d=/\s+$/;function m(e,t){var n;return t=t||{},(e=e||"")instanceof m?e:this instanceof m?(n=(e=>{var t={r:0,g:0,b:0},n=1,a=null,s=null,o=null,r=!1,i=!1;return"string"==typeof e&&(e=(e=>{e=e.replace(l,"").replace(d,"").toLowerCase();var t,n=!1;if(C[e])e=C[e],n=!0;else if("transparent"==e)return{r:0,g:0,b:0,a:0,format:"name"};return(t=L.rgb.exec(e))?{r:t[1],g:t[2],b:t[3]}:(t=L.rgba.exec(e))?{r:t[1],g:t[2],b:t[3],a:t[4]}:(t=L.hsl.exec(e))?{h:t[1],s:t[2],l:t[3]}:(t=L.hsla.exec(e))?{h:t[1],s:t[2],l:t[3],a:t[4]}:(t=L.hsv.exec(e))?{h:t[1],s:t[2],v:t[3]}:(t=L.hsva.exec(e))?{h:t[1],s:t[2],v:t[3],a:t[4]}:(t=L.hex8.exec(e))?{r:A(t[1]),g:A(t[2]),b:A(t[3]),a:T(t[4]),format:n?"name":"hex8"}:(t=L.hex6.exec(e))?{r:A(t[1]),g:A(t[2]),b:A(t[3]),format:n?"name":"hex"}:(t=L.hex4.exec(e))?{r:A(t[1]+""+t[1]),g:A(t[2]+""+t[2]),b:A(t[3]+""+t[3]),a:T(t[4]+""+t[4]),format:n?"name":"hex8"}:!!(t=L.hex3.exec(e))&&{r:A(t[1]+""+t[1]),g:A(t[2]+""+t[2]),b:A(t[3]+""+t[3]),format:n?"name":"hex"}})(e)),n=_(n="object"==c(e)&&(I(e.r)&&I(e.g)&&I(e.b)?(t=((e,t,n)=>({r:255*E(e,255),g:255*E(t,255),b:255*E(n,255)}))(e.r,e.g,e.b),r=!0,i="%"===String(e.r).substr(-1)?"prgb":"rgb"):I(e.h)&&I(e.s)&&I(e.v)?(a=k(e.s),s=k(e.v),t=((e,t,n)=>{e=6*E(e,360),t=E(t,100),n=E(n,100);var a=Math.floor(e),s=n*(1-t),o=n*(1-(e=e-a)*t);return{r:255*[n,o,s,s,e=n*(1-(1-e)*t),n][t=a%6],g:255*[e,n,n,o,s,s][t],b:255*[s,s,e,n,n,o][t]}})(e.h,a,s),r=!0,i="hsv"):I(e.h)&&I(e.s)&&I(e.l)&&(a=k(e.s),o=k(e.l),t=((e,t,n)=>{var a,s,o;function r(e,t,n){return n<0&&(n+=1),1<n&&--n,n<1/6?e+6*(t-e)*n:n<.5?t:n<2/3?e+(t-e)*(2/3-n)*6:e}return e=E(e,360),t=E(t,100),n=E(n,100),0===t?a=s=o=n:(a=r(t=2*n-(n=n<.5?n*(1+t):n+t-n*t),n,e+1/3),s=r(t,n,e),o=r
1(t,n,e-1/3)),{r:255*a,g:255*s,b:255*o}})(e.h,a,o),r=!0,i="hsl"),e.hasOwnProperty("a"))?e.a:n),{ok:r,format:e.format||i,r:Math.min(255,Math.max(t.r,0)),g:Math.min(255,Math.max(t.g,0)),b:Math.min(255,Math.max(t.b,0)),a:n}})(e),this._originalInput=e,this._r=n.r,this._g=n.g,this._b=n.b,this._a=n.a,this._roundA=Math.round(100*this._a)/100,this._format=t.format||n.format,this._gradientType=t.gradientType,this._r<1&&(this._r=Math.round(this._r)),this._g<1&&(this._g=Math.round(this._g)),this._b<1&&(this._b=Math.round(this._b)),void(this._ok=n.ok)):new m(e,t)}function a(e,t,n){e=E(e,255),t=E(t,255),n=E(n,255);var a,s=Math.max(e,t,n),o=Math.min(e,t,n),r=(s+o)/2;if(s==o)a=c=0;else{var i=s-o,c=.5<r?i/(2-s-o):i/(s+o);switch(s){case e:a=(t-n)/i+(t<n?6:0);break;case t:a=(n-e)/i+2;break;case n:a=(e-t)/i+4}a/=6}return{h:a,s:c,l:r}}function s(e,t,n){e=E(e,255),t=E(t,255),n=E(n,255);var a,s=Math.max(e,t,n),o=Math.min(e,t,n),r=s,i=s-o,c=0===s?0:i/s;if(s==o)a=0;else{switch(s){case e:a=(t-n)/i+(t<n?6:0);break;case t:a=(n-e)/i+2;break;case n:a=(e-t)/i+4}a/=6}return{h:a,s:c,v:r}}function t(e,t,n,a){e=[P(Math.round(e).toString(16)),P(Math.round(t).toString(16)),P(Math.round(n).toString(16))];return a&&e[0].charAt(0)==e[0].charAt(1)&&e[1].charAt(0)==e[1].charAt(1)&&e[2].charAt(0)==e[2].charAt(1)?e[0].charAt(0)+e[1].charAt(0)+e[2].charAt(0):e.join("")}function o(e,t,n,a){return[P(x(a)),P(Math.round(e).toString(16)),P(Math.round(t).toString(16)),P(Math.round(n).toString(16))].join("")}function e(e,t){t=0===t?0:t||10;e=m(e).toHsl();return e.s-=t/100,e.s=S(e.s),m(e)}function n(e,t){t=0===t?0:t||10;e=m(e).toHsl();return e.s+=t/100,e.s=S(e.s),m(e)}function r(e){return m(e).desaturate(100)}function i(e,t){t=0===t?0:t||10;e=m(e).toHsl();return e.l+=t/100,e.l=S(e.l),m(e)}function p(e,t){t=0===t?0:t||10;e=m(e).toRgb();return e.r=Math.max(0,Math.min(255,e.r-Math.round(-t/100*255))),e.g=Math.max(0,Math.min(255,e.g-Math.round(-t/100*255))),e.b=Math.max(0,Math.min(255,e.b-Math.round(-t/100*255))),m(e)}function u(e,t){t=0===t?0:t||10;e=m(e).toHsl();return e.l-=t/100,e.l=S(e.l),m(e)}function h(e,t){e=m(e).toHsl(),t=(e.h+t)%360;return e.h=t<0?360+t:t,m(e)}function g(e){e=m(e).toHsl();return e.h=(e.h+180)%360,m(e)}function f(e,t){if(isNaN(t)||t<=0)throw new Error("Argument to polyad must be a positive number");for(var n=m(e).toHsl(),a=[m(e)],s=360/t,o=1;o<t;o++)a.push(m({h:(n.h+o*s)%360,s:n.s,l:n.l}));return a}function v(e){var t=m(e).toHsl(),n=t.h;return[m(e),m({h:(n+72)%360,s:t.s,l:t.l}),m({h:(n+216)%360,s:t.s,l:t.l})]}function b(e,t,n){t=t||6,n=n||30;var a=m(e).toHsl(),s=360/n,o=[m(e)];for(a.h=(a.h-(s*t>>1)+720)%360;--t;)a.h=(a.h+s)%360,o.push(m(a));return o}function y(e,t){t=t||6;for(var e=m(e).toHsv(),n=e.h,a=e.s,s=e.v,o=[],r=1/t;t--;)o.push(m({h:n,s:a,v:s})),s=(s+r)%1;return o}m.prototype={isDark:function(){return this.getBrightness()<128},isLight:function(){return!this.isDark()},isValid:function(){return this._ok},getOriginalInput:function(){return this._originalInput},getFormat:function(){return this._format},getAlpha:function(){return this._a},getBrightness:function(){var e=this.toRgb();return(299*e.r+587*e.g+114*e.b)/1e3},getLuminance:function(){var e=this.toRgb(),t=e.r/255,n=e.g/255,e=e.b/255,t=t<=.03928?t/12.92:Math.pow((.055+t)/1.055,2.4),n=n<=.03928?n/12.92:Math.pow((.055+n)/1.055,2.4),e=e<=.03928?e/12.92:Math.pow((.055+e)/1.055,2.4);return.2126*t+.7152*n+.0722*e},setAlpha:function(e){return this._a=_(e),this._roundA=Math.round(100*this._a)/100,this},toHsv:function(){var e=s(this._r,this._g,this._b);return{h:360*e.h,s:e.s,v:e.v,a:this._a}},toHsvString:function(){var e=s(this._r,this._g,this._b),t=Math.round(360*e.h),n=Math.round(100*e.s),e=Math.round(100*e.v);return 1==this._a?"hsv("+t+", "+n+"%, "+e+"%)":"hsva("+t+", "+n+"%, "+e+"%, "+this._roundA+")"},toHsl:function(){var e=a(this._r,this._g,this._b);return{h:360*e.h,s:e.s,l:e.l,a:this._a}},toHslString:function(){var e=a(this._r,this._g,this._b),t=Math.round(360*e.h),n=Math.round(100*e.s),e=Math.round(100*e.l);return 1==this._a?"hsl("+t+", "+n+"%, "+e+"%)":"hsla("+t+", "+n+"%, "+e+"%, "+this._roundA+")"},toHex:function(e){return t(this._r,this._g,this._b,e)},toHexString:function(e){return"#"+this.toHex(e)},toHex8:function(e){var t=this._r,n=this._g,a=this._b,s=this._a;return t=[P(Math.round(t).toString(16)),P(Math.round(n).toString(16)),P(Math.round(a).toString(16)),P(x(s))],e&&t[0].charAt(0)==t[0].charAt(1)&&t[1].charAt(0)==t[1].charAt(1)&&t[2].charAt(0)==t[2].charAt(1)&&t[3].charAt(0)==t[3].charAt(1)?t[0].charAt(0)+t[1].charAt(0)+t[2].charAt(0)+t[3].charAt(0):t.join("")},toHex8String:function(e){return"#"+this.toHex8(e)},toRgb:function(){return{r:Math.round(this._r),g:Math.round(this._g),b:Math.round(this._b),a:this._a}},toRgbString:function(){return 1==this._a?"rgb("+Math.round(this._r)+", "+Math.round(this._g)+", "+Math.round(this._b)+")":"rgba("+Math.round(this._r)+", "+Math.round(this._g)+", "+Math.round(this._b)+", "+this._roundA+")"},toPercentageRgb:function(){return{r:Math.round(100*E(this._r,255))+"%",g:Math.round(100*E(this._g,255))+"%",b:Math.round(100*E(this._b,255))+"%",a:this._a}},toPercentageRgbString:function(){return 1==this._a?"rgb("+Math.round(100*E(this._r,255))+"%, "+Math.round(100*E(this._g,255))+"%, "+Math.round(100*E(this._b,255))+"%)":"rgba("+Math.round(100*E(this._r,255))+"%, "+Math.round(100*E(this._g,255))+"%, "+Math.round(100*E(this._b,255))+"%, "+this._roundA+")"},toName:function(){return 0===this._a?"transparent":!(this._a<1)&&w[t(this._r,this._g,this._b,!0)]||!1},toFilter:function(e){var t="#"+o(this._r,this._g,this._b,this._a),n=t;return"progid:DXImageTransform.Microsoft.gradient("+(this._gradientType?"GradientType = 1, ":"")+"startColorstr="+t+",endColorstr="+(n=e?"#"+o((t=m(e))._r,t._g,t._b,t._a):n)+")"},toString:function(e){var t=!!e,n=(e=e||this._format,!1),a=this._a<1&&0<=this._a;return t||!a||"hex"!==e&&"hex6"!==e&&"hex3"!==e&&"hex4"!==e&&"hex8"!==e&&"name"!==e?("rgb"
1===e&&(n=this.toRgbString()),"prgb"===e&&(n=this.toPercentageRgbString()),"hex"!==e&&"hex6"!==e||(n=this.toHexString()),"hex3"===e&&(n=this.toHexString(!0)),"hex4"===e&&(n=this.toHex8String(!0)),"hex8"===e&&(n=this.toHex8String()),"name"===e&&(n=this.toName()),"hsl"===e&&(n=this.toHslString()),(n="hsv"===e?this.toHsvString():n)||this.toHexString()):"name"===e&&0===this._a?this.toName():this.toRgbString()},clone:function(){return m(this.toString())},_applyModification:function(e,t){e=e.apply(null,[this].concat([].slice.call(t)));return this._r=e._r,this._g=e._g,this._b=e._b,this.setAlpha(e._a),this},lighten:function(){return this._applyModification(i,arguments)},brighten:function(){return this._applyModification(p,arguments)},darken:function(){return this._applyModification(u,arguments)},desaturate:function(){return this._applyModification(e,arguments)},saturate:function(){return this._applyModification(n,arguments)},greyscale:function(){return this._applyModification(r,arguments)},spin:function(){return this._applyModification(h,arguments)},_applyCombination:function(e,t){return e.apply(null,[this].concat([].slice.call(t)))},analogous:function(){return this._applyCombination(b,arguments)},complement:function(){return this._applyCombination(g,arguments)},monochromatic:function(){return this._applyCombination(y,arguments)},splitcomplement:function(){return this._applyCombination(v,arguments)},triad:function(){return this._applyCombination(f,[3])},tetrad:function(){return this._applyCombination(f,[4])}},m.fromRatio=function(e,t){if("object"==c(e)){var n,a={};for(n in e)e.hasOwnProperty(n)&&(a[n]="a"===n?e[n]:k(e[n]));e=a}return m(e,t)},m.equals=function(e,t){return!(!e||!t)&&m(e).toRgbString()==m(t).toRgbString()},m.random=function(){return m.fromRatio({r:Math.random(),g:Math.random(),b:Math.random()})},m.mix=function(e,t,n){n=0===n?0:n||50;e=m(e).toRgb(),t=m(t).toRgb(),n/=100;return m({r:(t.r-e.r)*n+e.r,g:(t.g-e.g)*n+e.g,b:(t.b-e.b)*n+e.b,a:(t.a-e.a)*n+e.a})},m.readability=function(e,t){e=m(e),t=m(t);return(Math.max(e.getLuminance(),t.getLuminance())+.05)/(Math.min(e.getLuminance(),t.getLuminance())+.05)},m.isReadable=function(e,t,n){var a=m.readability(e,t),s=!1,e=(e=>{var t;return t=((e=e||{level:"AA",size:"small"}).level||"AA").toUpperCase(),e=(e.size||"small").toLowerCase(),{level:t="AA"!==t&&"AAA"!==t?"AA":t,size:e="small"!==e&&"large"!==e?"small":e}})(n);switch(e.level+e.size){case"AAsmall":case"AAAlarge":s=4.5<=a;break;case"AAlarge":s=3<=a;break;case"AAAsmall":s=7<=a}return s},m.mostReadable=function(e,t,n){for(var a,s=null,o=0,r=(n=n||{}).includeFallbackColors,i=n.level,c=n.size,l=0;l<t.length;l++)o<(a=m.readability(e,t[l]))&&(o=a,s=m(t[l]));return m.isReadable(e,s,{level:i,size:c})||!r?s:(n.includeFallbackColors=!1,m.mostReadable(e,["#fff","#000"],n))};var C=m.names={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"0ff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"00f",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",burntsienna:"ea7e5d",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"0ff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"f0f",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee9
10",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"663399",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"},w=m.hexNames=(e=>{var t,n={};for(t in e)e.hasOwnProperty(t)&&(n[e[t]]=t);return n})(C);function _(e){return e=parseFloat(e),e=isNaN(e)||e<0||1<e?1:e}function E(e,t){"string"==typeof(n=e)&&-1!=n.indexOf(".")&&1===parseFloat(n)&&(e="100%");var n="string"==typeof(n=e)&&-1!=n.indexOf("%");return e=Math.min(t,Math.max(0,parseFloat(e))),n&&(e=parseInt(e*t,10)/100),Math.abs(e-t)<1e-6?1:e%t/parseFloat(t)}function S(e){return Math.min(1,Math.max(0,e))}function A(e){return parseInt(e,16)}function P(e){return 1==e.length?"0"+e:""+e}function k(e){return e=e<=1?100*e+"%":e}function x(e){return Math.round(255*parseFloat(e)).toString(16)}function T(e){return A(e)/255}D="[\\s|\\(]+("+(R="(?:[-\\+]?\\d*\\.\\d+%?)|(?:[-\\+]?\\d+%?)")+")[,|\\s]+("+R+")[,|\\s]+("+R+")\\s*\\)?",F="[\\s|\\(]+("+R+")[,|\\s]+("+R+")[,|\\s]+("+R+")[,|\\s]+("+R+")\\s*\\)?";var R,D,F,L={CSS_UNIT:new RegExp(R),rgb:new RegExp("rgb"+D),rgba:new RegExp("rgba"+F),hsl:new RegExp("hsl"+D),hsla:new RegExp("hsla"+F),hsv:new RegExp("hsv"+D),hsva:new RegExp("hsva"
1+F),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/};function I(e){return L.CSS_UNIT.exec(e)}return m}),window.URL=window.URL||window.webkitURL;var cm={_version:"3.158.1",_lang:"en",_locale:"en-IN",_loadTime:Date.now(),_isDocumentReady:!1,_isDocumentLoad:!1,_debug:!0,_debugAlert:!1,_deviceType:"desktop",_deviceOrientation:"landscape",_adaptive:!1,_baseUrl:[window.location.protocol,window.location.hostname].join("//"),_port:window.location.port,_pathUrl:"",_assetsUrl:[window.location.protocol,window.location.hostname].join("//"),_scrollSize:0,_pageSize:{},_clientPosition:{left:0,top:0},_media:{largeUp:1440,large:1440,largeDown:1439,laptopUp:1280,laptop:1280,laptopDown:1279,desktop:1024,desktopUp:1024,desktopDown:1023,tabletUp:769,tablet:768,tabletDown:768,mobileUp:641,mobile:640,mobileDown:640,smallUp:481,small:480,smallDown:480,xSmallUp:376,xSmall:375,xSmallDown:375,xxSmallUp:301,xxSmall:300,xxSmallDown:300},_config:{redrawOnLoad:!0,motionAsymmetric:"cubic-bezier(.5,0,.15,1)",motionSmooth:"ease-in-out",animDuration:250,animDurationShort:150,animDurationLong:500,loadDelay:500,lazyDelay:1e3,hideDelay:250,hideDelayShort:150,hideDelayLong:500,autoHideDelay:2e3,requestDelay:300,adaptiveFrom:768,screenTablet:1024,screenTabletPortrait:768,screenMobile:640,screenMobilePortrait:480,screenXSmall:375,dateFormat:"%Y-%m-%d",dateTimeFormat:"%Y-%m-%d %H:%i:%s",dateFormatCase:"nominative",timeFormat:"%H:%i:%s",displayDateFormat:"%F %j, %Y",displayDateTimeFormat:"%F %j, %Y, %H:%i",displayDateFormatCase:"nominative",tooltipIndent:4,tooltipTop:"targetHeight + 4",tooltipDown:"targetHeight + 4",tooltipUp:"- (selfHeight + 4)",tooltipLeft:"targetWidth + 4",tooltipRight:"- (selfWidth + 4)",fileExtensions:{image:"jpg|jpeg|png|gif|bmp|tga|svg|tiff|webp",video:"avi|ogg|mpeg|mp4|m4a|m4b|mov|wmv|webm",embed:"pdf"},fileTypes:{image:/image\/.*/,video:/video\/(mp4|webm|ogg|avi|mp4|mov|mpg|x-ms-wmv|quicktime)/,embed:/application\/pdf/}},_variables:{"%baseUrl%":"cm._baseUrl","%port%":"cm._port","%assetsUrl%":"cm._assetsUrl","%pathUrl%":"cm._pathUrl","%version%":"cm._version","%lang%":"cm._lang","%locale%":"cm._locale"},_strings:{common:{server_error:"An unexpected error has occurred. Please try again later."},months:["January","February","March","April","May","June","July","August","September","October","November","December"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],daysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],daysAbbr:["S","M","T","W","T","F","S"]}},Mod={},Part={},Com={Elements:{}},animFrame=(cm.isFileReader="FileReader"in window,cm.isHistoryAPI=!(!window.history||!history.pushState),cm.isClipboardItem="ClipboardItem"in window,cm.isLocalStorage=(()=>{try{return"localStorage"in window&&null!==window.localStorage}catch(e){return!1}})(),cm.isSessionStorage=(()=>{try{return"sessionStorage"in window&&null!==window.sessionStorage}catch(e){return!1}})(),cm.isCanvas=!!document.createElement("canvas").getContext,cm.hasBeacon=!!navigator.sendBeacon,cm.hasPointerEvent=!!window.PointerEvent,cm.supportsMediaSession="mediaSession"in navigator,cm.isMotionReduced=()=>!0===window.matchMedia("(prefers-reduced-motion: reduce)")||!0===window.matchMedia("(prefers-reduced-motion: reduce)").matches,cm._getVariables=function(){var n={};return cm.forEach(cm._variables,function(e,t){n[t]=cm.reducePath(e,window)}),n},cm.getBreakpoints=function(){return{desktop:cm._config.screenTablet,desktopUp:cm._config.screenTablet,desktopDown:cm._config.screenTablet-1,tablet:cm._config.screenTabletPortrait,tabletUp:cm._config.screenTabletPortrait+1,tabletDown:cm._config.screenTabletPortrait,mobile:cm._config.screenMobile,mobileUp:cm._config.screenMobile+1,mobileDown:cm._config.screenMobile,small:cm._config.screenMobilePortrait,smallUp:cm._config.screenMobilePortrait+1,smallDown:cm._config.screenMobilePortrait,xSmall:cm._config.screenXSmall,xSmallUp:cm._config.screenXSmall+1,xSmallDown:cm._config.screenXSmall}}
1,cm.getBreakpoint=function(){var n=cm._pageSize||cm.getPageSize(),a=[];return cm.forEach(cm._breakpoints,function(e,t){-1<t.indexOf("Up")&&n.winWidth>=e&&a.push(t),-1<t.indexOf("Down")&&n.winWidth<=e&&a.push(t)}),a},cm.isBreakpoint=function(e){return cm.isArray(e)?e.some(e=>cm.inArray(cm._breakpoint,e)):cm.inArray(cm._breakpoint,e)},cm.top=(()=>{try{return window.top.cm}catch(e){return window.cm}})(),cm.isType=function(t,e){var n;return cm.isString(e)?Object.prototype.toString.call(t)==="[object "+e+"]":cm.isRegExp(e)?e.test(Object.prototype.toString.call(t)):!!cm.isObject(e)&&(n=!1,cm.forEach(e,function(e){n=n||Object.prototype.toString.call(t)==="[object "+e+"]"}),n)},cm.isBoolean=function(e){return"[object Boolean]"===Object.prototype.toString.call(e)},cm.isString=function(e){return"[object String]"===Object.prototype.toString.call(e)},cm.isNumber=function(e){return"[object Number]"===Object.prototype.toString.call(e)&&!isNaN(e)},cm.isArray=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)},cm.isObject=function(e){return"[object Object]"===Object.prototype.toString.call(e)},cm.isArguments=function(e){return"[object Arguments]"===Object.prototype.toString.call(e)},cm.isFunction=function(e){return"[object Function]"===Object.prototype.toString.call(e)||"[object AsyncFunction]"===Object.prototype.toString.call(e)},cm.isRegExp=function(e){return"[object RegExp]"===Object.prototype.toString.call(e)},cm.isDate=function(e){return"[object Date]"===Object.prototype.toString.call(e)},cm.isFile=function(e){return"[object File]"===Object.prototype.toString.call(e)},cm.isWindow=function(e){return"[object Window]"===Object.prototype.toString.call(e)||"[object global]"===Object.prototype.toString.call(e)},cm.isNode=function(e){try{return!(!e||!e.nodeType||9===e.nodeType)}catch(e){}return!1},cm.isTextNode=function(e){try{return!(!e||!e.nodeType||3!==e.nodeType)}catch(e){}return!1},cm.isElementNode=function(e){try{return!(!e||!e.nodeType||1!==e.nodeType)}catch(e){}return!1},cm.isTagName=function(e,t){return cm.isElementNode(e)&&e.tagName.toLowerCase()===t.toLowerCase()},cm.isPlainObject=function(e){var t;return"object"==typeof e&&null!==e&&("function"==typeof Object.getPrototypeOf?(t=Object.getPrototypeOf(e))===Object.prototype||null===t:"[object Object]"===Object.prototype.toString.call(e))},cm.forEach=function(t,n){var a,s;if(t&&n&&"function"==typeof n)if(cm.isObject(t))for(var e in t)t.hasOwnProperty(e)&&n(t[e],e,t);else if(cm.isArray(t))t.forEach(n);else if(cm.isNumber(t))for(a=0;a<t;a++)n(a);else try{Array.prototype.forEach.call(t,n)}catch(e){try{for(a=0,s=t.length;a<s;a++)n(t[a],a,t)}catch(e){}}return t},cm.forEachReverse=function(e,t){return e?(t&&(e.reverse(),cm.forEach(e,t),e.reverse()),e):null},cm.merge=function(e,t){var a;return t=t||(cm.isArray(e)?[]:{}),e=e||(cm.isArray(t)?[]:{}),cm.isObject(e)?(a=cm.clone(e),cm.forEach(t,function(t,n){try{void 0===t||t._isComponent?a[n]=t:cm.isObject(t)?cm.isObject(a[n])?a[n]=cm.merge(a[n],t):a[n]=cm.clone(t):cm.isArray(t)?a[n]=cm.clone(t):a[n]=t}catch(e){a[n]=t}})):cm.isArray(e)&&(a=cm.clone(e),cm.forEach(t,function(e){cm.inArray(a,e)||a.push(e)})),a},cm.extend=function(e,t,n,a){var s;return e?t?(n=!cm.isUndefined(n)&&n,a=!!cm.isUndefined(a)||a,cm.isArray(e)?e.concat(t):cm.isObject(e)?(s=a?cm.clone(e):e,cm.forEach(t,function(e,t){s[t]=n?cm.extend(s[t],e,n,a):e}),s):t):e:t},cm.join=function(e,t){return e.filter(function(e){return!cm.isEmpty(e)}).join(t)},cm.joinIntl=function(e,t="conjunction"){return cm.isArray(e)?new Intl.ListFormat(cm._locale,{style:"long",type:t}).format(e):e},cm.extract=function(e,t){var n;return e?t?cm.isArray(e)?e.filter(function(e){return!cm.inArray(t,e)}):n:e:t},cm.clone=function(e,n,a){var s;return e&&(n=!cm.isUndefined(n)&&n,a=!!cm.isUndefined(a)||a,cm.isType(e,"Arguments")?[].slice.call(e):cm.isType(e,/Array|StyleSheetList|CSSRuleList|HTMLCollection|NodeList|DOMTokenList|FileList/)?a?(s=[],cm.forEach(e,function(e){s.push(cm.clone(e,n))}),s):[].slice.call(e):cm.isObject(e)&&!e._isComponent?(s={},cm.forEach(e,function(e,t){s[t]=a?cm.clone(e,n):e}),s):cm.isDate(e)?((s=new Date).setTime(e.getTime()),s):cm.isNode(e)?s=n?e.cloneNode(!0):e:e)},cm.getLength=function(e){return(cm.isArray(e)?e:Object.keys(e)).length},cm.getCount=function(e){var t=0;return cm.forEach(e,function(e){cm.isUndefined(e)||t++}),t},cm.arrayIndex=function(e,t){return Array.prototype.indexOf.call(e,t)},cm.inArray=function(t,e){return!!cm.isArray(t)&&(cm.isArray(e)?e.some(e=>t.includes(e)):t.includes(e))},cm.arrayRemove=function(e,t){t=cm.arrayIndex(e,t);return-1<t&&e.splice(t,1),e},cm.arrayClear=function(e){for(;0<e.length;)e.pop();return e},cm.arrayAdd=function(e,t,n){return n&&(e=cm.arrayRemove(e,t)),cm.inArray(e,t)||e.push(t),e},cm.arrayPrepend=function(e,t,n){return n&&(e=cm.arrayRemove(e,t)),cm.inArray(e,t)||e.unshift(t),e},cm.arrayFilter=function(e,t){return e.filter(function(e){return!t.includes(e)})},cm.arrayJoin=function(e,t){return e.filter(e=>!cm.isEmpty(e)).map(e=>e.trim()).join(t)},cm.arraySort=function(e,n,t,a,s){if(!cm.isArray(e))return e;t=cm.isUndefined(t)?"asc":t.toLowerCase(),t=cm.inArray(["asc","asc-locale","desc","desc-locale"],t)?t:"asc";var o=(a=!!cm.isUndefined(a)||a)?"toSorted":"sort";switch(t){case"asc":return e[o]((e,t)=>cm.arraySortAsc(e,t,n));case"asc-locale":return e[o]((e,t)=>cm.arraySortAscLocale(e,t,n,s));
1case"desc":return e[o]((e,t)=>cm.arraySortDesc(e,t,n));case"desc-locale":return e[o]((e,t)=>cm.arraySortDescLocale(e,t,n,s))}},cm.arraySortAsc=function(e,t,n){return(e=n?e[n]:e)<(t=n?t[n]:t)?-1:t<e?1:0},cm.arraySortAscLocale=function(e,t,n,a){return e=n?e[n]:e,t=n?t[n]:t,a={sensitivity:"base",numeric:!0,...a},e.localeCompare(t,cm._lang,a)},cm.arraySortDesc=function(e,t,n){return(e=n?e[n]:e)<(t=n?t[n]:t)?1:t<e?-1:0},cm.arraySortDescLocale=function(e,t,n,a){return e=n?e[n]:e,t=n?t[n]:t,a={sensitivity:"base",numeric:!0,...a},t.localeCompare(e,cm._lang,a)},cm.arrayParseFloat=function(e){return e.map(Number.parseFloat)},cm.objectToArray=function(e){var t;return cm.isObject(e)?(t=[],cm.forEach(e,function(e){cm.isEmpty(e)||t.push(e)}),t):[e]},cm.arrayToObject=function(e){var n={};return e.forEach(function(e,t){"object"==typeof e?n[t]=e:n[e]=e}),n},cm.objectReplace=function(e,n,a){var s,o=cm.isArray(e)?[]:{};return a=!!cm.isUndefined(a)||a,cm.forEach(e,function(e,t){s=cm.isString(t)&&a?cm.strReplace(t,n):t,cm.isObject(e)?o[s]=cm.objectReplace(e,n,a):cm.isString(e)?o[s]=cm.strReplace(e,n):o[s]=e}),o},cm.getDiffCompare=function(e,t){var n={};return cm.diffCompare(n,e,t,"key"),n.key},cm.isEmpty=function(e){return!!cm.isUndefined(e)||(cm.isString(e)||cm.isArray(e)?0===e.length:!!cm.isObject(e)&&0===cm.getLength(e))},cm.isUndefined=function(e){return null==e},cm.objectFormPath=function(e,n,t){var a={},s=a,e=e.toString().split("."),o=e.length;return t=cm.isUndefined(t)?{}:t,n=cm.isEmpty(n)?t:n,e.map(function(e,t){o===t+1?s[e]=n:s=s[e]={}}),a},cm.objectSelector=function(e,t,n){if(cm.isUndefined(t)||cm.isUndefined(e))return t;e=e.toString().split(".");var a=t,s=e.length;return cm.forEach(e,function(e,t){a[e]||(a[e]={}),n&&t===s-1&&(a[e]=n),a=a[e]}),a},cm.reducePath=cm.objectPath=function(e,t){return cm.isUndefined(t)||cm.isUndefined(e)?t:(e=e.toString().split(".")).reduce(function(e,t){return cm.isUndefined(e)?void 0:e[t]},t)},cm.fillDataMap=function(e,n){var a,s={};return cm.forEach(e,function(e,t){a=cm.reducePath(e,n),cm.isEmpty(a)&&/[{%]\w+[%}]/.test(e)&&(a=cm.fillVariables(e,n)),cm.isEmpty(a)||(s[t]=a)}),s},cm.objectFillVariables=function(e,n,a,s){var o,r=cm.isArray(e)?[]:{};return s=!!cm.isUndefined(s)||s,a=!cm.isUndefined(a)&&a,cm.forEach(e,function(e,t){o=cm.isString(t)&&s?cm.fillVariables(t,n,a):t,cm.isObject(e)?r[o]=cm.objectFillVariables(e,n,a,s):cm.isString(e)?r[o]=cm.fillVariables(e,n,a):r[o]=e}),r},cm.sort=function(t,e){var e=cm.arraySort(Object.keys(t),null,e),n={};return cm.forEach(e,function(e){n[e]=t[e]}),n},cm.replaceDeep=function(e,n,a){var s=cm.clone(e);return cm.forEach(s,function(e,t){s[t]="object"==typeof e?cm.replaceDeep(e,n,a):e.replace(n,a)}),s},cm.log=(()=>{var e,t=[];return cm._debug&&Function.prototype.bind&&window.console?(e=Function.prototype.bind.call(console.log,console),function(){e.apply(console,arguments)}):cm._debug&&cm._debugAlert?function(){cm.forEach(arguments,function(e){t.push(e)}),alert(t.join(", "))}:function(){}})(),cm.errorLog=function(e){var e=cm.merge({type:"error",name:"",message:"",langs:{error:"Error!",success:"Success!",attention:"Attention!",common:"Common"}},e),t=[e.langs[e.type],e.name,e.message].join(" > ");switch(e.type){case"error":console.error(t);break;case"attention":console.warn(t);break;default:console.info(t)}},cm.getEvent=function(e){return e||window.event},cm.stopPropagation=function(e){return e.stopPropagation?e.stopPropagation():e.cancelBubble=!0},cm.preventDefault=function(e){return e.preventDefault?e.preventDefault():e.returnValue=!1},cm.getObjFromEvent=cm.getEventObject=cm.getEventTarget=function(e){return e.target||e.srcElement},cm.getObjToEvent=cm.getRelatedTarget=function(e){return e.relatedTarget||e.srcElement},cm.getEventClientPosition=function(e){var t={left:0,top:0};if(e)try{t.left=e.clientX,t.top=e.clientY,e.touches&&e.touches.length?(t.left=e.touches[0].clientX,t.top=e.touches[0].clientY):e.changedTouches&&e.changedTouches.length&&(t.left=e.changedTouches[0].clientX,t.top=e.changedTouches[0].clientY)}catch(e){}return t},cm.getElementAbove=function(e){var t=e.clientX||cm._clientPosition.left,e=e.clientY||cm._clientPosition.top;return document.elementFromPoint(t,e)},cm.onSchedule=function(e){animFrame(function(){animFrame(function(){e()})})},cm.addEvent=function(e,t,n,a){return e&&(a=!cm.isUndefined(a)&&a,e.addEventListener(t,n,a)),e},cm.removeEvent=function(e,t,n,a){return e&&(a=!cm.isUndefined(a)&&a,e.removeEventListener(t,n,a)),e},cm.triggerEvent=function(e,t,n){return e&&(n=cm.merge({bubbles:!0,cancelable:!0},n),t=new Event(t,n),e.dispatchEvent(t)),e},cm.click=(()=>{var o=new Map;return{add:function(t,n,e){var a;return t&&cm.isFunction(n)&&((a=o.get(t))||(a=new Map,o.set(t,a)),a.set(n,s),cm.addEvent(t,"click",n,e),cm.addEvent(t,"keypress",s,e)),t;function s(e){e&&cm.isNotToggleKey(e)||/button|input/i.test(t.tagName)||n(e)}},remove:function(e,t,n){var a,s;return e&&cm.isFunction(t)&&(a=o.get(e))&&(s=a.get(t))&&(a.delete(t),cm.removeEvent(e,"click",t,n),cm.removeEvent(e,"keypress",s,n)),e},list:function(){return o}}})(),cm.customEvent=(()=>{var o={};return{add:function(e,t,n){return o[t]||(o[t]=[]),o[t].push({node:e,type:t,handler:cm.isFunction(n)?n:function(){}}),e},remove:function(t,e,n){return o[e]||(o[e]=[]),o[e]=o[e].filter(function(e){return e.no
1de!==t&&e.handler!==n}),t},trigger:function(n,e,a){var s;return n?(s=!1,a=cm.merge({target:n,type:e,direction:"all",self:!0,stopPropagation:function(){s=!0}},a),o[e]&&(o[e].sort(function(e,t){return"parent"===a.direction?cm.getNodeOffsetIndex(t.node)>cm.getNodeOffsetIndex(e.node):cm.getNodeOffsetIndex(e.node)-cm.getNodeOffsetIndex(t.node)}),cm.forEach(o[e],function(e){var t=cm.merge(a,{currentTarget:e.node,item:e});if(!s)switch(t.self&&n===e.node&&e.handler(t),t.direction){case"child":cm.isParent(n,e.node,!1)&&e.handler(t);break;case"parent":cm.isParent(e.node,n,!1)&&e.handler(t);break;default:n!==e.node&&e.handler(t)}})),n):null}}})(),cm.hook=(()=>{var s={};return{get:function(e){return e?(s[e]||(s[e]=[]),s[e]):s},add:function(e,t){s[e]||(s[e]=[]),cm.isFunction(t)?s[e].push(t):cm.errorLog({name:"cm.hook",message:["Handler of event",cm.strWrap(e,'"'),"must be a function."].join(" ")})},remove:function(e,t){s[e]||(s[e]=[]),cm.isFunction(t)?s[e]=s[e].filter(function(e){return e!==t}):cm.errorLog({name:"cm.hook",message:["Handler of event",cm.strWrap(e,'"'),"must be a function."].join(" ")})},trigger:function(e,t){var n=this,a=cm.clone(arguments);a.shift(),s[e]&&cm.forEach(s[e],function(e){e.apply(n,a)})}}})(),cm.onLoad=function(e,t){t=!!cm.isUndefined(t)||t;var n=!1;try{cm.addEvent(window,"load",function(){n||(n=!0,t&&cm.errorLog({type:"common",name:"cm.onLoad",message:["Load time",Date.now()-cm._loadTime,"ms."].join(" ")}),e())})}catch(e){}},cm.onReady=function(e,t){t=!!cm.isUndefined(t)||t;function n(){a||(a=!0,t&&cm.errorLog({type:"common",name:"cm.onReady",message:["Ready time",Date.now()-cm._loadTime,"ms."].join(" ")}),e())}var a=!1;cm.addEvent(document,"DOMContentLoaded",n);try{cm.addEvent(window,"load",n)}catch(e){}},cm.addScrollEvent=function(e,t,n){return n=!cm.isUndefined(n)&&n,cm.isWindow(e)?cm.addEvent(e,"scroll",t,n):cm.isNode(e)&&(/body|html/gi.test(e.tagName)?cm.addEvent(cm.getOwnerWindow(e),"scroll",t,n):cm.addEvent(e,"scroll",t,n)),e},cm.removeScrollEvent=function(e,t,n){return n=!cm.isUndefined(n)&&n,cm.isWindow(e)&&cm.removeEvent(e,"scroll",t,n),cm.isNode(e)&&(/body|html/gi.test(e.tagName)?cm.removeEvent(cm.getOwnerWindow(e),"scroll",t,n):cm.removeEvent(e,"scroll",t,n)),e},cm.isolateScrolling=function(e){var t=this;return 0<e.deltaY&&t.clientHeight+t.scrollTop>=t.scrollHeight?(t.scrollTop=t.scrollHeight-t.clientHeight,cm.stopPropagation(e),cm.preventDefault(e),!1):!(e.deltaY<0&&t.scrollTop<=0&&(t.scrollTop=0,cm.stopPropagation(e),cm.preventDefault(e),1))},cm.addIsolateScrolling=function(e){return cm.addEvent(e,"wheel",cm.isolateScrolling),e},cm.removeIsolateScrolling=function(e){return cm.removeEvent(e,"wheel",cm.isolateScrolling),e},cm.isCenterButton=function(e){return 1===e.button},cm.ticking=function(){let t=!1;return e=>{t||(t=!0,animFrame(()=>{t=!1,cm.isFunction(e)&&e()}))}},cm.throttleFrame=function(t){let n=!1;return(...e)=>{n||(n=!0,animFrame(()=>{n=!1,cm.isFunction(t)&&t.apply(this,e)}))}},cm.throttle=function(n,a){let s=0;return function(...e){var t=Date.now();t-s>=a&&(s=t,n.apply(this,e))}},cm.debounce=function(a,s,o){var r,i;return function(){var e=this,t=arguments,n=o&&!r;return clearTimeout(r),r=setTimeout(function(){r=null,o||(i=a.apply(e,t))},s),i=n?a.apply(e,t):i}},cm.onScrollStart=function(e,t){function n(){a||t(),a=!0,s()}var a=!1,s=cm.debounce(function(){a=!1},100);return cm.addEvent(e,"scroll",n),{remove:function(){cm.removeEvent(e,"scroll",n)}}},cm.onScrollEnd=function(e,t){var n=cm.debounce(t,100);return cm.addEvent(e,"scroll",n),{remove:function(){cm.removeEvent(e,"scroll",n)}}},cm.onImageLoad=function(e,n,a){var s=[],o=cm.isArray(e),e=o?e:[e],r=e.length,i=0;return e.forEach(function(e,t){s[t]=cm.node("img",{alt:""}),s[t].onload=function(){++i===r&&cm.isFunction(n)&&n(o?s:s[0])},s[t].onerror=function(e){cm.isFunction(a)&&a(o?s:s[0],e)},s[t].src=e}),o?s:s[0]},cm.fileFromDataTransfer=function(e,t){var n,a,s=new Image,o=document.createElement("canvas"),r=e.dataTransfer,i=r.getData("text/html");return cm.isEmpty(i)||(i=cm.strToHTML(i),cm.isEmpty(i))||(i=i.querySelector("img"),cm.isEmpty(i))||(n=i.src),cm.isEmpty(n)&&cm.forEach(["url","text/plain","text/uri-l
1ist"],function(e){i=r.getData(e),cm.isEmpty(i)||(n=i)}),s.crossOrigin="anonymous",cm.addEvent(s,"load",function(){o.width=this.naturalWidth,o.height=this.naturalHeight,o.getContext("2d").drawImage(this,0,0),a=o.toDataURL("image/png"),a=cm.dataURItoBlob(a),a=new File([a],n),cm.isFunction(t)&&t(a)}),s.src=n},cm.dataURItoBlob=function(e){for(var t=atob(e.split(",")[1]),e=e.split(",")[0].split(":")[1].split(";")[0],n=new ArrayBuffer(t.length),a=new Uint8Array(n),s=0;s<t.length;s++)a[s]=t.charCodeAt(s);return new Blob([n],{type:e})},cm.dataURItoFile=function(e,t){t=cm.merge({name:cm.quid("$$$$$$$"),type:"image/jpeg"},t);e=cm.dataURItoBlob(e);return new File([e],t.name,t)},cm.bufferToHEX=function(e){for(var t=new Uint8Array(e),n=[],a=0;a<t.byteLength;a++){var s=("00"+t[a].toString(16)).slice(-2);n.push(s)}return n.join("")},cm.bufferToBase64=function(e){return btoa(String.fromCharCode(...new Uint8Array(e)))},cm.getOwnerWindow=function(e){return e.ownerDocument.defaultView},cm._addScriptStack={},cm.addScript=function(e,t,n,a){var s,o=cm._getVariables();return e=cm.isArray(e)?cm.objectReplace(e,o):cm.strReplace(e,o),t=!cm.isUndefined(t)&&t,n=cm.isUndefined(n)?function(){}:n,a=cm.isUndefined(a)?cm.getDocumentHead():a,cm._addScriptStack[e]?(s=cm._addScriptStack[e]).loaded?n():s.callbacks.push(n):(s={src:e,async:t,loaded:!1,callback:function(e){for(s.loaded=!0;s.callbacks.length;)s.callbacks[0](e),cm.arrayRemove(s.callbacks,s.callbacks[0])},callbacks:[n]},(cm._addScriptStack[e]=s).script=document.createElement("script"),s.script.async=s.async,s.script.src=s.src,cm.addEvent(s.script,"load",s.callback),cm.addEvent(s.script,"error",s.callback),cm.appendChild(s.script,a)),s.script},cm.loadScript=function(a){a=cm.merge({path:"",src:"",async:!0,callback:function(){}},a);var s=cm.objectPath(a.path,window);return cm.isEmpty(s)?new Promise(function(t,n){cm.addScript(a.src,a.async,function(e){s=cm.objectPath(a.path,window),cm.isEmpty(s)?(cm.errorLog({type:"error",name:"cm.loadScript",message:[a.path,"was not loaded."].join(" ")}),a.callback(null),n(e)):(a.callback(s),t(s))})}):new Promise(function(e,t){a.callback(s),e(s)})},cm.addLink=function(e,t){var n=document.createElement("link");return n.rel="stylesheet",n.type="text/css",n.media="all",n.href=e,cm.appendChild(n,cm.getDocumentHead()),n},cm.getEl=function(e){return document.getElementById(e)},cm.getByClass=function(e,t){return(t=t||document).getElementsByClassName(e)},cm.getByAttr=function(e,t,n){return(n||document).querySelectorAll("["+e+'="'+t+'"]')},cm.getByName=function(e,t){return cm.isNode(t)?t.querySelectorAll('[name="'+e+'"]'):document.getElementsByName(e)},cm.getParentByTagName=function(e,t){if(!cm.isEmpty(e)&&cm.hasParentNode(t)){var n=t.parentNode;do{if(n.tagName&&n.tagName.toLowerCase()===e.toLowerCase())return n}while(n=n.parentNode)}return null},cm.getIFrameDOM=function(e){return e.contentDocument||e.document},cm.getDocumentHead=function(){return document.getElementsByTagName("head")[0]},cm.getDocumentHtml=function(){return document.documentElement},cm.getNodeOffsetIndex=function(e){if(!cm.isNode(e))return 0;for(var t=e,n=0;t.parentNode;)t=t.parentNode,n++;return n},cm.node=cm.Node=function(){for(var e=arguments,n=document.createElement(e[0]),t=0,t=cm.isObject(e[1])?(cm.forEach(e[1],function(e,t){if(!cm.isUndefined(e))switch(cm.isObject(e)&&!["class","classes","style","styles"].includes(t)&&(e=JSON.stringify(e)),t){case"style":case"styles":cm.addStyles(n,e);break;case"class":case"classes":cm.addClass(n,e);break;case"innerHTML":n.innerHTML=e;break;case"innerText":n.innerText=e;break;default:n.setAttribute(t,e)}}),2):1,a=e.length;t<a;t++)void 0!==e[t]&&("string"==typeof e[t]||"number"==typeof e[t]?cm.appendChild(cm.textNode(e[t]),n):cm.appendNodes(e[t],n));return n},cm.textNode=function(e){return document.createTextNode(e)},cm.svgNode=function(){var e=arguments;let a=document.createElementNS("http://www.w3.org/2000/svg",e[0]),t=0;t=cm.isObject(e[1])?(cm.forEach(e[1],function(e,t){var n;cm.isUndefined(e)||(/^xlink/.test(t)?(n=t.split(":").pop(),a.setAttributeNS("http://www.w3.org/1999/xlink",n,e)):a.setAttribute(t,e))}),2):1;for(var n=e.length;t<n;t++)void 0!==e[t]&&("string"==typeof e[t]||"number"==typeof e[t]?cm.appendChild(cm.textNode(e[t]),a):cm.appendNodes(e[t],a));return a},cm.wrap=function(e,t){return e&&t?(t.parentNode&&cm.insertBefore(e,t),e.appendChild(t),e):null},cm.inDOM=function(e){return e===document.body||document.body.contains(e)},cm.isVisible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},cm.hasParentNode=function(e){return!!cm.isNode(e)&&!!e.parentNode},cm.isParent=function(e,t,n){if(n&&e===t)return!0;
1if(cm.isNode(t)){if(cm.isWindow(e)&&cm.inDOM(t))return!0;if(e.contains(t)&&e!==t)return!0}return!1},cm.isParentByClass=function(e,t){if(t&&t.parentNode){var n=t.parentNode;do{if(cm.isElementNode(n)&&cm.isClass(n,e))return!0}while(n=n.parentNode)}return!1},cm.getData=function(e,t){return e?e.dataset?e.dataset[t]:e.getAttribute(["data",t].join("-")):null},cm.getTextValue=cm.getTxtVal=function(e){return 1===e.nodeType&&e.firstChild?e.firstChild.nodeValue:""},cm.getTextNodesStr=function(e){var t="";return e&&(cm.isArray(e)?cm.forEach(e,function(e){t+=cm.getTextNodesStr(e)}):cm.isNode(e)&&(e=e.childNodes,cm.forEach(e,function(e){1===e.nodeType?t+=cm.getTextNodesStr(e):t+=e.nodeValue}))),t},cm.remove=cm.removeNode=function(e){e&&e.parentNode&&e.parentNode.removeChild(e)},cm.removeNodes=function(e){if(!cm.isEmpty(e))if(cm.isNode(e))cm.remove(e);else for(;e.length;)cm.remove(e[0])},cm.clearNode=function(e){if(cm.isNode(e))for(;e.childNodes.length;)e.removeChild(e.firstChild);return e},cm.prevEl=function(e){return e=(e=e.previousSibling)&&e.nodeType&&1!==e.nodeType?cm.prevEl(e):e},cm.nextEl=function(e){return e=(e=e.nextSibling)&&e.nodeType&&1!==e.nodeType?cm.nextEl(e):e},cm.firstEl=function(e){return e&&e.firstChild?1!==(e=e.firstChild).nodeType?cm.nextEl(e):e:null},cm.insertFirst=function(e,t,n){var a,s;return n=!!cm.isUndefined(n)||n,cm.isNode(e)&&cm.isNode(t)&&(s=(a=cm.isParent(t,e))&&t.firstChild===e,!n&&a&&s||t.insertBefore(e,t.firstChild)),e},cm.insertLast=cm.appendChild=function(e,t,n){var a,s;return n=!!cm.isUndefined(n)||n,cm.isNode(e)&&cm.isNode(t)&&(s=(a=cm.isParent(t,e))&&t.lastChild===e,!n&&a&&s||t.appendChild(e)),e},cm.insertBefore=function(e,t){return cm.isNode(e)&&cm.isNode(t)&&t.parentNode&&t.parentNode.insertBefore(e,t),e},cm.insertAfter=function(e,t){var n;return cm.isNode(e)&&cm.isNode(t)&&t.parentNode&&((n=t.nextSibling)?cm.insertBefore(e,n):t.parentNode.appendChild(e)),e},cm.replaceNode=function(e,t){return cm.insertBefore(e,t),cm.remove(t),e},cm.appendNodes=function(e,t){if(!cm.isEmpty(e))if(cm.isNode(e))cm.appendChild(e,t);else if(cm.isArray(e))cm.forEach(e,e=>cm.appendChild(e,t));else for(;e.length;)cm.isNode(e[0])?cm.appendChild(e[0],t):cm.remove(e[0]);return t},cm.appendHTML=function(e,t){if(!cm.isEmpty(e)){if(cm.isNode(e)||cm.isArray(e))return cm.appendNodes(e,t);t.innerHTML=e}return t},cm.hideSpecialTags=function(){var e;document.querySelectorAll?(e=document.querySelectorAll("iframe,object,embed"),cm.forEach(e,function(e){e.style.visibility="hidden"})):(e=document.getElementsByTagName("*"),cm.forEach(e,function(e){e.tagName&&/iframe|object|embed/.test(e.tagName)&&(e.style.visibility="hidden")}))},cm.showSpecialTags=function(){var e;document.querySelectorAll?(e=document.querySelectorAll("iframe,object,embed"),cm.forEach(e,function(e){e.style.visibility="visible"})):(e=document.getElementsByTagName("*"),cm.forEach(e,function(e){e.tagName&&/iframe|object|embed/.test(e.tagName)&&(e.style.visibility="visible")}))},cm.strToHTML=function(e){var t;return!e||cm.isNode(e)?e:((t=cm.node("div")).insertAdjacentHTML("beforeend",e),1===t.childNodes.length?t.firstChild:t.childNodes)},cm.getNodes=function(e,a){e=e||document.body,a=a||"data-node";function s(t,r,i){var c,e=(e=t.getAttribute(a))?e.split("|"):[];cm.forEach(e,function(e){var n,a,s,o;c=[],-1===e.indexOf(".")?d(t,e,r,c):(n=t,a=c,s=(e=e)?e.split("."):[],o=l,cm.forEach(s,function(e,t){0===t&&cm.isEmpty(e)?o=l:t+1===s.length?d(n,e,o,a):(o[e]||(o[e]={}),o=o[e])})),cm.forEach(c,function(e){i.push(e)})})}var l={},t=[],d=function(e,t,n,a){var s,t=t?t.split(":"):[];1===t.length?n[t[0]]=e:2!==t.length&&3!==t.length||("[]"===t[1]?(n[t[0]]||(n[t[0]]=[]),s={},t[2]&&(s[t[2]]=e),o(e,s,a),n[t[0]].push(s)):"[&]"===t[1]?(n[t[0]]||(n[t[0]]=[]),n[t[0]].push(e)):"{}"===t[1]&&(n[t[0]]||(n[t[0]]={}),t[2]&&(n[t[0]][t[2]]=e),o(e,n[t[0]],a))),a.push(e)},o=function(e,t,n){e=e.querySelectorAll("["+a+"]");cm.forEach(e,function(e){cm.inArray(n,e)||s(e,t,n)})};return s(e,l,t),o(e,l,t),l},cm.processDataAttributes=function(e,t,n){n=cm.isUndefined(n)?{}:n;function a(e){(s=e.getAttribute(o))&&e.setAttribute(t,cm.strReplace(s,n))}var s,o=["data-attributes",t].join("-"),r=e.querySelectorAll("["+o+"]");a(e),cm.forEach(r,a)},cm.setFDO=function(e,o){return cm.forEach(e,function(e,t){for(var n=cm.getByAttr("name",t,o),a=0,s=n.length;a<s;a++)switch((n[a].type||"").toLowerCase()){case"radio":e==n[a].value&&(n[a].checked=!0);break;case"checkbox":n[a].checked=!!e;break;default:cm.isTagName(n[a],"select")?cm.setSelect(n[a],e):n[a].value=e}}),o},cm.getFDO=function(e,t){var a={};if(cm.isNode(e))for(var n=[e.getElementsByTagName("input"),e.getElementsByTagName("textarea"),e.getElementsByTagName("select")],s=function(e,s){if(/\[.*\]$/.test(e)){for(var t,o=[],n=/\[(.*?)\]/g;t=n.exec(e);)o.push(t[1]);e=e.replace(/\[.*\]$/,""),a[e]=function(e,t){var n=o[e],a=!cm.isUndefined(o[e+1]);return""===n?t&&t instanceof Array?t.push(a?arguments.callee(e+1,t):s):t=[a?arguments.callee(e+1,t):s]:(t=t&&t instanceof Object?t:{})[n]=a?arguments.callee(e+1,t[n]):s,t}(0,a[e])}else a[e]=s;return 1},o=0,r=n.length;o<r;o++)for(var i=0,c=n[o].length;i<c;i++)if(n[o][i].name.length)switch(n[o][i].tagName.toLowerCase()){case"input":switch(n[o][i].type.toLowerCase()){case"radio":n[o][i].checked&&s(n[o][i].name,n[o][i].value||1);break;case"checkbox":n[o][i].checked?s(n[o][i].name,n[o][i].value||1):cm.isUndefined(t)||!1===t||s(n[o][i].name,t);break;default:s(n[o][i].name,n[o][i].value)}break;case"select":if(n[o][i].multiple){var l,d=n[o][i].getElementsByTagName("option");for(l in d)d[l].selected&&s(n[o][i].name,d[l].value)}else s(n[o][i].name,n[o][i].value);break;case"textarea":s(n[o][i].name,n[o][i].value)}return a},cm.clearForm=function(e){for(var t=cm.getByClass("formData",e),n=0,a=t.length;n<a;n++)if(cm.isTagName(t[n],"input"))"checkbox"===t[n].type.toLowerCase()||"radio"===t[n].type.toLowerCase()?t[n].checked=!1:t[n].value="";else if(cm.isTagName(t[n],"textarea"))t[n].value="";else if(cm.isTagName(t[n],"select"))for(var s=t[n].getElementsByTagName("option"),o=0,r=s.length;o<r;o++)s[o].selected=!1;return e},cm.setSelect=function(e,t){var n;return e&&cm.isNode(e)?(n=e.getElementsByTagName("option"),cm.forEach(n,function(e){cm.isArray(t)?e.selected=cm.inArray(t,e.value):(cm.isBoolean(t)&&(t=t.toString()),e.selected=e.value==t)}),e):null},cm.toggleRadio=function(e,t,n){n=n||document.body;for(var a=cm.getByName(e,n),s=0;s<a.length;s++)a[s].value==t&&(a[s].checked=a[s].value==t)},cm.getValue=function(e,t){t=t||document.body;for(var n,a=cm.getByName(e,t),s=0,o=a.length;s<o;s++)a[s].checked&&(n=a[s].value);return n},cm.getSelectedOptions=function(e,t){return cm.isNode(e)?(e=e.selectedOptions||e.querySelectorAll("option:checked"),cm.isUndefined(t)?e:e[t]):null},cm.getSelectValue=function(e){if(!cm.isNode(e))return null;if(!e.multiple)return e.value;var t,n=[];try{t=cm.getSelectedOptions(e),n=Array.from(t).map(function(e){return e.value})}catch(e){}return n},cm.setInputMaxLength=function(e,t,n,a){var s;return a=!!cm.isUndefined(a)||a,cm.isNode(e)&&(s=0,"number"===e.type?(s=n||"9".repeat(t))&&(e.max=s):(s=t||n,a&&s&&(e.maxLength=s))),e},cm.setInputMinLength=function(e,t,n){var a;return cm.isNode(e)&&(a=0,"number"===e.type?(a=n||(t?Math.pow(10,t-1):0))&&(e.min=a):(a=t||n)&&(e.minLength=a)),e},cm.getMinMax=function(e,t,n,a,s){return e=parseFloat(e),t=t||(a?Math.pow(10,a-1):0),n=n||(s?"9".repeat(s):1/0),Math.min(Math.max(e,t),n)},cm.constraintsPattern=function(t,n,a){var s,o;return function(e){return o=cm.isFunction(t)?t(e):t,s=cm.isRegExp(o)?o.test(e.value):o===e.value,e.pattern=o,e.message=a,e.valid=n?s:!s,e}},cm.constraintsCallback=function(t,n){return function(e){return e.message=n,e.valid=cm.isFunction(t)?t(e):function(){},e}},cm.constraintsCallbackAsync=function(t,n){return async function(e){return e.async=!0,e.message=n,e.valid=cm.isFunction(t)?await t(e):function(){},e}},cm.toFixed=function(e,t,n){return t&&0!==t?(t=Number.parseFloat(e).toFixed(t),n?Number(t):t):Math.round(e)},cm.toNumber=function(e){return parseInt(e.replace(/\s+/,""))}
1,cm.is=function(e){return cm.isUndefined(Com.UA)?(cm.log('Error. UA.js is not exists or not loaded. Method "cm.is()" returns false.'),!1):Com.UA.is(e)},cm.isVersion=function(){return cm.isUndefined(Com.UA)?(cm.log('Error. UA.js is not exists or not loaded. Method "cm.isVersion()" returns null.'),null):Com.UA.isVersion()},cm.isMobile=function(){return cm.isUndefined(Com.UA)?(cm.log('Error. UA.js is not exists or not loaded. Method "cm.isMobile()" returns false.'),!1):Com.UA.isMobile()},cm.countDigits=function(e){return(e=cm.isNumber(e)?Math.abs(e).toString():e).length},cm.decode=(()=>{var t;return function(e){return t=t||cm.node("textarea",{class:"cm__textarea-clipboard"}),cm.isEmpty(e)?"":(t.innerHTML=e,t.value)}})(),cm.copyToClipboard=function(e,t){var n,a,s;cm.isEmpty(e)||(cm.isFunction(t)&&(t={callback:t}),n=()=>{cm.isFunction(t.callback)&&t.callback(!0)},a=()=>{cm.errorLog({type:"error",name:"cm.copyToClipboard",message:"Unable to copy text to clipboard!"}),cm.isFunction(t.callback)&&t.callback(!1)},"text/plain"===(t=cm.merge({type:"text/plain",callback:()=>{}},t)).type&&navigator.clipboard?.writeText||"text/plain"!==t.type&&navigator.clipboard?.write&&cm.isClipboardItem?("text/plain"===t.type?navigator.clipboard.writeText(e):(s=new ClipboardItem({"text/plain":new Blob([e],{type:"text/plain"}),[t.type]:new Blob([e],{type:t.type})}),navigator.clipboard.write([s]))).then(n).catch(a):((s=cm.node("textarea")).value=e,cm.appendChild(s,document.body),s.select(),e=document.execCommand("copy"),cm.remove(s),(e?n:a)()))},cm.share=async function(e){try{await navigator.share(e)}catch(e){cm.errorLog({type:"error",name:"cm.share",message:"Unable to share text: "+e})}},cm.RegExpEscape=function(e){return e.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")},cm.strWrap=function(e,t){return["",e=e.toString(),""].join(t)},cm.strReplace=function(n,e){return e&&cm.isObject(e)&&(n=n.toString(),cm.forEach(e,function(e,t){cm.isObject(e)&&(e=JSON.stringify(e)),n=n.replace(new RegExp(t,"g"),e)})),n},cm.fillVariables=function(e,n,a){return a=!cm.isUndefined(a)&&a,e.replace(/[{%](\w.+?)[%}]/g,function(e,t){return[cm.reducePath(t,n),cm.reducePath("%"+t+"%",n),cm.reducePath("{"+t+"}",n),a?e:""].find(function(e){return!cm.isUndefined(e)})})},cm.reduceText=function(e,t,n){return e=e.toString(),n=!cm.isUndefined(n)&&n,e.length>t?e.slice(0,t)+(n?"â¦":""):e},cm.reduceTextSmart=function(e,t,n){if(e.length<=t)return e;for(var a=e.split(/[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+/),s="",o="",r=0;a[r]&&o.length<=t;)s=o,o+=" "+a[r],r++;return cm.isUndefined(n)||(s+="â¦"),s},cm.removeDanger=function(e){return e.replace(/(<|>|<|>)/gim,"")},cm.removeSpaces=function(e){return e.replace(/[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+/g,"")},cm.escapeHTML=function(e){if(cm.isString(e))return e.replace(/['"<>&]/g,function(e){switch(e){case"'":return"'";case'"':return""";case"<":return"<";case">":return">";case"&":return"&"}})},cm.cutHTML=function(e){if(cm.isString(e))return e.replace(/<[^>]*>/g,"")},cm.splitNumber=function(e){return e.toString().replace(/(\d)(?=(\d\d\d)+([^\d]|$))/g,"$1 ")},cm.formatNumber=function(e,t,n){return e=cm.isString(e)?cm.parseLocalNumber(e):e,n=cm.isEmpty(n)?cm._locale:n,new Intl.NumberFormat(n,t).format(e)},cm.parseLocalNumber=function(e){return/,\d{1,2}$/.test(e)?parseFloat(e.replace(/\./g,"").replace(",",".")):parseFloat(e.replace(/,/g,""))},cm.getPercentage=function(){cm.errorLog({type:"error",name:"cm.getPercentage",message:"Deprecated!"})},cm.parseDuration=function(e){return cm.isEmpty(e)||cm.isNumber(e)?e:!(e=e.toString().trim().toLowerCase()).includes("ms")&&e.includes("s")?1e3*parseFloat(e):parseFloat(e)},cm.rand=function(e,t){return Math.floor(Math.random()*(t-e+1))+e},cm.randHue=function(e,t=12){if(!e&&0!==e)return cm.rand(0,360);let n;for(var a;n=cm.rand(0,360),a=Math.abs(e-n),Math.min(a,360-a)<t;);return n},cm.quid=function(e){return(e=cm.isUndefined(e)?"$":e).replaceAll("$",function(){return Math.floor(65536*(1+Math.random())).toString(16).substring(1)})},cm.isEven=function(e){return!(e%2)},cm.addLeadZero=function(e,t){return t=cm.isUndefined(t)?1:t,e.toString().padStart(++t,"0")},cm.plural=cm.getNumberDeclension=function(e,t,n){return!t||cm.isString(t)?t:(n=cm.getPluralRules(n).select(e),cm.isArray(t)?(e={one:0,few:1,many:2,other:2<t.length?2:1},t[cm.isUndefined(e[n])?0:e[n]]||t[t.length-1]||t[0]):t[n]||t.other||t.one||"")},cm.getPluralRules=(()=>{let t={};return function(e){return e=cm.isUndefined(e)?cm._locale:e,t[e]||(t[e]=new Intl.PluralRules(e)),t[e]}})(),cm.toRadians=function(e){return e*Math.PI/180},cm.toDegrees=function(e){return 180*e/Math.PI}
1,cm.isDateValid=function(e){return cm.isDate(e)&&!isNaN(e.valueOf())},cm.getCurrentDate=function(e){return e=e||cm._config.dateTimeFormat,cm.dateFormat(new Date,e)},cm.dateFormat=function(e,t,n,a){cm.isDate(e)?e=new Date(+e):(cm.isString(e)||cm.isNumber(e))&&(e=new Date(e)),isNaN(e)&&(e=null),t=cm.isString(t)?t:cm._config.dateTimeFormat,a=cm.isString(a)?a:cm._config.dateFormatCase,n=cm.merge({months:cm._strings.months,days:cm._strings.days},n),cm.isObject(n.months)&&n.months[a]&&(n.months=n.months[a]);var s;return t=cm.strReplace(t,{"%Y%":"%Y","%y%":"%y","%m%":"%m","%n%":"%n","%F%":"%F","%d%":"%d","%j%":"%j","%l%":"%l","%a%":"%a","%A%":"%A","%g%":"%g","%G%":"%G","%h%":"%h","%H%":"%H","%i%":"%i","%s%":"%s"}),t=cm.strReplace(t,(s=e,{"%Y":function(){return s?s.getFullYear():"0000"},"%y":function(){return s?s.getFullYear().toString().substr(-2):"00"},"%m":function(){return s?cm.addLeadZero(s.getMonth()+1):"00"},"%n":function(){return s?s.getMonth()+1:"00"},"%F":function(){return s?n.months[s.getMonth()]:"00"},"%d":function(){return s?cm.addLeadZero(s.getDate()):"00"},"%j":function(){return s?s.getDate():"00"},"%l":function(){return s?n.days[s.getDay()]:"00"},"%a":function(){return s?12<=s.getHours()?"pm":"am":""},"%A":function(){return s?12<=s.getHours()?"PM":"AM":""},"%g":function(){return s?s.getHours()%12||12:"00"},"%G":function(){return s?s.getHours():"00"},"%h":function(){return s?cm.addLeadZero(s.getHours()%12||12):"00"},"%H":function(){return s?cm.addLeadZero(s.getHours()):"00"},"%i":function(){return s?cm.addLeadZero(s.getMinutes()):"00"},"%s":function(){return s?cm.addLeadZero(s.getSeconds()):"00"},"%v":function(){return s?cm.addLeadZero(s.getMilliseconds(),2):"000"}}))},cm.parseDate=function(n,a){var t,e,s,o;return n?(t=new Date,e={YYYY:function(e){return"0000"!==e?e:t.getFullYear()},mm:function(e){return"00"!==e?e-1:t.getMonth()},dd:function(e){return"00"!==e?e:t.getDate()},hh:function(e){return e},HH:function(e){return e},ii:function(e){return e},ss:function(e){return e},vv:function(e){return e},e:function(e){return e}},s={YYYY:"0000",mm:"00",dd:"00",hh:"00",HH:"00",ii:"00",ss:"00",vvv:"000",e:"Z"},o=0,a=cm.isString(a)?a:cm._config.dateTimeFormat,a=cm.strReplace(a,{"%Y%":"YYYY","%m%":"mm","%d%":"dd","%H%":"HH","%i%":"ii","%s%":"ss","%Y":"YYYY","%m":"mm","%d":"dd","%h":"hh","%H":"HH","%i":"ii","%s":"ss","%v":"vvv",$e:"e"}),cm.forEach(e,function(e,t){for(o=a.indexOf(t);-1!==o;)s[t]=e(n.substr(o,t.length)),o=a.indexOf(t,o+1)}),new Date(s.YYYY,s.mm,s.dd,s.HH,s.ii,s.ss,s.vvv)):null},cm.parseFormatDate=function(e,t,n,a,s){t=t||cm._config.dateFormat,n=n||cm._config.displayDateFormat,s=s||cm._config.displayDateFormatCase;e=cm.parseDate(e,t);return cm.dateFormat(e,n,a,s)},cm.parseFormatDateTime=function(e,t,n,a,s){t=t||cm._config.dateTimeFormat,n=n||cm._config.displayDateTimeFormat,s=s||cm._config.displayDateFormatCase;e=cm.parseDate(e,t);return cm.dateFormat(e,n,a,s)},cm.getWeek=function(e){var t=new Date;return cm.isDate(e)?t=new Date(+e):cm.isString(e)&&(t=new Date(e)),t.setHours(0,0,0),t.setDate(t.getDate()+4-(t.getDay()||7)),Math.ceil(((t-new Date(t.getFullYear(),0,1))/864e5+1)/7)},cm.getWeeksInYear=function(e){e=e||(new Date).getFullYear();var e=new Date(e,11,31),t=cm.getWeek(e);return 1===t?cm.getWeek(e.setDate(24)):t},cm.addClass=function(t,e,n){return cm.isNode(t)&&!cm.isEmpty(e)&&(n=n&&t.clientHeight,(cm.isString(e)||cm.isNumber(e))&&(e=e.toString().split(/\s+/)),cm.forEach(e,e=>{e=e?.trim(),cm.isEmpty(e)||t.classList.add(e)})),t},cm.removeClass=function(t,e,n){return cm.isNode(t)&&!cm.isEmpty(e)&&(n=n&&t.clientHeight,(cm.isString(e)||cm.isNumber(e))&&(e=e.toString().split(/\s+/)),cm.forEach(e,e=>{e=e?.trim(),cm.isEmpty(e)||t.classList.remove(e)})),t},cm.toggleClass=function(e,t,n){return!cm.isNode(e)||cm.isEmpty(t)?e:n?cm.addClass(e,t):cm.removeClass(e,t)},cm.replaceClass=function(e,t,n,a){return cm.isNode(e)?cm.addClass(cm.removeClass(e,t,a),n,a):e},cm.clearClass=function(e){if(cm.isNode(e))for(var t=e.classList;0<t.length;)t.remove(t.item(0));return e},cm.hasClass=cm.isClass=function(e,t){return cm.isNode(e)?e.classList.contains(t):e},cm.getPageSize=function(e){var t=document,n=t.documentElement,t=t.body,t={height:Math.max(Math.max(t.scrollHeight,n.scrollHeight),Math.max(t.offsetHeight,n.offsetHeight),Math.max(t.clientHeight,n.clientHeight)),width:Math.max(Math.max(t.scrollWidth,n.scrollWidth),Math.max(t.offsetWidth,n.offsetWidth),Math.max(t.clientWidth,n.clientWidth)),winHeight:n.clientHeight,winWidth:n.clientWidth};return t.scrollTop=cm.getBodyScrollTop(),t.scrollLeft=cm.getBodyScrollLeft(),t.scrollHeight=t.height-t.winHeight,t.scrollWidth=t.width-t.winWidth,t[e]||t},cm.getScrollBarSize=(()=>{var e;return function(){return e||(e=cm.node("div",{class:"cm__scrollbar-size-checker","aria-hidden":!0}),cm.insertFirst(e,document.body)),Math.max(e.offsetWidth-e.clientWidth,0)}})(),cm.setOpacity=function(e,t){return cm.isNode(e)&&(e.style.opacity=t),e},cm.getX=function(e){var t=0,n=e;try{for(;n;)t+=n.offsetLeft,n!==e&&(t+=cm.getStyle(n,"borderLeftWidth",!0)||0),n=n.offsetParent}catch(e){}return t},cm.getY=function(e){var t=0,n=e;try{for(;n;)t+=n.offsetTop,n!==e&&(t+=cm.getStyle(n,"borderTopWidth",!0)||0),n=n.offsetParent}catch(e){}return t},cm.getRealX=function(e){return cm.isNode(e)?e.getBoundingClientRect().left:0},cm.getRealY=function(e){return cm.isNode(e)?e.getBoundingClientRect().top:0},cm.getRect=function(e){var t;return cm.isWindow(e)?{top:0,right:(t=e.document.documentElement).clientWidth,bottom:t.clientHeight,left:0,width:t.clientWidth,height:t.clientHeight}:cm.isNode(e)?(t=e.getBoundingClientRect(),(e={top:Math.round(t.top),right:Math.round(t.right),bottom:Math.round(t.bottom),left:Math.round(t.left)}
1).width=cm.isUndefined(t.width)?t.right-t.left:Math.round(t.width),e.height=cm.isUndefined(t.height)?t.bottom-t.top:Math.round(t.height),e):{top:0,right:0,bottom:0,left:0,width:0,height:0}},cm.getOffsetRect=function(e){var e=cm.getRect(e),t=cm.getBodyScrollTop(),n=cm.getBodyScrollLeft();return e.offset={top:e.top+t,right:e.right+n,bottom:e.bottom+t,left:e.left+n},e},cm.getFullRect=function(e,t){var n;return cm.isNode(e)?(n={},t=cm.isUndefined(t)?cm.getStyleObject(e):t,n.width=e.offsetWidth,n.height=e.offsetHeight,n.x1=cm.getRealX(e),n.y1=cm.getRealY(e),n.x2=n.x1+n.width,n.y2=n.y1+n.height,n.padding={top:cm.getCSSStyle(t,"paddingTop",!0),right:cm.getCSSStyle(t,"paddingRight",!0),bottom:cm.getCSSStyle(t,"paddingBottom",!0),left:cm.getCSSStyle(t,"paddingLeft",!0)},n.innerWidth=n.width-n.padding.left-n.padding.right,n.innerHeight=n.height-n.padding.top-n.padding.bottom,n.innerX1=n.x1+n.padding.left,n.innerY1=n.y1+n.padding.top,n.innerX2=n.innerX1+n.innerWidth,n.innerY2=n.innerY1+n.innerHeight,n.margin={top:cm.getCSSStyle(t,"marginTop",!0),right:cm.getCSSStyle(t,"marginRight",!0),bottom:cm.getCSSStyle(t,"marginBottom",!0),left:cm.getCSSStyle(t,"marginLeft",!0)},n.absoluteWidth=n.width+n.margin.left+n.margin.right,n.absoluteHeight=n.height+n.margin.top+n.margin.bottom,n.absoluteX1=n.x1-n.margin.left,n.absoluteY1=n.y1-n.margin.top,n.absoluteX2=n.x2+n.margin.right,n.absoluteY2=n.y2+n.margin.bottom,n):null},cm.getNodeIndents=function(e,t){if(!cm.isNode(e))return null;t=cm.isUndefined(t)?cm.getStyleObject(e):t;e={};return e.margin={top:cm.getCSSStyle(t,"marginTop",!0),right:cm.getCSSStyle(t,"marginRight",!0),bottom:cm.getCSSStyle(t,"marginBottom",!0),left:cm.getCSSStyle(t,"marginLeft",!0)},e.padding={top:cm.getCSSStyle(t,"paddingTop",!0),right:cm.getCSSStyle(t,"paddingRight",!0),bottom:cm.getCSSStyle(t,"paddingBottom",!0),left:cm.getCSSStyle(t,"paddingLeft",!0)},e},cm.getNodeOffset=function(e,t,n,a){return cm.isNode(e)?(t=cm.isUndefined(t)?cm.getStyleObject(e):t,(n=cm.isUndefined(n)?cm.getNodeIndents(e,t):n).offset=cm.getRect(e),a&&(n.offset.top+=a.top,n.offset.right+=a.left,n.offset.bottom+=a.top,n.offset.left+=a.left),n.inner={width:n.offset.width-n.padding.left-n.padding.right,height:n.offset.height-n.padding.top-n.padding.bottom,top:n.offset.top+n.padding.top,right:n.offset.right-n.padding.right,bottom:n.offset.bottom-n.padding.bottom,left:n.offset.left+n.padding.left},n.outer={width:n.offset.width+n.margin.left+n.margin.right,height:n.offset.height+n.margin.top+n.margin.bottom,top:n.offset.top-n.margin.top,right:n.offset.right+n.margin.right,bottom:n.offset.bottom+n.margin.bottom,left:n.offset.left-n.margin.left},n):null},cm.getRealWidth=function(e,t){var n,a=0,a=e.offsetWidth;return e.style.width="auto",n=e.offsetWidth,e.style.width=cm.isUndefined(t)?[a,"px"].join(""):t,n},cm.getRealHeight=function(e,t,n){var a,s=["self","current","offset","offsetRelative"],o={};return e&&cm.isNode(e)?(a=cm.getStyleObject(e),t=cm.isUndefined(t)||!cm.inArray(s,t)?"offset":t,n=!(cm.isUndefined(n)||!cm.inArray(s,n))&&n,cm.forEach(s,function(e){o[e]=0}),s={display:e.style.display,height:e.style.height,position:e.style.position},e.style.display="block",o.current=e.offsetHeight,e.style.height="auto",o.offset=e.offsetHeight,o.self=o.offset-cm.getStyle(a,"borderTopWidth",!0)-cm.getStyle(a,"borderBottomWidth",!0)-cm.getStyle(a,"paddingTop",!0)-cm.getStyle(a,"paddingBottom",!0),e.style.position="relative",o.offsetRelative=e.offsetHeight,e.style.display=s.display,e.style.height=s.height,e.style.position=s.position,n&&(e.style.height=[o[n],"px"].join("")),o[t]):0},cm.getIndentX=function(e){return e?cm.getStyle(e,"paddingLeft",!0)+cm.getStyle(e,"paddingRight",!0)+cm.getStyle(e,"borderLeftWidth",!0)+cm.getStyle(e,"borderRightWidth",!0):null},cm.getIndentY=function(e){return e?cm.getStyle(e,"paddingTop",!0)+cm.getStyle(e,"paddingBottom",!0)+cm.getStyle(e,"borderTopWidth",!0)+cm.getStyle(e,"borderBottomWidth",!0):null},cm.addStyles=function(n,e){if(cm.isNode(n))return cm.isObject(e)?cm.forEach(e,(e,t)=>{/^--/.test(t)?cm.setCSSVariable(t,e,n):n.style[t]=e}):n.style.cssText=e,n},cm.getStyleObject=window.getComputedStyle?function(e){return document.defaultView.getComputedStyle(e,null)}:function(e){return e.currentStyle},cm.getCSSStyle=cm.getStyle=function(e,t,n){var e=cm.isNode(e)?cm.getStyleObject(e):e;return e?(e=e[t],n?cm.styleToNumber(e):e):0},cm.getCurrentStyle=function(e,t,n){switch(t){case"width":case"height":case"top":case"left":var a,s,o=t.charAt(0).toUpperCase()+t.substr(1,t.length-1);return"%"!==n||e.style[t].match(/%/)?"%"===n&&/%/.test(e.style[t])?(a=e.style.display,e.style.display="none",s=cm.getCSSStyle(e,t,!0)||0,e.style.display=a,s):"px"===n&&/px/.test(e.style[t])?cm.getCSSStyle(e,t,!0)||0:e["offset"+o]:(a=/body/i.test(e.parentNode.tagName)||/top|left/i.test(o)?"client":"offset",s=/width|left/i.test(o)?e.parentNode[a+"Width"]:e.parentNode[a+"Height"],e["offset"+o]/s*100);
1case"translateX":var r=cm.getCSSTranslate(e).x;return cm.styleToNumber(r);case"opacity":r=parseFloat(e.style.opacity||cm.getCSSStyle(e,"opacity"));return isNaN(r)?1:r;case"color":case"backgroundColor":case"borderColor":case"metaColor":return r="metaColor"===t?e.getAttribute("content"):cm.getCSSStyle(e,t),cm.isEmpty(r)?void 0:r.match(/rgb/i)?(r=r.match(/\d+/g),[parseInt(r[0]),parseInt(r[1]),parseInt(r[2])]):r.match(/hsl/i)?cm.hsl2rgb.apply(this,cm.strToHsl(r)):cm.hex2rgb(r.match(/[\w\d]+/)[0]);case"docScrollTop":return cm.getBodyScrollTop();case"scrollLeft":case"scrollTop":return e[t];case"x1":case"x2":case"y1":case"y2":return parseInt(e.getAttribute(t));default:return cm.getCSSStyle(e,t,!0)||0}},cm.getStyleDimension=function(e){e=e.toString().match(/\d+(\D*)/);return e?e[1]:""},cm.styleToNumber=function(e){return e=parseFloat(e.toString().replace(/(pt|px|%)/g,"")),e=isNaN(e)?0:e},cm.hex2rgb=function(e){return[(e=parseInt(e,16))>>16&255,e>>8&255,255&e]},cm.rgb2hex=function(e,t,n){var a,s=[e,t,n];for(a in s)s[a]=Math.round(Number(s[a])).toString(16),"0"==s[a]?s[a]="00":1===s[a].length&&(s[a]="0"+s[a]);return"#"+s.join("")},cm.strToHsl=function(e){return e.match(/[\d.]+/g).map((e,t)=>(e=Number(e))?0===t?e/360:e/100:0)},cm.hsl2rgb=function(e,t,n){let a,s,o;0===t?a=s=o=n:(t=2*n-(n=n<.5?n*(1+t):n+t-n*t),a=cm.hueToRgb(t,n,e+1/3),s=cm.hueToRgb(t,n,e),o=cm.hueToRgb(t,n,e-1/3));t=e=>Math.min(Math.floor(256*e),255);return[t(a),t(s),t(o)]},cm.hueToRgb=function(e,t,n){return n<0&&(n+=1),1<n&&--n,n<1/6?e+6*(t-e)*n:n<.5?t:n<2/3?e+(t-e)*(2/3-n)*6:e},cm.styleStrToKey=function(e){var t;return"float"===(e=e.replace(/\s/g,""))?e=["cssFloat","styleFloat"]:e.match("-")&&(e=(t=e.split("-"))[0]+t[1].replace(t[1].charAt(0),t[1].charAt(0).toUpperCase())),e},cm.getScrollTop=function(e){return cm.isWindow(e)?cm.getBodyScrollTop():cm.isNode(e)?/body|html/gi.test(e.tagName)?cm.getBodyScrollTop():e.scrollTop:0},cm.getScrollLeft=function(e){return cm.isWindow(e)?cm.getBodyScrollLeft():cm.isNode(e)?/body|html/gi.test(e.tagName)?cm.getBodyScrollLeft():e.scrollLeft:0},cm.setScrollTop=function(e,t){return cm.isWindow(e)?cm.setBodyScrollTop(t):cm.isNode(e)&&(/body|html/gi.test(e.tagName)?cm.setBodyScrollTop(t):e.scrollTop=t),e},cm.setScrollLeft=function(e,t){return cm.isWindow(e)?cm.setBodyScrollLeft(t):cm.isNode(e)&&(/body|html/gi.test(e.tagName)?cm.setBodyScrollLeft(t):e.scrollLeft=t),e},cm.getScrollHeight=function(e){return cm.isWindow(e)?cm.getBodyScrollHeight():cm.isNode(e)?/body|html/gi.test(e.tagName)?cm.getBodyScrollHeight():e.scrollHeight:0},cm.getScrollOffsetHeight=function(e){return cm.isWindow(e)?cm._pageSize.winHeight:cm.isNode(e)?/body|html/gi.test(e.tagName)?cm._pageSize.winHeight:e.offsetHeight:0},cm.getScrollTopMax=function(e){return cm.isWindow(e)?cm.getBodyScrollMaxTop():cm.isNode(e)?/body|html/gi.test(e.tagName)?cm.getBodyScrollMaxTop():e.scrollHeight-e.offsetHeight:0},cm.setBodyScrollTop=function(e){window.scrollTo({top:e})},cm.setBodyScrollLeft=function(e){window.scrollTo({left:e})},cm.getBodyScrollTop=function(){return Math.max(document.documentElement.scrollTop,document.body.scrollTop,window.scrollY,0)},cm.getBodyScrollLeft=function(){return Math.max(document.documentElement.scrollLeft,document.body.scrollLeft,window.scrollX,0)},cm.getBodyScrollWidth=function(){return Math.max(document.documentElement.scrollWidth,document.body.scrollWidth,0)},cm.getBodyScrollHeight=function(){return Math.max(document.documentElement.scrollHeight,document.body.scrollHeight,0)},cm.getBodyScrollMaxTop=function(){return cm.getBodyScrollHeight()-cm._pageSize.winHeight},cm.showBodyScroll=function(){cm.removeClass(cm.getDocumentHtml(),"cm__scroll--clip"),cm.removeClass(document.body,"cm__scroll--clip")},cm.hideBodyScroll=function(){var e=cm.getBodyScrollTop();cm.addClass(cm.getDocumentHtml(),"cm__scroll--clip"),cm.addClass(document.body,"cm__scroll--clip"),cm.setBodyScrollTop(e)},cm.bodyScroll=(()=>{let t=[];return{add:function(e){cm.isNode(e)&&(cm.arrayAdd(t,e),cm.bodyScroll.hide())},remove:function(e){cm.isNode(e)&&(cm.arrayRemove(t,e),cm.bodyScroll.show())},show:function(){cm.isEmpty(t)&&cm.showBodyScroll()},hide:function(){cm.isEmpty(t)||cm.hideBodyScroll()}}})(),cm.scrollTo=function(e,t,n,a){if(cm.isNode(e)){t=cm.isUndefined(t)?window:t;var s=cm.isWindow(t)?cm.getDocumentHtml():t,o=cm.getScrollHeight(s),r=cm.getScrollOffsetHeight(s),i=cm.getScrollTop(s),c=cm.getScrollTopMax(s);if(o!==r){if("auto"===(n=cm.merge({type:"auto",behavior:"smooth",block:"start",top:"auto",scrollPadding:"auto",direction:"both",duration:cm._config.animDuration,callback:cm.isFunction(a)?a:function(){}},n)).type&&(n.type=cm.isWindow(t)||t===document.body?"docScrollTop":"scrollTop"),"auto"===n.top){var o=0,l=("auto"===n.scrollPadding?o=cm.getStyle(s,"scroll-padding-top",!0)||0:cm.isNumber(n.scrollPadding)&&(o=n.scrollPadding),("docScrollTop"===n.type?cm.getY(e):e.offsetTop)-o);switch(n.block){case"end":n.top=Math.max(Math.min(l+e.offsetHeight,c),0);break;case"center":n.top=Math.max(Math.min(l-(r-e.offsetHeight)/2,c),0);break;default:n.top=Math.max(Math.min(l,c),0)}}"up"===n.direction&&i<n.top||"down"===n.direction&&i>n.top||("instant"===n.behavior?(cm.setScrollTop(t,n.top),n.callback()):new cm.Animation(t).go({easing:n.behavior,duration:n.duration,onStop:n.callback,style:{[n.type]:n.top}}))}return e}}
1,cm.getSupportedStyle=(()=>{var n=document.createElement("div");return function(t){var e=cm.styleStrToKey(t).replace(t.charAt(0),t.charAt(0).toUpperCase()),e=[cm.styleStrToKey(t),["Webkit",e].join(""),["Moz",e].join(""),["O",e].join(""),["ms",e].join("")];return t=!1,cm.forEach(e,function(e){cm.isUndefined(n.style[e])||(t=t||e)}),t}})(),cm.getTransitionDurationFromRule=function(e){var e=cm.getCSSRule(null,e)[0];return e&&(e=e.style[cm.getSupportedStyle("transitionDuration")])?cm.parseTransitionDuration(e):0},cm.getTransitionDurationFromLESS=function(e,t){e=cm.getLESSVariable(e,t,!1);return cm.parseTransitionDuration(e)},cm.parseTransitionDuration=function(e){return cm.isEmpty(e)?0:!(e=e.toString()).match("ms")&&e.match("s")?e/1e3:parseFloat(e)},cm.getLESSVariable=function(e,t,n){e=e.replace(/^@/,"");e=window.LESS&&window.LESS[e]?window.LESS[e]:t;return n?cm.styleToNumber(e):e},cm.createStyleSheet=function(){var e=document.createElement("style");return e.appendChild(document.createTextNode("")),document.head.appendChild(e),e.sheet},cm.createCSStyleSheet=function(e,t){e=new CSSStyleSheet(e);return cm.isNode(t)?t.attachShadow({mode:"open"}).adoptedStyleSheets=[e]:document.adoptedStyleSheets=cm.extend(document.adoptedStyleSheets,[e]),e},cm.removeCSStyleSheet=function(e,t){e&&(cm.replaceCSSRule(e),document.adoptedStyleSheets=cm.arrayRemove(document.adoptedStyleSheets,e))},cm.getCSSRule=function(e,t){var n=[];return cm.isUndefined(e)?cm.forEach(document.styleSheets,function(e){cm.forEach(e.cssRules,function(e){e.selectorText===t&&n.push(e)})}):cm.forEach(e.cssRules,function(e){e.selectorText===t&&n.push(e)}),n},cm.reduceCSSRule=function(e,t){return t=cm.isUndefined(t)?[]:t,cm.isObject(t)&&(t=Object.keys(t).map(function(e){return[e,t[e]].join(":")})),e+"{"+(t=cm.isArray(t)?t.join(";"):t)+"}"},cm.addCSSRule=function(e,t,n,a){(e=cm.isUndefined(e)?document.styleSheets[0]:e).insertRule(cm.reduceCSSRule(t,n),a)},cm.replaceCSSRule=function(e,t,n,a){if(e){a=!cm.isUndefined(a)&&a;t=cm.isEmpty(t)?"":cm.reduceCSSRule(t,n);if(a)return e.replace(t);e.replaceSync(t)}},cm.removeCSSRule=function(n,a,e){cm.isUndefined(n)?cm.forEach(document.styleSheets,function(n){cm.forEach(n.cssRules,function(e,t){e.selectorText===a&&n.deleteRule(t)})}):cm.isEmpty(e)?cm.forEach(n.cssRules,function(e,t){e.selectorText===a&&n.deleteRule(t)}):n.deleteRule(e)},cm.setCSSTranslate=(()=>{let o=cm.getSupportedStyle("transform");return o?function(e,t,n,a,s){return t=cm.isUndefined(t)||"auto"===t?0:t,n=cm.isUndefined(n)||"auto"===n?0:n,a=cm.isUndefined(a)||"auto"===a?0:a,s=cm.isUndefined(s)?"":s,e.style[o]=["translate3d(",t,",",n,",",a,")",s].join(" "),e}:function(e,t,n,a,s){return t=cm.isUndefined(t)?0:t,n=cm.isUndefined(n)?0:n,e.style.left=t,e.style.top=n,e}})(),cm.getCSSTranslate=function(e){e=window.getComputedStyle(e),e=new DOMMatrixReadOnly(e.transform);return{x:e.m41,y:e.m42,z:e.m43}},cm.clearCSSTranslate=(()=>
1{let t=cm.getSupportedStyle("transform");return t?function(e){e.style[t]=""}:function(e){e.style.left="",e.style.top=""}})(),cm.setCSSTransitionDuration=(()=>{let n=cm.getSupportedStyle("transition-duration");return function(e,t){return n&&(cm.isNumber(t)&&(t=[t,"ms"].join("")),e.style[n]=t),e}})(),cm.inRange=function(e,t,n,a){return n<=e&&e<=a||n<=t&&t<=a||e<=n&&n<=t},cm.CSSValuesToArray=function(n){if(cm.isEmpty(n))return[0,0,0,0];switch(n=n.toString().replace(/[^\d\s-]/g,"").split(/\s+/),cm.forEach(n,function(e,t){n[t]=cm.isEmpty(e)?0:parseFloat(e)}),n.length){case 0:n=[0,0,0,0];break;case 1:n=[n[0],n[0],n[0],n[0]];break;case 2:n=[n[0],n[1],n[0],n[1]];break;case 3:n=[n[0],n[1],n[2],n[1]]}return n},cm.arrayToCSSValues=function(n,s){var a;return s=cm.isUndefined(s)?"px":s,cm.forEach(n,function(e,t){a=cm.isEmpty(e)?0:parseFloat(e),a=isNaN(a)?0:a,n[t]=a}),n.reduce(function(e,t,n,a){return[e+s,t+(n===a.length-1?s:"")].join(" ")})},cm.URLToCSSURL=function(e){return cm.isEmpty(e)?"none":'url("'+e+'")'},cm.setCSSVariable=function(e,t,n){return n=cm.isUndefined(n)?document.documentElement:n,cm.isNode(n)&&n.style.setProperty(e,t),n},cm.getCSSVariable=function(e,t){if(t=cm.isUndefined(t)?document.documentElement:t,cm.isNode(t))return cm.getStyleObject(t).getPropertyValue(e)},cm.removeCSSVariable=function(e,t){t=cm.isUndefined(t)?document.documentElement:t,cm.isNode(t)&&t.style.removeProperty(e)},cm.isKey=function(){cm.errorLog({type:"error",name:"cm.isKey",message:"Deprecated!"})},cm.isKeyCode=function(){cm.errorLog({type:"error",name:"cm.isKeyCode",message:"Deprecated!"})},cm.allowKeyCode=function(){cm.errorLog({type:"error",name:"cm.allowKeyCode",message:"Deprecated!"})},cm.disallowKeyCode=function(){cm.errorLog({type:"error",name:"cm.disallowKeyCode",message:"Deprecated!"})},cm.isNotToggleKey=function(e){return"keypress"===e.type&&!["Enter","Space"].includes(e.code)},cm.isLinkClick=function(e){return!(e.button||e.metaKey||e.ctrlKey)},cm.isInputFocused=function(){var e=document.activeElement;return"INPUT"===e.tagName&&!cm.inArray(["button","submit","reset","file","checkbox","radio","image","hidden"],e.type)||"TEXTAREA"===e.tagName||"true"===e.contentEditable},cm.isFormInputFocused=function(){var e=document.activeElement;return"INPUT"===e.tagName&&!cm.inArray(["button","submit","reset","file","checkbox","radio","image","hidden"],e.type)||"true"===e.contentEditable},cm.handleKey=function(e,t,n){cm.isArray(t)||(t=[t]),!cm.isInputFocused()&&cm.inArray(t,e.code)&&n&&n(e)},cm.charCodeIsDigit=function(e){e=String.fromCharCode(e);return/^\d$/.test(e)},cm.allowOnlyDigitInputEvent=function(e,t){return cm.allowOnlyNumbersInputEvent(e,t,{allowNegative:!1,allowFloat:!1})},cm.allowOnlyNumbersInputEvent=function(t,n,e){var a,s,o,r;return e=cm.merge({allowNegative:!1,allowFloat:!1},e),a=e.allowNegative&&e.allowFloat?/[^\d-.]/g:e.allowNegative?/[^\d-]/g:e.allowFloat?/[^\d.]/g:/[^\d]/g,cm.addEvent(t,"input",function(e){s=t.value.replace(a,""),o=!cm.isEmpty(t.maxlength)&&0<t.maxlength,r=!cm.isEmpty(t.max)&&0<t.max,o||r?"number"===t.type?t.value=Math.min(parseFloat(s),parseFloat(t.max)):t.value=cm.reduceText(s,parseFloat(t.maxlength)):t.value=s,n&&n(e,t.value)}),t},window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(e,t){return window.setTimeout(e,1e3/60)}),is=(cm.Animation=function(e){let r=this,d={random:e=>(e=e,Math.random()*(1-e)+e),simple:e=>e,linear:e=>e,acceleration:e=>Math.pow(e,3),inhibition:e=>1-d.acceleration(1-e),smooth:e=>e<.5?d.acceleration(2*e)/2:1-d.acceleration(2*(1-e))/2,easeInOutSine:e=>-(Math.cos(Math.PI*e)-1)/2},m=e,p=[],u=(e,t)=>
1{if(!cm.isEmpty(t))return e.match(/color/i)?/rgb/i.test(t)?(e=t.match(/\d+/g),[parseInt(e[0]),parseInt(e[1]),parseInt(e[2])]):/hsl/i.test(t)?cm.hsl2rgb.apply(this,cm.strToHsl(t)):cm.hex2rgb(t.match(/[\w\d]+/)[0]):t.replace(/[^\-0-9.]/g,"")};r.go=function(n){(n=cm.merge({style:{},duration:0,easing:"smooth",onStop:function(){}},n)).duration=cm.parseDuration(n.duration),n.easing=n.anim||n.easing||"smooth";let a="animation_process_"+Math.random(),s=cm.isFunction(n.easing)?n.easing:d[n.easing]||d.smooth,i=[],c=Date.now();for(var e in n.style){var t=n.style[e].toString(),o=cm.getStyleDimension(t),t=u(e,t);if(cm.isEmpty(t))return;i.push({name:e,dimension:o,new:t,old:cm.getCurrentStyle(m,e,o)})}r.stop(),p[a]=!0;let l=()=>{var e=a;if(!p[e])return delete p[e],!1;var o,r,t=(Date.now()-c)/n.duration;o=t,r=s,t=i,n.duration,(o<=1?(t.forEach(e=>{var t,n,a,s=e.old+(e.new-e.old)*r(o);"opacity"===e.name?cm.setOpacity(m,s):/color/i.test(e.name)?(a=parseInt((e.new[0]-e.old[0])*r(o)+e.old[0]),t=parseInt((e.new[1]-e.old[1])*r(o)+e.old[1]),n=parseInt((e.new[2]-e.old[2])*r(o)+e.old[2]),a=cm.rgb2hex(a,t,n),"metaColor"===e.name?m.setAttribute("content",a):m.style[e.name]=a):/scrollLeft|scrollTop/.test(e.name)?m[e.name]=s:/x1|x2|y1|y2/.test(e.name)?m.setAttribute(e.name,Math.round(s)):"docScrollTop"===e.name?cm.setBodyScrollTop(s):"translateX"===e.name?cm.setCSSTranslate(m,Math.round(s)+e.dimension):m.style[e.name]=Math.round(s)+e.dimension}),1):(t.forEach(e=>{var t;"opacity"===e.name?cm.setOpacity(m,e.new):/color/i.test(e.name)?(t=cm.rgb2hex(e.new[0],e.new[1],e.new[2]),"metaColor"===e.name?m.setAttribute("content",t):m.style[e.name]=t):/scrollLeft|scrollTop/.test(e.name)?m[e.name]=e.new:/x1|x2|y1|y2/.test(e.name)?m.setAttribute(e.name,e.new):"docScrollTop"===e.name?cm.setBodyScrollTop(e.new):m.style[e.name]=e.new+e.dimension}),0))?animFrame(l):(delete p[e],n.onStop&&n.onStop())};return l(),r},r.stop=function(){for(var e in p)p[e]=!1;return r},r.getTarget=function(){return m}},cm.transition=function(a,s){let e=cm.getSupportedStyle("transition"),t={},o=[],r={init:()=>{(s=cm.merge({properties:{},duration:0,easing:"ease-in-out",delayIn:0,delayOut:0,immediately:!1,clear:!1,onStart:()=>{},onStop:()=>{}},s)).duration=cm.parseDuration(s.duration),cm.forEach(s.properties,(e,t)=>{t=cm.styleStrToKey(t),o.push([t,s.duration+"ms",s.easing].join(" "))}),o=o.join(", "),r.start()},start:()=>{r.reset(),cm.forEach(s.properties,(e,t)=>{t=cm.styleStrToKey(t);e=cm.getStyleDimension(e);a.style[t]=cm.getCurrentStyle(a,t,e)+e}),s.immediately||!cm.isVisible(a)?(s.onStart(a),r.set(),r.end()):t.delayIn=setTimeout(()=>{s.onStart(a),cm.onSchedule(r.set),cm.addEvent(a,"transitionend",r.end)},s.delayIn)},set:()=>{a.style[e]=o;let n=!1;cm.forEach(s.properties,(e,t)=>{t=cm.styleStrToKey(t),a.style[t]!==e&&(n=!0),a.style[t]=e}),n||r.end()},end:e=>{e&&e.target!==a||(r.reset(),s.immediately||!cm.isVisible(a)?r.stop():t.delayOut=setTimeout(()=>{r.stop()},s.delayOut))},stop:()=>{r.reset(),r.clear(),s.onStop(a)},reset:()=>{cm.removeEvent(a,"transitionend",r.end),t.delayIn&&clearTimeout(t.delayIn),t.delayOut&&clearTimeout(t.delayOut)},clear:()=>{a.style[e]="",s.clear&&cm.forEach(s.properties,(e,t)=>{t=cm.styleStrToKey(t),a.style[t]=""})}};return r.init(),r},cm.storageSet=function(e,t,n){if(n=!1!==n,cm.isLocalStorage)try{window.localStorage.setItem(e,t)}catch(e){}else n&&cm.cookieSet(e,t)},cm.storageGet=function(e,t){return t=!1!==t,cm.isLocalStorage?window.localStorage.getItem(e):t?cm.cookieGet(e):null},cm.storageRemove=function(e,t){t=!1!==t,cm.isLocalStorage?window.localStorage.removeItem(e):t&&cm.cookieRemove(e)},cm.sessionStorageSet=function(e,t){if(cm.isSessionStorage)try{window.sessionStorage.setItem(e,t)}catch(e){cm.storageSet.apply(this,arguments)}},cm.sessionStorageGet=function(e){return cm.isSessionStorage?window.sessionStorage.getItem(e):cm.storageGet.apply(this,arguments)},cm.sessionStorageRemove=function(e){cm.isSessionStorage?window.sessionStorage.removeItem(e):cm.storageRemove.apply(this,arguments)},cm.cookieSet=function(e,t,n,a){a="path="+(cm.isEmpty(a)?"/":encodeURI(a)),n=cm.isEmpty(n)?"":cm.cookieAge(n),document.cookie=encodeURI(e)+"="+encodeURI(t)+";"+a+";"+n},cm.cookieGet=function(e){var t,n=" "+document.cookie,e=" "+encodeURI(e)+"=",a=null,s=0;return 0<n.length&&-1!==(t=n.indexOf(e))&&(-1===(s=n.indexOf(";",t+=e.length))&&(s=n.length),a=encodeURI(n.substring(t,s))),a},cm.cookieRemove=function(e){var t=new Date;t.setDate(t.getDate()-1),document.cookie=encodeURI(e)+"=;expires="+t}
1,cm.cookieDate=function(e){return"expires="+new Date(Date.now()+864e5*e).toUTCString()+";"},cm.cookieAge=function(e){return"max-age="+86400*e+";"},cm.ajax=function(e){function t(){cm.hook.trigger("ajax.beforePrepare",d),d.httpRequestObject=cm.createXmlHttpRequestObject(),d.type=d.type.toLowerCase(),d.method=d.method.toUpperCase(),!0===d.formData&&(d.paramsType="form-data"),cm.isEmpty(d.variablesMap)||(d._originVariables=cm.clone(d.variables),d.variables=cm.fillDataMap(d.variablesMap,d.variables)),d.data instanceof FormData||d.params instanceof FormData?delete d.headers["Content-Type"]:cm.isEmpty(d.data)?d.params=u(d.params):d.data=u(d.data),cm.isObject(d.uriParams)&&(d.uriParams=cm.obj2URI(d.uriParams,d.uriConfig)),d.url=cm.strReplace(d.url,p),d.url=cm.fillVariables(d.url,d.variables,!0),"none"!==d.paramsType&&(cm.isEmpty(d.uriParams)?cm.isEmpty(d.params)||cm.inArray(["POST","PUT","PATCH"],d.method)||(d.url=[d.url,d.params].join("?")):d.url=[d.url,d.uriParams].join("?")),cm.hook.trigger("ajax.afterPrepare",d)}function n(){window[s]=function(){v(),y()}}var a,s,o,r,i,c,l,d=cm.merge({debug:!0,type:"json",method:"POST",paramsType:"uri",uriConfig:{},uriParams:{},data:{},params:"",url:"",variables:{},variablesMap:{},formData:!1,headers:{"Content-Type":"application/x-www-form-urlencoded","X-Requested-With":"XMLHttpRequest"},withCredentials:!1,async:!0,beacon:!1,onStart:function(){},onEnd:function(){},onProgress:function(){},onSuccess:function(){},onError:function(){},onAbort:function(){},onResolve:function(){},onReject:function(){},handler:!1},e),m=[200,201,202,204],p=cm._getVariables(),u=function(e){return(cm.isObject(e)||cm.isArray(e))&&(e=cm.objectReplace(e,p),e=cm.objectFillVariables(e,d.variables,!0),"json"===d.paramsType?(d.headers["Content-Type"]="application/json",e=cm.stringifyJSON(e)):"form-data"===d.paramsType?(e=cm.obj2FormData(e),delete d.headers["Content-Type"]):e=cm.obj2URI(e,d.uriConfig)),e},e=function(e){d.onProgress.apply(d.onProgress,arguments)},h=function(e){4===d.httpRequestObject.readyState&&(a=d.httpRequestObject.response,cm.inArray(m,d.httpRequestObject.status)?(d.onSuccess(a,e),d.onResolve(a,e)):(d.onError(a,e),d.onReject(a,e),cm.hook.trigger("ajax.error",e)),b(a),d.onEnd(a,e))},g=function(e){d.onSuccess.apply(d.onSuccess,arguments),d.onResolve.apply(d.onResolve,arguments),b.apply(b,arguments),d.onEnd.apply(d.onEnd,arguments)},f=function(e){d.onError.apply(d.onError,arguments),d.onReject.apply(d.onReject,arguments),b.apply(b,arguments),d.onEnd.apply(d.onEnd,arguments),cm.hook.trigger("ajax.error",e)},v=function(e){d.onAbort.apply(d.onAbort,arguments),b.apply(b,arguments),d.onEnd.apply(d.onEnd,arguments)},b=function(){cm.isFunction(d.handler)&&(cm.errorLog({type:"attention",name:"cm.ajax",message:'Parameter "handler" is deprecated. Use "onSuccess", "onError" or "onAbort" callbacks instead.'}),d.handler.apply(d.handler,arguments))},y=function(){cm.removeEvent(c,"load",window[s]),cm.removeEvent(c,"error",window[r]),cm.remove(c),delete window[s],delete window[r]};return"jsonp"===d.type?(l=["cmAjaxJSONP",Date.now()].join("__"),s=[l,"Success"].join("__"),r=[l,"Error"].join("__"),p["%callback%"]=s,p["%25callback%25"]=s,t(),l={abort:n},window[s]=function(){o||(o=!0,g.apply(g,arguments),y())},window[r]=function(){i||(i=!0,f.apply(f,arguments),y())},c=cm.Node("script",{type:"application/javascript"}),cm.addEvent(c,"load",window[s]),cm.addEvent(c,"error",window[r]),d.onStart(),c.setAttribute("src",d.url),cm.getDocumentHead().appendChild(c)):(t(),l=d.httpRequestObject,d.httpRequestObject.open(d.method,d.url,d.async),d.httpRequestObject.responseType=d.type,"withCredentials"in d.httpRequestObject&&(d.httpRequestObject.withCredentials=d.withCredentials),cm.forEach(d.headers,function(e,t){d.httpRequestObject.setRequestHeader(t,e)}),cm.addEvent(d.httpRequestObject,"load",h),cm.addEvent(d.httpRequestObject,"error",f),cm.addEvent(d.httpRequestObject,"abort",v),d.httpRequestObject.upload&&cm.addEvent(d.httpRequestObject.upload,"progress",e),d.onStart(),d.beacon&&cm.hasBeacon?navigator.sendBeacon(d.url,cm.isEmpty(d.data)?cm.isEmpty(d.params)?null:d.params:d.data):cm.isEmpty(d.data)?!cm.isEmpty(d.params)&&cm.inArray(["POST","PUT","PATCH"],d.method)?d.httpRequestObject.send(d.params):d.httpRequestObject.send(null):d.httpRequestObject.send(d.data)),l},cm.ajaxPromise=function(n){return new Promise(function(e,t){cm.ajax(cm.merge(n,{onResolve:e,onReject:t}))})},cm.parseJSON=function(t){if(cm.isObject(t)||cm.isArray(t))return t;var e;if(t)try{e=JSON.parse(t)}catch(e){cm.errorLog({type:"common",name:"cm.parseJSON",message:["Error while parsing JSON. Input string:",t].join(" ")})}return e},cm.stringifyJSON=function(e){return cm.isObject(e)||cm.isArray(e)?JSON.stringify.apply(null,arguments):e},cm.obj2Filter=function(e,n,a,s){var o,r={};return a=cm.isUndefined(a)?"=":a,s=!cm.isUndefined(s)&&s,cm.forEach(e,function(e,t){s&&cm.isEmpty(e)||(o=cm.isEmpty(n)?t:n+a+t,cm.isObject(e)?r=cm.merge(r,cm.obj2Filter(e,o,a,s)):cm.isArray(e)?r[o]=e.join(","):r[o]=e)}),r},cm.obj2URI=function(e,n){var a,s,o=[];return cm.isString(arguments[1])&&(n={multipleValues:"brackets",prefix:arguments[1]}),n=cm.merge({multipleValues:"brackets",multipleValuesConjunction:",",prefix:null,itemConjunction:"&",valueConjunction:"=",skipEmpty:!1},n),cm.isArray(e)&&"join"===n.multipleValues?(cm.forEach(e,function(e){cm.isUndefined(e)||n.skipEmpty&&cm.isEmpty(e)||o.push(encodeURIComponent(e))}),cm.isEmpty(o)||(o=o.join(n.multipleValuesConjunction),cm.isEmpty(n.prefix))||(o=[n.prefix,o].join(n.valueConjunction)),cm.isEmpty(o)?null:o
1):(cm.forEach(e,function(e,t){if(!(cm.isUndefined(e)||n.skipEmpty&&cm.isEmpty(e))){if(s=e,cm.isEmpty(n.prefix))a=t;else switch(n.multipleValues){case"brackets":a=n.prefix+"["+t+"]";break;case"keys":case"join":a=[n.prefix,t].join(n.valueConjunction);break;case"same":a=n.prefix}s=cm.isArray(e)&&"keys"===n.multipleValues?cm.obj2URI(s,cm.merge(n,{multipleValues:"same",prefix:a})):"object"==typeof e?cm.obj2URI(s,cm.merge(n,{prefix:a})):[a,encodeURIComponent(s)].join(n.valueConjunction),o.push(s)}}),cm.isEmpty(o)?null:o.join(n.itemConjunction))},cm.obj2FormData=function(e){var n=new FormData;return cm.forEach(e,function(e,t){n.append(t,e)}),n},cm.formData2Obj=function(e){var t={};return e.entries&&(e=e.entries())&&cm.forEach(e,function(e){t[e[0]]=e[1]}),t},cm.formData2URI=function(e){return cm.obj2URI(cm.formData2Obj(e))},cm.xml2arr=function(e){if(3===(e=9===e.nodeType?cm.firstEl(e):e).nodeType||4===e.nodeType){var t=cm.nextEl(e);if(!t)return e.nodeValue;e=t}if(1!==e.nodeType)return null;for(var n={},a=(n[e.tagName]={},e.childNodes),s=0,o=a.length;s<o;s++){var r=arguments.callee(a[s]);if("object"==typeof r)for(var i in r)n[e.tagName][i]?(n[e.tagName][i],n[e.tagName][i].push?n[e.tagName][i].push(r[i]):n[e.tagName][i]=[n[e.tagName][i],r[i]]):n[e.tagName][i]=r[i];else n[e.tagName]=r}return n[e.tagName]=o?n[e.tagName]:"",n},cm.responseInArray=function(e){for(var t=[],n=e.getElementsByTagName("response")[0].childNodes,a=0;n.length>a;a++)if(1===n[a].nodeType){for(var s=n[a].childNodes,o=[],r=0;s.length>r;r++)1===s[r].nodeType&&(o[s[r].tagName]=s[r].firstChild?s[r].firstChild.nodeValue:"");t.push(o)}return t},cm.createXmlHttpRequestObject=function(){return new XMLHttpRequest},cm.loadHashData=function(){var e=document.location.hash.replace("#","").split("&");return window.userRequest={},e.forEach(function(e){window.userRequest[e.split("=")[0]]=e.split("=")[1]}),!0},cm.reloadHashData=function(){var n="#";return cm.forEach(window.userRequest,function(e,t){n+=t+"="+e}),document.location.hash=n,!0},cm.createSvg=function(){var e=document.createElementNS("http://www.w3.org/2000/svg","svg");return e.setAttribute("xmlns","http://www.w3.org/2000/svg"),e.setAttribute("xmlns:xlink","http://www.w3.org/1999/xlink"),e.setAttribute("version","1.1"),e},cm._defineStack={},cm._defineExtendStack={},cm.defineHelper=function(n,e,a){var s=this;e=cm.merge({modules:[],require:[],params:{},events:[],extend:!1},e),s.build={constructor:a,_raw:cm.clone(e),_update:{},_name:{full:n,short:n.replace(".",""),split:n.split(".")},_className:n,_constructor:a,_modules:{},params:e.params,strings:e.strings},e.extend&&cm.getConstructor(e.extend,function(e,t){a.prototype=Object.create(e.prototype),s.build._inheritName=t,s.build._inherit=e,s.build._raw.modules=cm.merge(s.build._inherit.prototype._raw.modules,s.build._raw.modules),s.build._raw.events=cm.merge(s.build._inherit.prototype._raw.events,s.build._raw.events),cm._defineExtendStack[t]&&cm._defineExtendStack[t].push(n)}),cm.forEach(Mod,function(e,t){e._config&&e._config.predefine&&Mod.Extend._extend.call(s,t,e)}),cm.forEach(s.build._raw.modules,function(e){Mod[e]&&Mod.Extend._extend.call(s,e,Mod[e])}),cm.forEach(s.build,function(e,t){a.prototype[t]=e}),cm._defineExtendStack[n]||(cm._defineExtendStack[n]=[]),cm._defineStack[n]=a,cm.objectSelector(n,window,a)},cm.define=function(){var e=Function.prototype.call.bind(cm.defineHelper,arguments);return function(){e.apply(cm.defineHelper,arguments)}}(),cm.getConstructor=function(t,n){var e;return n=cm.isFunction(n)?n:function(){},cm.isUndefined(t)?(cm._debug&&cm.errorLog({type:"error",name:"cm.getConstructor",message:['Parameter "className" does not specified.'].join(" ")}),!1):"*"===t?(cm.forEach(cm._defineStack,function(e){n(e,t,e.prototype,e.prototype._inherit)}),cm._defineStack):(e=cm._defineStack[t])?(n(e,t,e.prototype,e.prototype._inherit),e):(cm._debug&&cm.errorLog({type:"attention",name:"cm.getConstructor",message:["Class",cm.strWrap(t,'"'),"is not defined."].join(" ")}),!1)},cm.isInstance=function(e,t){var n=!1;return cm.isString(t)&&(t=cm.getConstructor(t)),n=cm.isEmpty(e)||cm.isEmpty(t)?n:e instanceof t},cm.find=function(e,t,n,a,s){var o,r=[],i={};return a=cm.isFunction(a)?a:function(){},s=cm.merge({childs:!1}
1,s),e&&"*"!==e?(o=cm._defineStack[e])?o.prototype.findInStack?(r=cm.extend(r,o.prototype.findInStack(t,n,a)),s.childs&&cm._defineExtendStack[e]&&!i[e]&&(i[e]=!0,cm.forEach(cm._defineExtendStack[e],function(e){r=cm.extend(r,cm.find(e,t,n,a,s))}))):cm.errorLog({type:"error",name:"cm.find",message:["Class",cm.strWrap(e,'"'),"does not support Module Stack."].join(" ")}):cm.errorLog({type:"error",name:"cm.find",message:["Class",cm.strWrap(e,'"'),"does not exist."].join(" ")}):cm.forEach(cm._defineStack,function(e){e.prototype.findInStack&&(r=cm.extend(r,e.prototype.findInStack(t,n,a)))}),r},cm.Finder=function(t,n,a,s,o){function r(e){e.removeEvent(o.event,r),e.isAppropriateToStack(n,a,s)&&!o.multiple&&c&&i.remove(e._constructor)}var e,i=this,c=!1;i.remove=function(e){e?e.prototype.removeEvent(o.event,r):cm.getConstructor(t,function(e){e.prototype.removeEvent(o.event,r)})},s=cm.isFunction(s)?s:function(){},o=cm.merge({event:"onRender",multiple:!1,childs:!1},o),(e=cm.find(t,n,a,s,{childs:o.childs}))&&e.length&&!o.multiple||(c=!0,cm.getConstructor(t,function(e){e.prototype.addEvent(o.event,r)}))},cm.setParams=function(e,a){cm.getConstructor(e,function(e,t,n){n.setParams(a)})},cm.setMessages=cm.setStrings=function(e,a){cm.getConstructor(e,function(e,t,n){n.setMessages(a)})},cm.parseMessage=function(e,t){return cm._messageParser||cm.getConstructor("Com.MessageParser",e=>{cm._messageParser=new e}),cm._messageParser.parse(e,t)},cm.getMessage=cm.getString=function(e,a){var s;return cm.getConstructor(e,function(e,t,n){s=n.message(a)}),s},cm.getMessages=cm.getStrings=function(e,a){var s;return(cm.isUndefined(a)||cm.isEmpty(a))&&(a="*"),cm.getConstructor(e,function(e,t,n){s=n.messageObject(a)}),s},Mod.Extend={_config:{extend:!0,predefine:!0},_construct:function(){},_extend:function(e,t){let n=this;n.build._modules[e]||(t._config=cm.merge({extend:!1,predefine:!1,require:[],events:[]},t._config),cm.forEach(t._config.require,function(e){Mod[e]&&Mod.Extend._extend.call(n,e,Mod[e])}),t._config.extend&&cm.forEach(t,function(e,t){/^(_)/.test(t)||(n.build[t]=e)}),cm.isEmpty(t._config.events)||(n.build._raw.events=cm.extend(n.build._raw.events,t._config.events)),cm.isFunction(t._construct)?t._construct.call(n):cm.errorLog({type:"error",name:n.build._name.full,message:["Module",cm.strWrap(e,'"'),'does not have "_construct" method.'].join(" ")}),n.build._modules[e]=t)},extend:function(e,t){let n=this;t?e?n._modules[e]?cm.errorLog({type:"error",name:n._name.full,message:["Module with name",cm.strWrap(e,'"'),"already constructed."].join(" ")}):(t._config=cm.merge({extend:!1,predefine:!1,require:[],events:[]},t._config),cm.forEach(t._config.require,function(e){Mod[e]&&Mod.Extend._extend.call(n,e,Mod[e])}),t._config.extend&&cm.forEach(t,function(e,t){/^(_)/.test(t)||(cm._defineStack[n._name.full].prototype[t]=e)}),cm.isEmpty(t._config.events)||(cm._defineStack[n._name.full].prototype._raw.events=cm.extend(cm._defineStack[n._name.full].prototype._raw.events,t._config.events)),cm.isFunction(t._construct)?t._construct.call(n):cm.errorLog({type:"error",name:n._name.full,message:["Module",cm.strWrap(e,'"'),'does not have "_construct" method.'].join(" ")}),n._modules[e]=t):cm.errorLog({type:"error",name:n._name.full,message:"Module should have a name."}):cm.errorLog({type:"error",name:n._name.full,message:"Trying to extend the class by non-existing module."})}},Mod.Component={_config:{extend:!0,predefine:!0},_construct:function(){this.build._isComponent=!0,void 0===this.build.params.consoleLogErrors&&(this.build.params.consoleLogErrors=!0)},renderComponent:function(){let t=this;cm.forEach(t._modules,function(e){cm.isFunction(e._render)&&e._render.call(t)})},cloneComponent:function(t){var n=this,a=null;return cm.getConstructor(n._className,function(e){a=new e(cm.merge(n.params,t))}),a}},Mod.Params={_config:{extend:!0,predefine:!1,require:["Extend"],events:["onSetParams"]},_construct:function(){var e=this;e.build.params||(e.build.params={}),e.build._update.params||(e.build._update.params={}),e.build._inherit&&(e.build.params=cm.merge(e.build._inherit.prototype.params,e.build.params))},_render:function(){this._inherit&&(this.params=cm.merge(this._inherit.prototype.params,this.params))},setParams:function(e,t,n){let a=this;return t=!cm.isUndefined(t)&&t,n=!!cm.isUndefined(n)||n,a.params=cm.merge((t?a._raw:a).params,e),a._update=cm.clone(a._update),a._update.params=cm.merge(a._update.params,a.params),cm.forEach(a.params,function(e,t){switch(t){case"messages":case"strings":case"langs":cm.isFunction(a.setLangs)&&a.setLangs(e);break;default:switch(e){case"document.window":a.params[t]=window;break;case"document.html":cm.getDocumentHtml()&&(a.params[t]=cm.getDocumentHtml());break;case"document.body":document.body&&(a.params[t]=document.body);break;case"top.document.body":window.top.document.body&&(a.params[t]=window.top.document.body);break;case"document.head":cm.getDocumentHead()&&(a.params[t]=cm.getDocumentHead());break;default:/^cm._config./i.test(e)&&(a.params[t]=cm._config[e.replace("cm._config.","")]),/^@LESS./i.test(e)&&(a.params[t]=window.LESS[e.replace("@LESS.","")])}}}),n&&a._modules.Events&&a.triggerEvent("onSetParams"),a},getParams:function(e){return e?this.params[e]:this.params},getRawParams:function(e){return e?this._raw.params[e]:this._raw.params}}
1,Mod.Events={_config:{extend:!0,predefine:!1,require:["Extend"]},_construct:function(){let t=this;t.build.events={},cm.forEach(t.build._raw.events,function(e){t.build.events[e]=[]}),t.build.params.events||(t.build.params.events={}),t.build._inherit&&(t.build.params.events=cm.extend(t.build._inherit.prototype.params.events,t.build.params.events,!0),t.build.events=cm.extend(t.build._inherit.prototype.events,t.build.events,!0))},_render:function(){var e=this;e._inherit&&(e.params.events=cm.extend(e._inherit.prototype.params.events,e.params.events,!0),e.events=cm.extend(e._inherit.prototype.events,e.events,!0))},addEvent:function(e,t){var n=this;return n.events=cm.clone(n.events),n.events[e]?cm.isFunction(t)?n.events[e].push(t):cm.errorLog({name:n._name.full,message:["Handler of event",cm.strWrap(e,'"'),"must be a function."].join(" ")}):cm.errorLog({type:"attention",name:n._name.full,message:[cm.strWrap(e,'"'),"does not exists."].join(" ")}),n},addEvents:function(e){return e&&this.convertEvents(e),this},removeEvent:function(e,t){var n=this;return n.events=cm.clone(n.events),n.events[e]?cm.isFunction(t)?n.events[e]=n.events[e].filter(function(e){return e!==t}):cm.errorLog({name:n._name.full,message:["Handler of event",cm.strWrap(e,'"'),"must be a function."].join(" ")}):cm.errorLog({type:"attention",name:n._name.full,message:[cm.strWrap(e,'"'),"does not exists."].join(" ")}),n},removeAllEvent:function(e){var t=this;return t.events=cm.clone(t.events),t.events[e]?t.events=[]:cm.errorLog({type:"attention",name:t._name.full,message:[cm.strWrap(e,'"'),"does not exists."].join(" ")}),t},triggerEvent:function(e,t){var n,a=this,s=cm.clone(arguments);return(s[0]=a).events[e]?(n=cm.clone(a.events[e]),cm.forEach(n,function(e){e.apply(a,s)})):cm.errorLog({type:"attention",name:a._name.full,message:[cm.strWrap(e,'"'),"does not exists."].join(" ")}),a},hasEvent:function(e){return!!this.events[e]},convertEvents:function(e){let n=this;return cm.forEach(e,function(e,t){cm.isArray(e)?cm.forEach(e,function(e){n.addEvent(t,e)}):n.addEvent(t,e)}),n}},Mod.Langs={_config:{extend:!0,predefine:!1,require:["Extend"]},_construct:function(){this.build.strings||(this.build.strings={}),this.build.params.langs||(this.build.params.langs={})},_render:function(){this.strings=cm.merge(this.strings,this.params.langs)},lang:function(e,t,n){var a;return cm.isUndefined(e)||cm.isEmpty(e)?"":(a=this.getLang(e),cm.isUndefined(a)&&(a=e),a=cm.isObject(a)||cm.isArray(a)?cm.objectReplace(a,t):cm.strReplace(a,t),!cm.isUndefined(n)&&cm.isArray(a)?cm.plural(n,a):a)},message:function(){return this.lang.apply(this,arguments)},msg:function(){return this.lang.apply(this,arguments)},msgParse:function(t,n){if(!cm.isUndefined(t)&&!cm.isEmpty(t)){let e=this.getLang(t);return cm.isUndefined(e)&&(e=t),cm.parseMessage(e,n)}},getLang:function(e){var t,n;if(!cm.isUndefined(e)&&!cm.isEmpty(e))return t=cm.reducePath(n="*"===e?void 0:e,this.params.langs),(cm.isUndefined(t)||cm.isObject(t))&&(n=cm.reducePath(n,this.strings),t=cm.isObject(t)?cm.merge(n,t):n),this._inherit&&(cm.isUndefined(t)||cm.isObject(t))&&(n=this._inherit.prototype.getLang(e),t=cm.isObject(t)?cm.merge(n,t):n),t},getMessage:function(){return this.getLang.apply(this,arguments)},getMsg:function(){return this.getLang.apply(this,arguments)},langObject:function(e){var t=this.lang(e);return cm.isFunction(t)?t(e):cm.isObject(t)||cm.isArray(t)?t:{}},messageObject:function(){return this.langObject.apply(this,arguments)},msgObject:function(){return this.langObject.apply(this,arguments)},setLangs:function(e){var t=this;return cm.isObject(e)&&(cm.isFunction(t)?t.prototype.strings=cm.merge(t.prototype.strings,e):t.strings=cm.merge(t.strings,e)),t},setMessages:function(){return this.setLangs.apply(this,arguments)},setMsgs:function(){return this.setLangs.apply(this,arguments)}},Mod.DataConfig={_config:{extend:!0,predefine:!1,require:["Extend"]},_construct:function(){cm.isUndefined(this.build.params.configDataMarker)&&(this.build.params.configDataMarker="data-config")},getDataConfig:function(e,t){return cm.isNode(e)&&(t=t||this.params.configDataMarker,e=(e=e.getAttribute(t))&&cm.parseJSON(e))&&this.setParams(e),this},getNodeDataConfig:function(e,t){return cm.isNode(e)&&(t=t||this.params.configDataMarker,e=(e=e.getAttribute(t))&&cm.parseJSON(e))?e:{}}},Mod.DataNodes={_config:{extend:!0,predefine:!1,require:["Extend"]},_construct:function(){var e=this;e.build.params.nodes||(e.build.params.nodes={}),e.build.params.nodesDataMarker="data-node",e.build.params.nodesMarker=e.build._name.short,e.build.nodes||(e.build.nodes={}),e.build._inherit&&(e.build.params.nodes=cm.merge(e.build._inherit.prototype.params.nodes,e.build.params.nodes),e.build.nodes=cm.merge(e.build._inherit.prototype.nodes,e.build.nodes))},getDataNodes:function(e,t,n){var a=this,s={};return(e=cm.isUndefined(e)?document.body:e)&&(t=cm.isUndefined(t)?a.params.nodesDataMarker:t,s=(n=cm.isUndefined(n)?a.params.nodesMarker:n)?cm.getNodes(e,t)[n]||{}:cm.getNodes(e,t),a.nodes=cm.merge(a.nodes,s)),a.nodes=cm.merge(a.nodes,a.params.nodes),a},getDataNodesObject:function(e,t,n){return e=void 0===e?document.body:e,t=void 0===t?this.params.nodesDataMarker:t,(n=void 0===n?this.params.nodesMarker:n)?cm.getNodes(e,t)[n]||{}:cm.getNodes(e,t)}},Mod.Storage={_config:{extend:!0,predefine:!1,require:["Extend"]},_construct:function(){this.build.params.name||(this.build.params.name="")},storageGet:function(e,t){var n=this,t=cm.parseJSON(cm[t?"sessionStorageGet":"storageGet"](n._className))||{};return cm.isEmpty(n.params.name)?(cm.errorLog({type:"error",name:n._className,message:'Storage c
1annot be read because "name" parameter not provided.'}),null):!t[n.params.name]||cm.isUndefined(t[n.params.name][e])?(cm.errorLog({type:"attention",name:n._className,message:["Parameter",cm.strWrap(e,'"'),"does not exist or is not set in component with name",cm.strWrap(n.params.name,'"'),"."].join(" ")}),null):t[n.params.name][e]},storageRead:function(){return this.storageGet.apply(this,arguments)},storageGetAll:function(e){var t=this,e=cm.parseJSON(cm[e?"sessionStorageGet":"storageGet"](t._className))||{};return cm.isEmpty(t.params.name)?(cm.errorLog({type:"error",name:t._className,message:'Storage cannot be read because "name" parameter not provided.'}),{}):e[t.params.name]||(cm.errorLog({type:"attention",name:t._className,message:"Storage is empty."}),{})},storageReadAll:function(){return this.storageGetAll.apply(this,arguments)},storageSet:function(e,t,n){var a=this,s=cm.parseJSON(cm[n?"sessionStorageGet":"storageGet"](a._className))||{};return cm.isEmpty(a.params.name)?(cm.errorLog({type:"error",name:a._className,message:'Storage cannot be written because "name" parameter not provided.'}),{}):(s[a.params.name]||(s[a.params.name]={}),s[a.params.name][e]=t,cm[n?"sessionStorageSet":"storageSet"](a._className,JSON.stringify(s)),s[a.params.name])},storageWrite:function(){return this.storageSet.apply(this,arguments)},storageSetAll:function(e,t){var n=this,a=cm.parseJSON(cm[t?"sessionStorageGet":"storageGet"](n._className))||{};return cm.isEmpty(n.params.name)?(cm.errorLog({type:"error",name:n._className,message:'Storage cannot be written because "name" parameter not provided.'}),{}):(a[n.params.name]=e,cm[t?"sessionStorageSet":"storageSet"](n._className,JSON.stringify(a)),a[n.params.name])},storageWriteAll:function(){return this.storageSetAll.apply(this,arguments)},storageRemove:function(e,t){var n=this,a=cm.parseJSON(cm[t?"sessionStorageGet":"storageGet"](n._className))||{};return cm.isEmpty(n.params.name)?(cm.errorLog({type:"error",name:n._className,message:'Storage cannot be written because "name" parameter not provided.'}),{}):(a[n.params.name]||(a[n.params.name]={}),delete a[n.params.name][e],cm[t?"sessionStorageSet":"storageSet"](n._className,JSON.stringify(a)),a[n.params.name])},storageClear:function(){return this.storageRemove.apply(this,arguments)}},Mod.Callbacks={_config:{extend:!0,predefine:!1,require:["Extend"]},_construct:function(){var e=this;e.build.params.callbacks||(e.build.params.callbacks={}),e.build.callbacks={},e.build._callbacks={},e.build._inherit&&(e.build.params.callbacks=cm.extend(e.build._inherit.prototype.params.callbacks,e.build.params.callbacks),e.build.callbacks=cm.extend(e.build._inherit.prototype.callbacks,e.build.callbacks))},_render:function(){var e=this;e._inherit&&(e.params.callbacks=cm.merge(e._inherit.prototype.params.callbacks,e.params.callbacks),e.callbacks=cm.extend(e._inherit.prototype.callbacks,e.callbacks))},callbacksProcess:function(){let n=this;return n.callbacks=cm.clone(n.callbacks),cm.forEach(n.callbacks,function(e,t){n._callbacks[t]=e}),cm.forEach(n.params.callbacks,function(e,t){n.callbacks[t]=e}),n},callbacksRestore:function(){let n=this;return n.callbacks=cm.clone(n.callbacks),cm.forEach(n._callbacks,function(e,t){n.callbacks[t]=e}),n}},Mod.Stack={_config:{extend:!0,predefine:!1,require:["Extend"]},_construct:function(){this.build.params.name||(this.build.params.name=""),this.build._stack=[]},addToStack:function(e){var t=this,n=cm.isNumber(t.params.name)?t.params.name.toString():t.params.name;return t._stackItem?cm.isNode(e)&&(t._stackItem.node=e):(t._stackItem={name:n,node:e,class:t,classInstance:t,className:t._name.full},t._stack.push(t._stackItem)),t},removeFromStack:function(){return cm.arrayRemove(this._stack,this._stackItem),this._stackItem=null,this},isAppropriateToStack:function(e,t,n){var a=this._stackItem;return e=cm.isNumber(e)?e.toString():e,n=cm.isFunction(n)?n:function(){},!(!cm.isEmpty(e)&&a.name!==e||!cm.isEmpty(t)&&!cm.isParent(t,a.node,!0)||(n(a.classInstance,a,e),0))},findInStack:function(t,n,a){var s=[];return t=cm.isNumber(t)?t.toString():t,a=cm.isFunction(a)?a:function(){},cm.forEach(this._stack,function(e){!cm.isEmpty(t)&&e.name!==t||!cm.isEmpty(n)&&!cm.isParent(n,e.node,!0)||(s.push(e),a(e.classInstance,e,t))}),s},getStackNode:function(){return this._stackItem?this._stackItem.node:null}},Mod.Structure={_config:{extend:!0,predefine:!1,require:["Extend"]},_construct:function(){cm.isUndefined(this.build.params.renderStructure)&&(this.build.params.renderStructure=!0),cm.isUndefined(this.build.params.embedStructure)&&(this.build.params.embedStructure="append")},embedStructure:function(e,t){var n=this;switch(n.params.embedStructure){case"replace":n.replaceStructure(e);break;case"append":case"last":n.appendStructure(e,"insertLast",t);break;
1case"prepend":case"first":n.appendStructure(e,"insertFirst",t)}return n},appendStructure:function(e,t,n){return(n=n||this.params.container||this.params.node)&&cm[t](e,n),this},replaceStructure:function(e,t){var n=this;return(t=t||n.params.container)?n.params.container===n.params.node?cm.insertBefore(e,n.params.node):n.params.container.appendChild(e):n.params.node&&cm.insertBefore(e,n.params.node),cm.remove(n.params.node),n}},Part.Menu=(()=>{function s(e,t){e=cm.getEventTarget(e),cm.isParent(t.drop,e,!0)||c(t)}function o(e,t){var n;cm._pageSize.winWidth>cm._config.adaptiveFrom&&!t._show&&(t._interval&&clearTimeout(t._interval),t._interval=setTimeout(function(){t._show=!1},500),t._show=!0,n=cm.getEventTarget(e),cm.isParent(t.drop,n,!0)||(cm.isClass(t.node,"is-show")?cm.removeClass(t.node,"is-show"):(cm.preventDefault(e),cm.addClass(t.node,"is-show"))))}function r(e,t){e=cm.getEventTarget(e),cm.isParent(t.node,e,!0)||cm.removeClass(t.node,"is-show")}var a,i=[],c=function(e){a=cm.getPageSize();var t=e.drop.offsetWidth,n=cm.getX(e.node);t+(e.node.parentNode&&cm.isClass(e.node.parentNode,"pt__menu-dropdown")?e.node.parentNode.offsetWidth:0)+n>=a.winWidth?cm.replaceClass(e.drop,"pull-left","pull-right"):cm.replaceClass(e.drop,"pull-right","pull-left")};return function(e){e=cm.isUndefined(e)?document.body:e;var n,e=cm.getByClass("pt__menu",e),a=[];cm.forEach(e,function(e){var t;cm.inArray(i,e)||cm.hasClass(e,"is-manual")||((n={node:e,drop:cm.getByClass("pt__menu-dropdown",e)[0]}).drop&&(t=n,cm.addEvent(t.node,"pointerenter",function(e){s(e,t)}),cm.addEvent(t.node,"touchenter",function(e){s(e,t)}),cm.addEvent(t.node,"mouseover",function(e){s(e,t)}),cm.addEvent(t.node,"pointerdown",function(e){o(e,t)}),cm.addEvent(t.node,"touchstart",function(e){o(e,t)}),cm.addEvent(t.node,"mousedown",function(e){o(e,t)}),cm.addEvent(document.body,"pointerdown",function(e){r(e,t)}),cm.addEvent(document.body,"touchstart",function(e){r(e,t)}),cm.addEvent(document.body,"mousedown",function(e){r(e,t)}),c(t)),a.push(n),i.push(e))}),cm.addEvent(window,"resize",function(){cm.forEach(a,function(e){c(e)})})}})(),Part.Autoresize=(()=>{var t,n=[];function a(e){cm.inArray(n,e)||(cm.isNode(e)&&"textarea"===e.tagName.toLowerCase()&&(cm.addEvent(e,"input",s),cm.addEvent(e,"change",s),cm.addEvent(e,"focus",s),cm.addEvent(e,"blur",s),cm.customEvent.add(e,"redraw",s)),n.push(e))}function s(e){e=e.currentTarget||e.target;e.style.height="0px",e.style.height=[e.scrollHeight+(e.offsetHeight-e.clientHeight),"px"].join("")}return function(e){e=cm.isUndefined(e)?document.body:e,t=cm.getByClass("cm-autoresize",e),cm.forEach(t,a)}})(),cm._breakpoints=cm.getBreakpoints(),cm._breakpoint=cm.getBreakpoint(),cm.init=function(){function e(){animFrame(function(){l(),m()})}function t(){l(),d(),m(),p()}function n(e){cm._clientPosition=cm.getEventClientPosition(e)}var a,s,o,r,i,c,l=function(){cm._pageSize=cm.getPageSize(),s=JSON.stringify(cm._pageSize),a!==s&&(a=s,cm.hook.trigger(window,"pageSizeChange",{pageSize:cm._pageSize}),cm.customEvent.trigger(window,"pageSizeChange",{direction:"all",self:!0,pageSize:cm._pageSize}))},d=function(){cm._breakpoints=cm.getBreakpoints(),cm._breakpoint=cm.getBreakpoint()},m=function(){cm._scrollSize=cm.getScrollBarSize(),o!==cm._scrollSize&&(o=cm._scrollSize,cm.toggleClass(cm.getDocumentHtml(),"is-scrollbar-visible",0<o),cm.hook.trigger("scrollSizeChange",{scrollSize:cm._scrollSize}),cm.customEvent.trigger(window,"scrollSizeChange",{direction:"all",self:!0,scrollSize:cm._scrollSize}))},p=(c=cm.getDocumentHtml(),function(){r=cm._pageSize.winWidth,i=cm._pageSize.height,cm.removeClass(c,["is",cm._deviceType].join("-")),cm.removeClass(c,["is",cm._deviceOrientation].join("-")),cm._adaptive=r<=cm._config.adaptiveFrom,cm._deviceOrientation=r<i?"portrait":"landscape",r>=cm._breakpoints.desktop&&(cm._deviceType="desktop"),r<=cm._breakpoints.desktopDown&&(cm._deviceType="tablet"),r<=cm._breakpoints.mobileDown&&(cm._deviceType="mobile"),cm.addClass(c,["is",cm._deviceType].join("-")),cm.addClass(c,["is",cm._deviceOrientation].join("-"))});cm._isDocumentReady=!0,cm._messageParser||cm.getConstructor("Com.MessageParser",e=>{cm._messageParser=new e}),void 0!==Com.UA&&Com.UA.setBrowserClass(),l(),d(),m(),p(),cm.addEvent(document,"touchstart",()=>{},!1),cm.addEvent(window,"mousemove",n),cm.addEvent(window,"resize",t),setInterval(e,50)},cm.load=function(){cm._isDocumentLoad=!0,cm._config.redrawOnLoad&&cm.customEvent.trigger(document.body,"redraw",{direction:"child",self:!1})},cm.onReady(cm.init,!1),cm.onLoad(cm.load,!1),cm.diff=function(e,t){if(!t||"[object Object]"!==Object.prototype.toString.call(t))return e;var n,a={};for(n in e)e.hasOwnProperty(n)&&cm.diffCompare(a,e[n],t[n],n);for(n in t)!t.hasOwnProperty(n)||e[n]||e[n]===t[n]||(a[n]=t[n]);return a},cm.diffCompare=function(e,t,n,a){var s=Object.prototype.toString.call(t),o=Object.prototype.toString.call(n);
1"[object Undefined]"===o?e[a]=null:s!==o?e[a]=n:"[object Object]"===s?(o=cm.diff(t,n),0<Object.keys(o).length&&(e[a]=o)):"[object Array]"===s?cm.diffArraysMatch(t,n)||(e[a]=n):"[object Function]"===s?t.toString()!==n.toString()&&(e[a]=n):t!==n&&(e[a]=n)},cm.diffArraysMatch=function(e,t){if(e.length!==t.length)return!1;for(var n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0},cm.define("Com.AbstractController",{modules:["Params","Events","Langs","Structure","DataConfig","DataNodes","Storage","Callbacks","Stack"],events:["onConstruct","onConstructStart","onConstructProcess","onConstructEnd","onInitComponentsStart","onInitComponentsEnd","onGetLESSVariables","onGetLESSVariablesStart","onGetLESSVariablesProcess","onGetLESSVariablesEnd","onValidateParams","onValidateParamsStart","onValidateParamsProcess","onValidateParamsEnd","onRenderStart","onRender","onRenderEnd","onBeforeRender","onAfterRender","onRenderViewModel","onDestruct","onDestructStart","onDestructProcess","onDestructEnd","onRedraw","onResize","onScroll","onScrollUpdate","onSetEvents","onSetEventsStart","onSetEventsProcess","onSetEventsEnd","onUnsetEvents","onUnsetEventsStart","onUnsetEventsProcess","onUnsetEventsEnd","onSetCustomEvents","onUnsetCustomEvents","onRenderViewStart","onRenderViewProcess","onRenderViewEnd"],params:{node:null,container:null,name:"",getDataNodes:!0,getDataConfig:!0,embedStructure:"append",renderStructure:!0,embedStructureOnRender:!0,redrawOnRender:"immediately",redrawOnResize:"frame",removeOnDestruct:!1,destructOnRemove:!0,className:"",controllerEvents:!1,customEvents:!0,resizeEvent:!0,resizeNode:window,scrollEvent:!1,scrollNode:window,collector:null,constructCollector:!1,destructCollector:!1}},function(e){var t=this;t.isDestructed=!1,t.isConstructed=!0,t.nodes={},t.components={},t.construct(e)}),cm.getConstructor("Com.AbstractController",function(e,t,n,a){n.construct=function(e){var t=this;return t.isConstructed=!1,t.scrollTickingHandler=cm.ticking(),t.redrawHandler=t.redraw.bind(t),t.resizeHandler=t.resize.bind(t),t.scrollHandler=t.scroll.bind(t),t.destructHandler=t.destruct.bind(t),t.constructCollectorHandler=t.constructCollector.bind(t),t.destructCollectorHandler=t.destructCollector.bind(t),t.params.controllerEvents&&t.bindControllerEvents(),t.triggerEvent("onConstructStart"),t.renderComponent(),t.initComponents(),t.getLESSVariables(),t.setParams(e),t.convertEvents(t.params.events),t.params.getDataNodes&&t.getDataNodes(t.params.node),t.params.getDataConfig&&t.getDataConfig(t.params.node),t.callbacksProcess(),t.validateParams(),t.addToStack(t.params.node),t.triggerEvent("onConstruct"),t.triggerEvent("onRenderStart"),t.triggerEvent("onBeforeRender"),t.render(),t.triggerEvent("onAfterRender"),t.triggerEvent("onConstructProcess"),t.addToStack(t.nodes.container),t.setEvents(),t.isConstructed=!0,t.triggerEvent("onRender"),t.triggerEvent("onRenderEnd"),t.triggerEvent("onConstructEnd"),t},n.destruct=function(){var e=this;return e.isDestructed||(e.isConstructed=!1,e.isDestructed=!0,e.triggerEvent("onDestructStart"),e.triggerEvent("onDestruct"),e.triggerEvent("onDestructProcess"),cm.customEvent.trigger(e.nodes.container,"destruct",{direction:"child",self:!1}),e.unsetEvents(),e.params.removeOnDestruct&&cm.remove(e.nodes.container),e.removeFromStack(),e.triggerEvent("onDestructEnd")),e},n.remove=function(){return this.params.destructOnRemove&&this.destruct(),cm.remove(this.nodes.container),this},n.redraw=function(e,t){let n=this;switch(t=cm.merge({direction:"child",self:!0},t),e){case"full":cm.customEvent.trigger(n.nodes.container,"redraw",t);break;case"immediately":n.triggerEvent("onRedraw");break;default:cm.onSchedule(()=>n.triggerEvent("onRedraw"))}return n},n.resize=function(e){let t=this;return t.params.redrawOnResize&&t.redraw(t.params.redrawOnResize),"immediately"===e?t.triggerEvent("onResize"):animFrame(()=>t.triggerEvent("onResize")),t},n.scroll=function(e){var t=this;return t.triggerEvent("onScroll"),"immediately"===e?t.scrollUpdate():t.scrollTickingHandler(t.scrollUpdate.bind(t)),t},n.scrollUpdate=function(){this.triggerEvent("onScrollUpdate")},n.bindControllerEvents=function(){let t=this;return cm.forEach(t._raw.events,e=>{t[e]||(t[e]=function(){}),t[e+"Handler"]||(t[e+"Handler"]=t[e].bind(t)),t.addEvent(e,t[e+"Handler"])}),t},n.initComponents=function(){return this.triggerEvent("onInitComponentsStart"),this.triggerEvent("onInitComponentsEnd"),this},n.getLESSVariables=function(){var e=this;return e.triggerEvent("onGetLESSVariablesStart"),e.triggerEvent("onGetLESSVariables"),e.triggerEvent("onGetLESSVariablesProcess"),e.triggerEvent("onGetLESSVariablesEnd"),e},n.validateParams=function(){return this.triggerEvent("onValidateParamsStart"),this.validateParamsHandler(),this.triggerEvent("onValidateParamsEnd"),this}
1,n.validateParamsHandler=function(){this.triggerEvent("onValidateParams"),this.triggerEvent("onValidateParamsProcess")},n.render=function(){var e=this;return e.params.renderStructure&&e.renderView(),e.setAttributes(),e.renderViewModel(),e.params.embedStructureOnRender&&e.appendView(),e},n.renderView=function(){var e=this;return e.triggerEvent("onRenderViewStart"),e.nodes.container=cm.node("div",{classes:"com__abstract"}),e.triggerEvent("onRenderViewProcess"),e.triggerEvent("onRenderViewEnd"),e},n.renderViewModel=function(){return this.triggerEvent("onRenderViewModel"),this},n.appendView=function(){var e=this;return e.embedStructure(e.nodes.container),!0===e.params.redrawOnRender?e.redraw():cm.isString(e.params.redrawOnRender)&&e.redraw(e.params.redrawOnRender),e},n.setAttributes=function(){return cm.addClass(this.nodes.container,this.params.className),this},n.setEvents=function(){return this.triggerEvent("onSetEventsStart"),this.setEventsHandler(),this.triggerEvent("onSetEventsEnd"),this},n.setEventsHandler=function(){var e=this;e.params.resizeEvent&&cm.addEvent(e.params.resizeNode,"resize",e.resizeHandler),e.params.scrollEvent&&cm.addEvent(e.params.scrollNode,"scroll",e.scrollHandler),e.triggerEvent("onSetEvents"),e.triggerEvent("onSetEventsProcess"),e.params.customEvents&&(cm.customEvent.add(e.getStackNode(),"redraw",e.redrawHandler),cm.customEvent.add(e.getStackNode(),"destruct",e.destructHandler),e.triggerEvent("onSetCustomEvents"))},n.unsetEvents=function(){return this.triggerEvent("onUnsetEventsStart"),this.unsetEventsHandler(),this.triggerEvent("onUnsetEventsEnd"),this},n.unsetEventsHandler=function(){var e=this;e.params.resizeEvent&&cm.removeEvent(e.params.resizeNode,"resize",e.resizeHandler),e.params.scrollEvent&&cm.removeEvent(e.params.scrollNode,"scroll",e.scrollHandler),e.triggerEvent("onUnsetEvents"),e.triggerEvent("onUnsetEventsProcess"),e.params.customEvents&&(cm.customEvent.remove(e.getStackNode(),"redraw",e.redrawHandler),cm.customEvent.remove(e.getStackNode(),"destruct",e.destructHandler),e.triggerEvent("onUnsetCustomEvents"))},n.constructCollector=function(t){var e=this;return t=cm.isUndefined(t)?e.getStackNode():t,e.params.constructCollector&&(e.params.collector?e.params.collector.construct(t):cm.find("Com.Collector",null,null,e=>e.construct(t))),e},n.destructCollector=function(t){var e=this;return t=cm.isUndefined(t)?e.getStackNode():t,e.params.destructCollector&&(e.params.collector?e.params.collector.destruct(t):cm.find("Com.Collector",null,null,e=>e.destruct(t))),e}}),cm.define("Com.AbstractContainer",{extend:"Com.AbstractController",events:["onOpen","onOpenEnd","onCloseStart","onClose","onOpenPlaceholder","onOpenPlaceholderEnd","onClosePlaceholderStart","onClosePlaceholder","onRenderControllerStart","onRenderControllerProcess","onRenderController","onRenderControllerEnd","onRenderPlaceholderStart","onRenderPlaceholderProcess","onRenderPlaceholderEnd","onRenderPlaceholderViewStart","onRenderPlaceholderViewProcess","onRenderPlaceholderViewEnd"],params:{embedStructure:"none",controllerEvents:!0,preventDefault:!0,stopPropagation:!1,constructor:null,constructorParams:{},params:{},placeholder:!1,placeholderConstructor:null,placeholderParams:{},destructOnClose:!0,openOnConstruct:!1},strings:{title:"Container",close:"Close",save:"Save",help:""}},function(e){Com.AbstractController.apply(this,arguments)}),cm.getConstructor("Com.AbstractContainer",function(e,t,n,a){n.construct=function(){var e=this;e.hasOpen=!1,e.targetNode=null,e.openHandler=e.open.bind(e),e.closeHandler=e.close.bind(e),e.afterOpenControllerHandler=e.afterOpenController.bind(e),e.afterOpenControllerEndHandler=e.afterOpenControllerEnd.bind(e),e.afterCloseControllerStartHandler=e.afterCloseControllerStart.bind(e),e.afterCloseControllerHandler=e.afterCloseController.bind(e),e.afterOpenPlaceholderHandler=e.afterOpenPlaceholder.bind(e),e.afterOpenPlaceholderEndHandler=e.afterOpenPlaceholderEnd.bind(e),e.afterClosePlaceholderStartHandler=e.afterClosePlaceholderStart.bind(e),e.afterClosePlaceholderHandler=e.afterClosePlaceholder.bind(e),a.prototype.construct.apply(e,arguments)},n.onDestructProcess=function(){this.destructPlaceholder(),this.destructController()},n.validateParams=function(){var e=this;e.triggerEvent("onValidateParamsStart"),e.triggerEvent("onValidateParams"),e.triggerEvent("onValidateParamsProcess"),e.params.constructorParams=cm.merge(e.params.constructorParams,e.params.params),e.params.constructorParams=cm.merge(e.params.constructorParams,{node:e.params.node,container:e.params.container}),e.params.params=e.params.constructorParams,e.triggerEvent("onValidateParamsEnd")},n.open=function(e){var t=this;return e&&(t.params.preventDefault&&cm.preventDefault(e),t.params.stopPropagation)&&cm.stopPropagation(e),t.params.placeholder?t.openPlaceholder():t.openController(),t},n.close=function(e){var t=this;return e&&(t.params.preventDefault&&cm.preventDefault(e),t.params.stopPropagation)&&cm.stopPropagation(e),t.params.placeholder?t.closePlaceholder():t.closeController(),t},n.isOpen=function(){return this.wasOpen}
1,n.getController=function(){return this.components.controller},n.getPlaceholder=function(){return this.components.placeholder},n.render=function(){var e=this;e.nodes.button?e.setTarget(e.nodes.button):e.setTarget(e.params.node),e.params.openOnConstruct&&e.open()},n.setTarget=function(e){var t=this;return t.targetNode&&(cm.click.remove(t.targetNode,t.openHandler),t.targetNode.removeAttribute("aria-haspopup","dialog"),t.targetNode=null),cm.isNode(e)&&(t.targetNode=e,t.targetNode.setAttribute("aria-haspopup","dialog"),cm.click.add(e,t.openHandler)),t},n.setControllerParams=function(e){var t=this;return t.params.constructorParams=cm.merge(t.params.constructorParams,e),t.components.controller&&t.components.controller.setParams(e),t},n.renderController=function(){var t=this;cm.getConstructor(t.params.constructor,function(e){t.triggerEvent("onRenderControllerStart",arguments),t.renderControllerView(),t.components.controller=t.constructController(e),t.triggerEvent("onRenderControllerProcess",t.components.controller),t.renderControllerEvents(),t.triggerEvent("onRenderController",t.components.controller),t.triggerEvent("onRenderControllerEnd",t.components.controller)})},n.renderControllerView=function(){},n.constructController=function(e){return new e(this.constructControllerParams(this.params.constructorParams))},n.constructControllerParams=function(e){var t=this;return cm.merge(e,{opener:t,container:t.params.placeholder?t.nodes.placeholder.content:t.params.container,content:t.params.constructorParams.content||t.params.content,events:t.constructControllerEvents()})},n.constructControllerEvents=function(){return{}},n.renderControllerEvents=function(){var e=this;e.components.controller.addEvent("onOpen",e.afterOpenControllerHandler),e.components.controller.addEvent("onOpenEnd",e.afterOpenControllerEndHandler),e.components.controller.addEvent("onCloseStart",e.afterCloseControllerStartHandler),e.components.controller.addEvent("onClose",e.afterCloseControllerHandler)},n.destructController=function(){this.components.controller&&this.components.controller.destruct&&this.components.controller.destruct()},n.openController=function(){var e=this;e.components.controller&&!e.components.controller.isDestructed||e.renderController(),e.components.controller&&e.components.controller.open?e.components.controller.open():(e.afterOpenController(),e.afterOpenControllerEnd())},n.closeController=function(){var e=this;e.components.controller&&e.components.controller.close?e.components.controller.close():(e.afterCloseControllerStart(),e.afterCloseController())},n.afterOpenController=function(){this.wasOpen=!0,this.triggerEvent("onOpen",this.components.controller)},n.afterOpenControllerEnd=function(){this.triggerEvent("onOpenEnd",this.components.controller)},n.afterCloseControllerStart=function(){this.triggerEvent("onCloseStart",this.components.controller)},n.afterCloseController=function(){var e=this;e.wasOpen=!1,e.params.destructOnClose&&e.destructController(),e.triggerEvent("onClose",e.components.controller)},n.setPlaceholderParams=function(e){var t=this;return t.params.placeholderParams=cm.merge(t.params.placeholderParams,e),t.components.placeholder&&t.components.placeholder.setParams(e),t},n.renderPlaceholder=function(){var t=this;cm.getConstructor(t.params.placeholderConstructor,function(e){t.triggerEvent("onRenderPlaceholderStart",arguments),t.renderPlaceholderView(),t.components.placeholder=t.constructPlaceholder(e),t.renderPlaceholderButtons(),t.triggerEvent("onRenderPlaceholderProcess",t.components.placeholder),t.renderPlaceholderEvents(),t.triggerEvent("onRenderPlaceholderEnd",t.components.placeholder)})},n.constructPlaceholder=function(e){return new e(cm.merge(this.params.placeholderParams,{opener:this,content:this.nodes.placeholder}))},n.renderPlaceholderView=function(){var e=this;e.triggerEvent("onRenderPlaceholderViewStart"),e.nodes.placeholder={},e.nodes.placeholder.title=e.renderPlaceholderTitle(),e.nodes.placeholder.content=cm.node("div",{classes:"com__container__content"}),e.nodes.placeholder.help=e.lang("help"),e.triggerEvent("onRenderPlaceholderViewProcess"),e.triggerEvent("onRenderPlaceholderViewEnd")},n.renderPlaceholderTitle=function(){return cm.textNode(this.lang("title"))},n.renderPlaceholderButtons=function(){this.components.placeholder.addButton({name:"close",label:this.lang("close"),classes:"button-primary",callback:this.closeHandler})},n.renderPlaceholderEvents=function(){var e=this;e.components.placeholder.addEvent("onOpen",e.afterOpenPlaceholderHandler),e.components.placeholder.addEvent("onOpenEnd",e.afterOpenPlaceholderEndHandler),e.components.placeholder.addEvent("onCloseStart",e.afterClosePlaceholderStartHandler),e.components.placeholder.addEvent("onClose",e.afterClosePlaceholderHandler)},n.destructPlaceholder=function(){this.components.placeholder&&this.components.placeholder.destruct&&this.components.placeholder.destruct()},n.openPlaceholder=function(){var e=this;e.components.placeholder&&!e.components.placeholder.isDestructed||e.renderPlaceholder(),e.components.placeholder&&e.components.placeholder.open?e.components.placeholder.open():(e.afterOpenPlaceholder(),e.afterOpenPlaceholderEnd())},n.closePlaceholder=function(){var e=this;e.components.placeholder&&e.components.placeholder.close?e.components.placeholder.close():(e.afterClosePlaceholderStart(),e.afterClosePlaceholder())},n.afterOpenPlaceholder=function(){this.openController(),this.constructCollector(),this.triggerEvent("onOpenPlaceholder",this.components.placeholder)},n.afterOpenPlaceholderEnd=function(){this.triggerEvent("onOpenPlaceholderEnd",this.components.placeholder)},n.afterClosePlaceholderStart=function(){this.triggerEvent("onClosePlaceholderStart",this.components.placeholder)},n.afterClosePlaceholder=function(){var e=this;e.closeController(),e.params.destructOnClose&&(e.destructPlaceholder(),e.destructCollector()),e.triggerEvent("onClosePlaceholder",e.components.placeholder)}}),cm.define("Com.AbstractInput",{extend:"Com.AbstractController",events:["onSet","onSelect","onInput","onChange","onClear","onReset","onDisable","onEnable","onRenderContent","onRenderContentStart","onRenderContentProcess","onRenderContentEnd"],params:{embedStructure:"replace",renderStructure:!0,renderHiddenContent:!0,renderStructureContent:!0,hiddenType:"hidden",value:"",defaultValue:"",isValueOption:!1,isValueObject:!1,allowEmptyText:!1,id:"",title:"",placeholder:"",autocomplete:null,ariaLabel:"",disabled:!1,readOnly:!1,checked:null,className:"",contentClassName:"",adaptive:!0,ui:!0,size:"full",justify:"left",required:!1,minLength:0,maxLength:0,limitMaxLength:!0,min:0,max:0,setHiddenInput:!0,setContentInput:!0},strings:{required:"This field is required."}},function(){Com.AbstractController.apply(this,arguments)}),cm.getConstructor("Com.AbstractInput",function(e,t,n,a){n.construct=function(e){var t=this;t.nodes={},t.components={},t.previousValue=null,t.value=null,t.valueText=null,t.valueOption=null,t.rawValue=null,t.tempRawValue=null,t.disabled=!1,t.setHandler=t.set.bind(t),t.getHandler=t.get.bind(t),t.clearHandler=t.clear.bind(t),t.enableHandler=t.enable.bind(t),t.disableHandler=t.disable.bind(t),t.clearEventHandler=t.clearEvent.bind(t),t.setActionHandler=t.setAction.bind(t),t.selectActionHandler=t.selectAction.bind(t),t.afterRe
1nderHandler=t.afterRender.bind(t),t.addEvent("onAfterRender",t.afterRenderHandler),a.prototype.construct.apply(t,arguments)},n.set=function(e,t){return t=!!cm.isUndefined(t)||t,this.selectAction(e,t),this.setAction(e,t),this.changeAction(t),this},n.get=function(){return this.value},n.getText=function(){return this.valueText},n.getJSON=function(){return cm.stringifyJSON(this.value)},n.getRaw=function(){return this.rawValue},n.getValueOption=function(){return this.valueOption},n.getContainer=function(){return this.nodes.container},n.getContent=function(){return this.nodes.content},n.reset=n.clear=function(e){var t=this;return t.isDestructed||((e=!!cm.isUndefined(e)||e)&&t.triggerEvent("onClear"),e&&t.triggerEvent("onReset"),t.set(t.params.defaultValue,e)),t},n.enable=function(){var e=this;return e.disabled&&(e.disabled=!1,cm.removeClass(e.nodes.container,"disabled"),cm.removeClass(e.nodes.contentContainer,"disabled"),e.triggerEvent("onEnable")),e},n.disable=function(){var e=this;return e.disabled||(e.disabled=!0,cm.addClass(e.nodes.container,"disabled"),cm.addClass(e.nodes.contentContainer,"disabled"),e.triggerEvent("onDisable")),e},n.clearEvent=function(e){return cm.preventDefault(e),this.clear(),this},n.validateParams=function(){var e=this;return e.triggerEvent("onValidateParamsStart"),cm.isNode(e.params.node)&&(e.params.id=e.params.node.getAttribute("id")||e.params.id,e.params.title=e.params.node.getAttribute("title")||e.params.title,e.params.name=e.params.node.getAttribute("name")||e.params.name,e.params.disabled=e.params.node.disabled||e.params.disabled,e.params.readOnly=e.params.node.readOnly||e.params.readOnly,e.params.checked=e.params.node.checked||e.params.checked,e.params.required=e.params.node.required||e.params.required,e.params.minLength=e.params.node.getAttribute("minlength")||e.params.minLength,e.params.maxLength=e.params.node.getAttribute("maxlength")||e.params.maxLength,e.params.min=e.params.node.getAttribute("min")||e.params.min,e.params.max=e.params.node.getAttribute("max")||e.params.max,e.params.placeholder=e.params.node.getAttribute("placeholder")||e.params.placeholder,e.params.autocomplete=e.params.node.getAttribute("autocomplete")||e.params.autocomplete,e.params.ariaLabel=e.params.node.getAttribute("aria-label")||e.params.ariaLabel),e.triggerEvent("onValidateParams"),e.triggerEvent("onValidateParamsProcess"),e.validateParamsValue(),e.triggerEvent("onValidateParamsEnd"),e},n.validateParamsValue=function(){var e,t,n=this;cm.isNode(n.params.node)&&(e=n.params.node.getAttribute("data-value"),t=n.params.node.getAttribute("value"),cm.isEmpty(t)&&(t=n.params.node.value),cm.isEmpty(e)||!n.params.isValueOption&&!n.params.isValueObject||(t=cm.parseJSON(e)),n.params.value=cm.isEmpty(t)?n.params.value:t),n.params.value=cm.isEmpty(n.params.value)?n.params.defaultValue:n.params.value},n.afterRender=function(){var e=this;return e.set(e.params.value,!1),e.params.disabled&&e.disable(),e},n.renderView=function(){var e=this;return e.triggerEvent("onRenderViewStart"),e.nodes.container=cm.node("div",{class:"com__input"}),e.nodes.hiddenContainer=e.renderHiddenContent(),e.nodes.hidden=e.nodes.hiddenContent.input,e.params.renderHiddenContent&&cm.appendChild(e.nodes.hiddenContainer,e.nodes.container),e.params.renderStructureContent?(e.nodes.contentContainer=e.renderContent(),cm.appendChild(e.nodes.contentContainer,e.nodes.container)):e.nodes.contentContainer=e.nodes.container,e.triggerEvent("onRenderViewProcess"),e.triggerEvent("onRenderViewEnd"),e},n.renderHiddenContent=function(){var e={};return this.nodes.hiddenContent=e,"textarea"===this.params.hiddenType?e.container=e.input=cm.node("textarea",{class:"display-none"}):e.container=e.input=cm.node("input",{type:"hidden"}),e.container},n.renderContent=function(){var e=this,t={};return e.nodes.content=t,e.triggerEvent("onRenderContentStart"),t.container=cm.node("div",{class:"input__content"}),e.triggerEvent("onRenderContent"),e.triggerEvent("onRenderContentProcess"),e.triggerEvent("onRenderContentEnd"),t.container},n.setAttributes=function(){var t=this;return a.prototype.setAttributes.apply(t,arguments),t.setHiddenAttributes(),cm.isNode(t.params.node)&&cm.forEach(t.params.node.attributes,function(e){/^data-(?!node|element|config)/.test(e.name)&&t.nodes.container.setAttribute(e.name,e.value)}),t.params.title&&t.nodes.container.setAttribute("title",t.lang(t.params.title)),t.params.adaptive&&cm.addClass(t.nodes.container,"is-adaptive"),cm.isEmpty(t.params.size)||cm.addClass(t.nodes.container,["size",t.params.size].join("-")),cm.isEmpty(t.params.justify)||cm.addClass(t.nodes.container,["pull",t.params.justify].join("-")),cm.addClass(t.nodes.contentContainer,t.params.contentClassName),t},n.setHiddenAttributes=function(){var t=this;t.nodes.hidden.required=t.params.required,!cm.isEmpty(t.params.minLength)&&0<t.params.minLength&&(t.nodes.hidden.minlength=t.params.minLength),t.params.limitMaxLength&&!cm.isEmpty(t.params.maxLength)&&0<t.params.maxLength&&(t.nodes.hidden.maxlength=t.params.maxLength),!cm.isEmpty(t.params.min)&&0<t.params.min&&(t.nodes.hidden.min=t.params.min),!cm.isEmpty(t.params.max)&&0<t.params.max&&(t.no
1des.hidden.max=t.params.max),cm.isNode(t.params.node)&&cm.forEach(t.params.node.attributes,function(e){/^data-(?!node|element|config)/.test(e.name)&&t.nodes.hidden.setAttribute(e.name,e.value)}),cm.isEmpty(t.params.name)||t.nodes.hidden.setAttribute("name",t.params.name)},n.validateValue=function(e){return e=this.validateValueHelper(e),e=cm.isEmpty(e)?this.validateValueHelper(this.params.defaultValue):e},n.validateValueHelper=function(e){return this.params.isValueOption&&!cm.isEmpty(e)&&(cm.isObject(e)?(cm.isUndefined(e.value)&&(e.value=e.text),cm.isEmpty(e.text)&&!this.params.allowEmptyText&&(e.text=e.value)):e={value:e,text:e}),e},n.saveValue=function(e){var t=this;return t.rawValue=t.tempRawValue,t.previousValue=cm.clone(t.value),t.params.isValueOption?(t.value=cm.isEmpty(e)?null:e.value,t.valueText=cm.isEmpty(e)?null:e.text,t.valueOption=e):(t.value=e,t.valueText=e),t.params.setHiddenInput&&t.saveHiddenValue(t.value),t.params.setContentInput&&t.setData(t.valueText),t},n.saveHiddenValue=function(e){cm.isEmpty(e)?this.nodes.hidden.value="":cm.isObject(e)||cm.isArray(e)?this.nodes.hidden.value=cm.stringifyJSON(e):this.nodes.hidden.value=e},n.saveRawValue=function(e){this.tempRawValue=e},n.setData=function(e){},n.selectData=function(e){},n.selectAction=function(e,t){var n=this;return t=!!cm.isUndefined(t)||t,e=n.validateValue(e),n.saveRawValue(e),n.selectData(e),t&&n.triggerEvent("onSelect",e),t&&n.triggerEvent("onInput",e),n},n.setAction=function(e,t){var n=this;return t=!!cm.isUndefined(t)||t,e=n.validateValue(e),n.saveRawValue(e),n.saveValue(e),t&&n.triggerEvent("onSet",n.value),n},n.changeAction=function(e){var t=this;return(e=!!cm.isUndefined(e)||e)&&cm.stringifyJSON(t.value)!==cm.stringifyJSON(t.previousValue)&&t.triggerEvent("onChange",t.value),t}}),cm.define("Com.AbstractFileManager",{extend:"Com.AbstractController",events:["onSelect","onComplete","onGet","onRenderHolderStart","onRenderHolderProcess","onRenderHolderEnd","onRenderContentStart","onRenderContentProcess","onRenderContentEnd"],params:{embedStructure:"replace",controllerEvents:!0,max:0,lazy:!1,fullSize:!1,showStats:!0,statsConstructor:"Com.FileStats",statsParams:{embedStructure:"append",toggleBox:!1,inline:!0}}},function(e){var t=this;t.nodes={},t.components={},t.items=[],t.isMultiple=!1,Com.AbstractController.apply(t,arguments)}),cm.getConstructor("Com.AbstractFileManager",function(e,t,n,a){n.construct=function(){this.completeHandler=this.complete.bind(this),a.prototype.construct.apply(this,arguments)},n.validateParams=function(){return this.isMultiple=!this.params.max||1<this.params.max,this},n.get=function(){return this.triggerEvent("onGet",this.items),this},n.load=function(){return this.isLoaded||this.renderController(),this},n.complete=function(){return this.triggerEvent("onComplete",this.items),this},n.renderView=function(){var e=this;return e.triggerEvent("onRenderViewStart"),e.nodes.container=cm.node("div",{class:"com__file-manager"},e.nodes.inner=cm.node("div",{class:"inner"},e.renderHolder(),e.renderContent())),e.triggerEvent("onRenderViewProcess"),e.triggerEvent("onRenderViewEnd"),e},n.renderHolder=function(){var e={};return this.triggerEvent("onRenderHolderStart"),e.container=cm.node("div",{class:"com__file-manager__holder"},e.inner=cm.node("div",{class:"inner"})),this.triggerEvent("onRenderHolderProcess"),this.nodes.holder=e,this.triggerEvent("onRenderHolderEnd"),e.container},n.renderContent=function(){var e={};return this.triggerEvent("onRenderContentStart"),e.container=cm.node("div",{class:"com__file-manager__content"}),this.triggerEvent("onRenderContentProcess"),this.nodes.content=e,this.triggerEvent("onRenderContentEnd"),e.container},n.renderViewModel=function(){var t=this;return t.params.showStats?cm.getConstructor(t.params.statsConstructor,function(e){t.components.stats=new e(cm.merge(t.params.statsParams,{container:t.nodes.content.container}))}):cm.remove(t.nodes.content.container),t.params.lazy||t.renderController(),t},n.renderController=function(){return this},n.setAttributes=function(){return a.prototype.setAttributes.apply(this,arguments),this.params.fullSize&&cm.addClass(this.nodes.container,"is-fullsize"),this},n.processFiles=function(e){var t=this,n=[];return cm.isArray(e)?n=e.map(function(e){return t.convertFile(e)}):cm.isObject(e)&&n.push(t.convertFile(e)),t.params.max?n.length?(e=Math.min(t.params.max,n.length),t.items=n.slice(0,e)):t.items=[]:t.items=n,t.triggerEvent("onSelect",t.items),t},n.convertFile=function(e){return e}}),cm.define("Com.AbstractFileManagerContainer",{extend:"Com.AbstractContainer",events:["onComplete","onGet"],params:{constructor:"Com.AbstractFileManager",constructorParams:{embedStructure:"append"},placeholder:!0,placeholderConstructor:"Com.DialogContainer",placeholderParams:{renderButtons:!0,constructorParams:{width:900}}}
1,strings:{title_single:"Please select file",title_multiple:"Please select files",close:"Cancel",save:"Select"}},function(e){Com.AbstractContainer.apply(this,arguments)}),cm.getConstructor("Com.AbstractFileManagerContainer",function(e,t,n){var a=n._inherit;n.construct=function(){var e=this;return e.validateParamsEndHandler=e.validateParamsEnd.bind(e),e.renderControllerProcessHandler=e.renderControllerProcess.bind(e),e.getHandler=e.get.bind(e),e.selectHandler=e.select.bind(e),e.addEvent("onValidateParamsEnd",e.validateParamsEndHandler),e.addEvent("onRenderControllerProcess",e.renderControllerProcessHandler),a.prototype.construct.apply(e,arguments),e},n.get=function(e){e&&cm.preventDefault(e);return this.components.controller&&this.components.controller.get&&this.components.controller.get(),this},n.complete=function(e){e&&cm.preventDefault(e);return this.components.controller&&this.components.controller.complete&&this.components.controller.complete(),this},n.validateParamsEnd=function(){var e=this;e.setLangs({title:!e.params.constructorParams.max||1<e.params.constructorParams.max?e.lang("title_multiple"):e.lang("title_single")})},n.renderControllerEvents=function(){var n=this;return a.prototype.renderControllerEvents.apply(n,arguments),n.components.controller.addEvent("onGet",function(e,t){n.afterGet(t)}),n.components.controller.addEvent("onComplete",function(e,t){n.afterComplete(t)}),n},n.renderPlaceholderButtons=function(){var e=this;return e.components.placeholder.addButton({name:"close",label:e.lang("close"),classes:"button-transparent",callback:e.closeHandler}),e.components.placeholder.addButton({name:"save",label:e.lang("save"),classes:"button-primary",callback:e.completeHandler}),e},n.afterGet=function(e){return this.triggerEvent("onGet",e),this},n.afterComplete=function(e){return this.triggerEvent("onComplete",e),this.close(),this}}),cm.define("Com.AbstractFormField",{extend:"Com.AbstractController",events:["onShow","onHide","onFocus","onBlur","onValidate","onChange","onInput","onSelect","onReset","onRequestStart","onRequestEnd","onRequestSuccess","onRequestError","onRequestAbort","onFieldConstructed"],params:{renderStructure:!0,embedStructureOnRender:!0,removeOnDestruct:!1,controllerEvents:!0,renderStructureField:!0,renderStructureContent:!0,renderError:!0,renderErrorMessage:!0,renderRequiredMessage:!1,renderLengthMessage:!0,form:!1,outputValueType:"auto",inputValueType:"auto",validateValueType:"auto",value:null,values:null,defaultValue:null,dataValue:null,isValueOption:!1,setHiddenValue:!0,minLength:0,maxLength:0,min:0,max:0,multiple:!1,type:!1,label:"",icon:!1,placeholder:"",placeholderAsterisk:!0,autocomplete:null,showPlaceholderAbove:!1,title:"",hint:"",messagePosition:"content",adaptive:!0,visible:!0,disabled:!1,readOnly:!1,checked:null,renderName:!1,inputClasses:[],options:[],constraints:[],required:!1,requiredAsterisk:!0,optionalHint:!1,validate:!1,constructor:!1,constructorParams:{removeOnDestruct:!1},preload:!1,responseKey:"data",ajax:{type:"json",method:"get"},help:null,helpType:"tooltip",helpAlign:"left",helpConstructor:"Com.HelpBubble",helpParams:{renderStructure:!0,embedStructureOnRender:!0}},strings:{required:"This field is required.",too_short:"Value should be at least %count% characters.",too_long:"Value should be less than %count% characters.",asterisk:{char:"*",title:"Required",ariaLabel:"(required)"},optional:{char:"(optional)",title:"Optional",ariaLabel:"(optional)"}}},function(){Com.AbstractController.apply(this,arguments)}),cm.getConstructor("Com.AbstractFormField",function(e,t,n,a){n.onConstructStart=function(){var e=this;e.fieldName=null,e.isVisible=null,e.isAjax=!1,e.isProcess=!1,e.isPreloaded=!1,e.isFocus=!1,e.wasFocus=!1,e.nodeTagName=null,e.focusHandler=e.focus.bind(e),e.blurHandler=e.blur.bind(e),e.focusEventHandler=e.focusEvent.bind(e),e.blurEventHandler=e.blurEvent.bind(e),e.inputEventHandler=e.inputEvent.bind(e),e.selectEventHandler=e.selectEvent.bind(e),e.changeEventHandler=e.changeEvent.bind(e),e.resetEventHandler=e.resetEvent.bind(e),e.iconEventHandler=e.iconEvent.bind(e)},n.onAfterRender=function(){return this.params.disabled&&this.disable(),this},n.onConstructEnd=function(){var e=this;e.isAjax&&(e.ajaxHandler=e.callbacks.request(e,cm.clone(e.params.ajax)))},n.onDestruct=function(){var e=this;e.isAjax&&e.ajaxHandler.abort(),e.controller&&cm.isFunction(e.controller.destruct)&&e.controller.destruct()},n.onValidateParams=function(){var e=this;e.validateParamsValue(),e.nodeTagName=e.params.node.tagName.toLowerCase(),e.fieldName=e.params.formName+"["+e.params.name+"]",e.params.required&&e.params.requiredAsterisk&&e.params.placeholderAsterisk&&!cm.isEmpty(e.params.placeholder)&&(e.params.placeholder=[e.params.placeholder,e.msg("asterisk.char")].join("Â ")),!e.params.required&&e.params.optionalHint&&e.params.placeholderAsterisk&&!cm.isEmpty(e.params.placeholder)&&(e.params.placeholder=[e.params.placeholder,e.msg("optional.char")].join("Â ")),"auto"===e.params.validateValueType&&(e.params.validateValueType=e.params.outputValueType),cm.isEmpty(e.params.options)||(e.params.options=e.callbacks.convert(e,e.params.options)),e.params.constructorParams=cm.merge(e.validateConstructorParams(),e.params.constructorParams),e.params.helpParams=cm.merge(e.validateHelpParams(),e.params.helpParams),e.components.form=e.params.form,!e.params.preload||cm.isEmpty(e.params.ajax)||cm.isEmpty(e.params.ajax.url)||(e.isAjax=!0)},n.validateParamsValue=function(){var e=this;e.params.value=e.validateParamsValueHelper(e.params.value),e.params.defaultValue=e.validateParamsValueHelper(e.params.defaultValue),e.params.value=cm.isEmpty(e.params.value)?e.params.defaultValue:e.params.value,e.params.dataValue=cm.isEmpty(e.params.dataValue)?e.params.isValueOption?e.params.value:null:e.params.dataValue},n.validateParamsValueHelper=function(e){return this.params.isValueOption&&!cm.isEmpty(e)&&(cm.isObject(e)?(e.value=cm.isEmpty(e.value)?e.text:e.value,e.text=cm.isEmpty(e.text)?e.value:e.text):e={value:e,text:e}),e},n.validateConstructorParams=function(){let t=this;var n={};return cm.forEach(["id","title","name","visibleName","renderName","defaultValue","values","options","required","renderRequiredMessage","validate","disabled","readOnly","checked","minLength","maxLength","min","max","multiple","autocomplete","ajax"],function(e){void 0!==t.params[e]&&(n[e]=t.params[e])}),n.field=t,n.fieldName=t.fieldName,n.value=cm.isEmpty(t.params.dataValue)?t.params.value:t.params.dataValue,n.placeholder=t.params.showPlaceholderAbove?"":t.params.placeholder,n},n.validateHelpParams=function(){var e=this;return{title:e.params.label,content:e.params.help,name:e.params.name,type:e.params.helpType,align:e.params.helpAlign}},n.renderView=function(){var e=this;e.triggerEvent("onRenderViewStart"),e.params.renderStructureField&&e.renderFiled(),e.params.renderStructureContent&&(e.nodes.content=e.renderContent(),e.nodes.contentContainer=e.nodes.content.container,e.nodes.contentInput=e.nodes.content.input),e.params.renderStructureField?cm.insertFirst(e.nodes.contentContainer,e.nodes.value):e.params.renderStructureContent?e.nodes.container=e.nodes.contentContainer:(e.nodes.contentContainer=e.nodes.container=e.params.node,e.nodes.contentInput=e.params.node),e.triggerEvent("onRenderViewProcess"),e.triggerEvent("onRenderViewEnd")},n.renderFiled=function(){var e=this;switch(e.nodes.container=cm.node("dl",{classes:"pt__field"},e.nodes.label=cm.node("dt"),e.nodes.value=cm.node("dd")),e.params.messagePosition){case"label":e.nodes.messages=e.nodes.label;break;case"content":case"value":e.nodes.messages=e.nodes.value}e.renderFiledLabel(),cm.isEmpty(e.params.hint)||e.renderHint(e.params.hint)},n.renderFiledLabel=function(){var e=this;cm.isEmpty(e.params.label)||(e.nodes.labelText=cm.node("label"),e.params.renderName&&e.nodes.labelText.setAttribute("for",e.fieldName),cm.isNode(e.params.label)?cm.appendChild(e.params.label,e.nodes.labelText):e.nodes.labelText.innerHTML=e.params.label,cm.appendChild(e.nodes.labelText,e.
1nodes.label)),e.nodes.required=cm.node("span",{classes:"required",title:e.msg("asterisk.title"),"aria-label":e.msg("asterisk.ariaLabel")},e.msg("asterisk.char")),e.nodes.optional=cm.node("span",{classes:"optional",title:e.msg("optional.title"),"aria-label":e.msg("optional.ariaLabel")},e.msg("optional.char")),e.params.required&&e.params.requiredAsterisk&&cm.appendChild(e.nodes.required,e.nodes.labelText||e.nodes.label),!e.params.required&&e.params.optionalHint&&cm.appendChild(e.nodes.optional,e.nodes.labelText||e.nodes.label)},n.renderContent=function(){var e=this,t={input:e.params.node};return t.container=cm.node("div",{classes:"pt__field__content"},t.input),e.params.icon&&(cm.isNode(e.params.icon)?t.icon=e.params.icon:t.icon=cm.node("div",{classes:e.params.icon}),cm.addEvent(t.icon,"mousedown",e.iconEventHandler),cm.addEvent(t.icon,"click",e.iconEventHandler),t.field=cm.node("div",{classes:"pt__input"},t.input,t.icon),cm.addClass(t.field,e.params.inputClasses),cm.appendChild(t.field,t.container)),e.params.showPlaceholderAbove&&!cm.isEmpty(e.params.placeholder)&&(t.placeholder=cm.node("label",{classes:"placeholder"}
1,t.placeholderLabel=cm.node("span",{innerHTML:e.params.placeholder})),e.params.renderName&&t.placeholder.setAttribute("for",e.fieldName),cm.isEmpty(e.params.label)||t.placeholder.setAttribute("aria-hidden","true"),cm.appendChild(t.placeholder,t.container),cm.addClass(t.container,"is-placeholder-above")),t},n.renderOptions=function(e){let n=this;"select"===n.nodeTagName&&(cm.forEach(e,function(e){e.disabled=!cm.isUndefined(e.disabled)&&e.disabled,e.hidden=!cm.isUndefined(e.hidden)&&e.hidden;var t=cm.node("option",{value:e.value,innerHTML:e.text});t.hidden=e.hidden,t.disabled=e.disabled,cm.appendChild(t,n.nodes.contentInput)}),cm.setSelect(n.nodes.contentInput,n.params.value))},n.setAttributes=function(){var e=this;a.prototype.setAttributes.apply(e,arguments),e.params.renderStructureContent&&e.setInputAttributes(),e.params.adaptive&&cm.addClass(e.nodes.container,"is-adaptive"),e.params.visible?e.show(!1):e.hide(!1)},n.setInputAttributes=function(){var t=this;if(cm.isEmpty(t.fieldName)||t.nodes.contentInput.setAttribute("id",t.fieldName),cm.isEmpty(t.params.name)||t.nodes.contentInput.setAttribute("name",t.params.name),!cm.isEmpty(t.params.value)&&"unset"!==t.params.inputValueType){let e;e=t.params.isValueOption?t.params.value.value:cm.isObject(t.params.value)||cm.isArray(t.params.value)?cm.stringifyJSON(t.params.value):t.params.value,"select"===t.nodeTagName?cm.setSelect(t.nodes.contentInput,e):t.nodes.contentInput.setAttribute("value",e)}if(!cm.isEmpty(t.params.dataValue)&&"unset"!==t.params.inputValueType){let e;e=cm.isObject(t.params.dataValue)||cm.isArray(t.params.dataValue)?cm.stringifyJSON(t.params.dataValue):t.params.dataValue,t.nodes.contentInput.setAttribute("data-value",e)}cm.isEmpty(t.params.placeholder)||t.params.showPlaceholderAbove||(t.nodes.contentInput.setAttribute("placeholder",t.params.placeholder),cm.isEmpty(t.params.label)&&cm.isEmpty(t.params.title)&&t.nodes.contentInput.setAttribute("aria-label",t.params.placeholder)),cm.isEmpty(t.params.autocomplete)||t.nodes.contentInput.setAttribute("autocomplete",t.params.autocomplete),cm.isEmpty(t.params.title)||t.nodes.contentInput.setAttribute("title",t.params.title),t.params.disabled&&t.nodes.contentInput.setAttribute("disabled","disabled"),t.params.multiple&&t.nodes.contentInput.setAttribute("multiple","multiple")},n.renderViewModel=function(){let t=this;a.prototype.renderViewModel.apply(t,arguments),t.params.renderStructureContent&&"unset"!==t.params.inputValueType&&!cm.isEmpty(t.params.options)&&t.renderOptions(t.params.options),t.params.renderStructureField&&!cm.isEmpty(t.params.help)&&cm.getConstructor(t.params.helpConstructor,function(e){t.components.help=new e(cm.merge(t.params.helpParams,{container:t.nodes.label}))}),t.isAjax&&!t.isPreloaded||t.renderController()},n.renderController=function(){let t=this;t.params.constructor&&cm.getConstructor(t.params.constructor,function(e){t.components.controller=new e(cm.merge(t.params.constructorParams,{node:t.nodes.contentInput,form:t.components.form,formField:t})),t.renderControllerEvents(),t.togglePlaceholder()})},n.renderControllerEvents=function(){var e=this;e.components.controller.addEvent("onFocus",e.focusEventHandler),e.components.controller.addEvent("onBlur",e.blurEventHandler),e.components.controller.addEvent("onSelect",e.selectEventHandler),e.components.controller.addEvent("onInput",e.inputEventHandler),e.components.controller.addEvent("onChange",e.changeEventHandler),e.components.controller.addEvent("onReset",e.resetEventHandler)},n.togglePlaceholder=function(){var e=this;e.params.showPlaceholderAbove&&("always"===e.params.showPlaceholderAbove||e.isFocus||!cm.isEmpty(e.getText())?cm.addClass(e.nodes.content.placeholder,"pull-top"):cm.removeClass(e.nodes.content.placeholder,"pull-top"))},n.focusEvent=function(e,t){this.isFocus=!0,this.togglePlaceholder(),this.triggerEvent("onFocus",t)},n.blurEvent=function(e,t){this.isFocus=!1,this.togglePlaceholder(),this.triggerEvent("onBlur",t)},n.inputEvent=function(e,t){this.triggerEvent("onInput",t)},n.selectEvent=function(e,t){this.triggerEvent("onSelect",t)},n.changeEvent=function(e,t){this.togglePlaceholder(),this.triggerEvent("onChange",t)},n.resetEvent=function(e,t){this.togglePlaceholder(),this.triggerEvent("onReset",t)},n.iconEvent=function(e){"mousedown"===e.type&&(this.wasFocus=this.isFocus),"click"!==e.type||this.wasFocus||this.focus(!0)}
1,n.set=function(e,t){return this.components.controller&&cm.isFunction(this.components.controller.set)&&this.components.controller.set(e,t),this},n.get=function(e){var t=this;switch(e=cm.isUndefined(e)?t.params.outputValueType:e){case"raw":return t.getRaw();case"text":return t.getText();case"json":return t.getJSON();case"option":return t.getValueOption();default:return t.components.controller&&cm.isFunction(t.components.controller.get)?t.components.controller.get():null}},n.getRaw=function(){return this.components.controller&&cm.isFunction(this.components.controller.getRaw)?this.components.controller.getRaw():this.get("auto")},n.getText=function(){return this.components.controller&&cm.isFunction(this.components.controller.getText)?this.components.controller.getText():this.get("auto")},n.getJSON=function(){return this.components.controller&&cm.isFunction(this.components.controller.getJSON)?this.components.controller.getJSON():this.get("auto")},n.getValueOption=function(){return this.components.controller&&cm.isFunction(this.components.controller.getValueOption)?this.components.controller.getValueOption():this.get("auto")},n.reset=function(){return this.components.controller&&cm.isFunction(this.components.controller.reset)&&this.components.controller.reset(),this},n.validateValue=function(e){var t=this;if((e=cm.merge({field:t,form:t.components.form,valid:!0,message:null,value:t.get(t.params.validateValueType),required:!1,silent:!1,triggerEvents:!0},e)).required=t.params.required||e.required,cm.isEmpty(e.value))return e.required?(e.valid=!1,t.params.renderRequiredMessage&&(e.message=t.msg("required"))):e.valid=!0,e;if(t.params.minLength&&e.value.length<t.params.minLength)return e.valid=!1,t.params.renderLengthMessage&&(e.message=t.msg("too_short",{"%count%":t.params.minLength})),e;if(t.params.maxLength&&e.value.length>t.params.maxLength)return e.valid=!1,t.params.renderLengthMessage&&(e.message=t.msg("too_long",{"%count%":t.params.maxLength})),e;if(!cm.isEmpty(t.params.constraints)){var n=cm.clone(e),n=t.validateConstraints(n);if(n)return n}return t.components.controller&&cm.isFunction(t.components.controller.validator)?t.components.controller.validator(e):e},n.validate=function(e){var t=this;return(e=cm.merge({required:!1,silent:!1,triggerEvents:!0},e)).validate=t.params.validate,e.required=t.params.required||e.required,!e.required&&!e.validate||((e=t.validateValue(e)).valid||e.silent?t.clearError():t.renderError(e.message),e.triggerEvents&&!e.silent&&t.triggerEvent("onValidate",e),e.valid)},n.addConstraint=function(e){return cm.isFunction(e)&&(this.params.constraints=cm.arrayAdd(this.params.constraints,e)),this},n.removeConstraint=function(e){return cm.isFunction(e)&&(this.params.constraints=cm.arrayRemove(this.params.constraints,e)),this},n.validateConstraints=function(t){var n;return!!this.params.constraints.some(function(e){return!!cm.isFunction(e)&&!(n=e(t)).valid})&&n},n.renderHint=function(e,t){let n=this;return t=cm.merge({className:null},t),n.clearHint(),n.nodes.hints=cm.node("ul",{classes:"pt__field__hint"}),cm.isArray(e)?cm.forEach(e,function(e){n.renderHintMessage(e,t)}):n.renderHintMessage(e,t),n.params.renderError&&n.nodes.errors&&cm.inDOM(n.nodes.errors)?cm.insertBefore(n.nodes.hints,n.nodes.errors):cm.appendChild(n.nodes.hints,n.nodes.messages),n},n.toggleHintVisibility=function(e){cm.toggleClass(this.nodes.hints,"is-hidden",!e)},n.renderHintMessage=function(e,t){e=cm.node("li",{innerHTML:e,classes:t.className});cm.appendChild(e,this.nodes.hints)},n.clearHint=function(){return cm.remove(this.nodes.hints),this},n.renderError=function(e,t){var n=this;return t=cm.merge({className:"error"},t),n.clearError(),n.params.renderError&&(cm.addClass(n.nodes.container,"error"),cm.addClass(n.nodes.contentContainer,"error"),n.params.renderErrorMessage)&&!cm.isEmpty(e)&&(n.nodes.errors=cm.node("ul",{classes:"pt__field__error pt__field__hint"},e=cm.node("li",{innerHTML:e})),cm.isEmpty(t.className)||cm.addClass(e,t.className),cm.insertLast(n.nodes.errors,n.nodes.messages)),n},n.clearError=function(){return cm.removeClass(this.nodes.container,"error"),cm.removeClass(this.nodes.contentContainer,"error"),cm.remove(this.nodes.errors),this},n.show=function(e){var t=this;return e=!!cm.isUndefined(e)||e,cm.isBoolean(t.isVisible)&&t.isVisible||(t.isVisible=!0,cm.removeClass(t.nodes.container,"is-
1hidden"),e&&t.triggerEvent("onShow",t.get())),t},n.hide=function(e){var t=this;return e=!!cm.isUndefined(e)||e,cm.isBoolean(t.isVisible)&&!t.isVisible||(t.isVisible=!1,cm.addClass(t.nodes.container,"is-hidden"),e&&t.triggerEvent("onHide",t.get())),t},n.toggleVisibility=function(e,t){return e?this.show(t):this.hide(t),this},n.enable=function(){var e=this;return cm.removeClass(e.nodes.container,"disabled"),cm.removeClass(e.nodes.contentContainer,"disabled"),e.components.controller&&cm.isFunction(e.components.controller.enable)&&e.components.controller.enable(),e},n.disable=function(){var e=this;return cm.addClass(e.nodes.container,"disabled"),cm.addClass(e.nodes.contentContainer,"disabled"),e.components.controller&&cm.isFunction(e.components.controller.disable)&&e.components.controller.disable(),e},n.focus=function(e){return this.components.controller&&cm.isFunction(this.components.controller.focus)&&this.components.controller.focus(e),this},n.blur=function(){return this.components.controller&&cm.isFunction(this.components.controller.blur)&&this.components.controller.blur(),this},n.setRequired=function(){var e=this;return e.params.required=!0,e.params.requiredAsterisk&&cm.appendChild(e.nodes.required,e.nodes.labelText||e.nodes.label),e},n.unsetRequired=function(){return this.params.required=!1,cm.remove(this.nodes.required),this},n.toggleRequired=function(e){return e?this.setRequired():this.unsetRequired(),this},n.isRequired=function(){return this.params.required},n.toggleValidate=function(e){return this.params.validate=e,this},n.getController=function(){return this.components.controller},n.getName=function(){return this.params.name},n.getContainer=function(){return this.nodes.container},n.getContent=function(){return this.nodes.content},n.callbacks.prepare=function(e,t){return t.url=cm.strReplace(t.url,{"%baseUrl%":cm._baseUrl}),t.params=cm.objectReplace(t.params,{"%baseUrl%":cm._baseUrl}),t},n.callbacks.request=function(t,n){return n=t.callbacks.prepare(t,n),cm.ajax(cm.merge(n,{onStart:function(){t.callbacks.start(t,n)},onSuccess:function(e){t.callbacks.response(t,n,e)},onError:function(){t.callbacks.error(t,n)},onAbort:function(){t.callbacks.abort(t,n)},onEnd:function(e){t.callbacks.end(t,n,e)}}))},n.callbacks.start=function(e,t){e.isProcess=!0,e.triggerEvent("onRequestStart")},n.callbacks.end=function(e,t){e.isProcess=!1,e.isPreloaded=!0,e.renderController(),e.triggerEvent("onRequestEnd")},n.callbacks.response=function(e,t,n){cm.isEmpty(n)||(n=e.callbacks.filter(e,t,n)),cm.isEmpty(n)?e.callbacks.error(e,t):e.callbacks.success(e,e.callbacks.convert(e,n))},n.callbacks.filter=function(e,t,n){var a=[],e=cm.objectPath(e.params.responseKey,n);return a=e&&!cm.isEmpty(e)?e:a},n.callbacks.convert=function(t,e){return e.map(function(e){return t.callbacks.convertItem(t,e)})},n.callbacks.convertItem=function(e,t){return cm.isEmpty(t)?null:cm.isObject(t)?(cm.isUndefined(t.value)&&(t.value=t.text),t):{text:t,value:t}},n.callbacks.success=function(e,t){e.params.options=cm.merge(e.params.options,t),e.params.constructorParams.options=(cm.isEmpty(e.params.options)?e.params.constructorParams:e.params).options,e.renderOptions(t),e.triggerEvent("onRequestSuccess",t)},n.callbacks.error=function(e,t){e.triggerEvent("onRequestError")},n.callbacks.abort=function(e,t){e.triggerEvent("onRequestAbort")}}),cm.define("Com.AbstractInputContainer",{extend:"Com.AbstractController",events:["onRenderControllerStart","onRenderControllerProcess","onRenderController","onRenderControllerEnd","onSelect","onChange","onReset"],params:{renderStructure:!1,embedStructureOnRender:!1,controllerEvents:!0,constructor:"Com.AbstractInput",constructorParams:{}}},function(e){Com.AbstractController.apply(this,arguments)}),cm.getConstructor("Com.AbstractInputContainer",function(e,t,n,a){n.construct=function(){var e=this;e.resetHandler=e.reset.bind(e),e.enableHandler=e.enable.bind(e),e.disableHandler=e.disable.bind(e),a.prototype.construct.apply(e,arguments)},n.onValidateParams=function(){this.components.formField=this.params.formField,this.components.form=this.params.form},n.renderViewModel=function(){return this.renderController(),this},n.renderController=function(){var t,n=this;cm.getConstructor(n.params.constructor,function(e){n.triggerEvent("onRenderControllerStart"),t=n.validateControllerParams(),n.components.c
1ontroller=new e(t),n.triggerEvent("onRenderControllerProcess",n.components.controller),n.renderControllerEvents(),n.triggerEvent("onRenderController",n.components.controller),n.triggerEvent("onRenderControllerEnd",n.components.controller)})},n.validateControllerParams=function(){return cm.merge(this.params.constructorParams,{node:this.params.node,value:this.params.value,defaultValue:this.params.defaultValue})},n.renderControllerEvents=function(){var n=this;return n.components.controller.addEvent("onSelect",function(e,t){n.triggerEvent("onSelect",t)}),n.components.controller.addEvent("onChange",function(e,t){n.triggerEvent("onChange",t)}),n.components.controller.addEvent("onReset",function(e,t){n.triggerEvent("onReset",t)}),n},n.set=function(e){return this.components.controller&&cm.isFunction(this.components.controller.set)&&this.components.controller.set(e),this},n.get=function(){return this.components.controller&&cm.isFunction(this.components.controller.get)&&this.components.controller.get()},n.getRaw=function(){return this.components.controller&&cm.isFunction(this.components.controller.getRaw)&&this.components.controller.getRaw()||this.get()},n.reset=function(){return this.components.controller&&cm.isFunction(this.components.controller.reset)&&this.components.controller.reset()},n.enable=function(){return this.components.controller&&cm.isFunction(this.components.controller.enable)&&this.components.controller.enable(),this},n.disable=function(){return this.components.controller&&cm.isFunction(this.components.controller.disable)&&this.components.controller.disable(),this}}),cm.define("Com.AbstractRange",{extend:"Com.AbstractInput",params:{renderStructure:!0,embedStructureOnRender:!0,controllerEvents:!0,redrawOnRender:!0,className:"com__range",theme:"theme--arrows",min:0,max:100,value:0,precision:0,step:1,range:!1,direction:"horizontal",showCounter:!0,valueFormater:"{value}",draggableConstructor:"Com.AbstractRangeDrag",draggableParams:{}}},function(){Com.AbstractInput.apply(this,arguments)}),cm.getConstructor("Com.AbstractRange",function(e,t,n,a){n.onConstructStart=function(){this.components.draggable=[],this.sort="asc"},n.onRedraw=function(){this.setData()},n.onValidateParamsEnd=function(){var e=this;e.sort=e.params.min>e.params.max?"desc":"asc",e.targetDraggable=!e.params.range,e.params.draggableParams.theme=e.params.theme,e.params.draggableParams.direction=e.params.direction,e.params.draggableParams.targetDraggable=e.targetDraggable,e.params.draggableParams.min=e.params.min,e.params.draggableParams.max=e.params.max,e.params.draggableParams.precision=e.params.precision,e.params.draggableParams.step=e.params.step,e.params.draggableParams.showCounter=e.params.showCounter,e.params.draggableParams.valueFormater=e.params.valueFormater},n.renderViewModel=function(){a.prototype.renderViewModel.apply(this,arguments),this.renderDraggable(),this.params.range&&this.renderDraggable()},n.renderContent=function(){var e=this,t=(e.triggerEvent("onRenderContentStart"),e.nodes.content={});switch(t.container=cm.node("div",{classes:"com__range__content"},t.range=cm.node("div",{classes:"pt__range"},t.inner=cm.node("div",{classes:"inner"},t.range=cm.node("div",{classes:"range"},t.rangeContent=e.renderRangeContent())))),e.triggerEvent("onRenderContentProcess"),cm.addClass(t.rangeContent,"range-helper"),cm.addClass(t.container,e.params.theme),cm.addClass(t.range,e.params.theme),cm.addClass(t.rangeContent,e.params.theme),e.targetDraggable&&cm.addClass(t.range,"is-draggable"),e.params.direction){case"horizontal":cm.addClass(t.container,"is-horizontal"),cm.addClass(t.range,"is-horizontal"),cm.addClass(t.rangeContent,"is-horizontal");break;case"vertical":cm.addClass(t.container,"is-vertical"),cm.addClass(t.range,"is-vertical"),cm.addClass(t.rangeContent,"is-vertical")}return e.triggerEvent("onRenderContentEnd"),t.container},n.renderRangeContent=function(){var e=this.nodes.rangeContent={};return e.container=cm.node("div",{classes:"range__content"}),e.container},n.renderDraggable=function(){let n=this;cm.getConstructor(n.params.draggableConstructor,e=>
1{e=new e(cm.merge(n.params.draggableParams,{node:n.nodes.content.inner,events:{onStart:()=>{n.setEditing()},onStop:()=>{n.unsetEditing()},onSelect:(e,t)=>{n.setValues(),n.selectAction(n.tempRawValue.join("-"),!0)},onSet:(e,t)=>{n.setValues(),n.set(n.tempRawValue.join("-"),!0)}}}));n.components.draggable.push(e)})},n.setValues=function(){let t=this;t.tempRawValue=[],cm.forEach(t.components.draggable,e=>{t.tempRawValue.push(e.get())}),t.tempRawValue=cm.arraySort(t.tempRawValue,!1,t.sort)},n.validateValue=function(e){let n=this,a=e.toString().split("-");return cm.forEach(a,(e,t)=>{n.params.max>n.params.min?a[t]=Math.min(Math.max(parseFloat(e),n.params.min),n.params.max):a[t]=Math.max(Math.min(parseFloat(e),n.params.min),n.params.max)}),n.values=cm.arraySort(a,!1,n.sort),a.join("-")},n.saveRawValue=function(e){var t=this;t.tempRawValue=e.toString().split("-"),t.tempRawValue=cm.arrayParseFloat(t.tempRawValue),t.tempRawValue=cm.arraySort(t.tempRawValue,!1,t.sort)},n.setData=function(){let n=this;cm.isEmpty(n.tempRawValue)||cm.forEach(n.components.draggable,(e,t)=>{e.set(n.tempRawValue[t],!1)})},n.setEditing=function(){return cm.addClass(this.nodes.content.container,"is-editing"),cm.addClass(this.nodes.content.range,"is-editing"),cm.addClass(this.nodes.content.rangeContent,"is-editing"),this},n.unsetEditing=function(){return cm.removeClass(this.nodes.content.container,"is-editing"),cm.removeClass(this.nodes.content.range,"is-editing"),cm.removeClass(this.nodes.content.rangeContent,"is-editing"),this}}),cm.define("Com.AbstractRangeDrag",{extend:"Com.AbstractController",events:["onStart","onStop","onSet","onSelect"],params:{renderStructure:!0,embedStructureOnRender:!0,embedStructure:"append",controllerEvents:!0,min:0,max:0,value:0,precision:0,step:0,direction:"horizontal",showCounter:!0,valueFormater:"{value}",targetDraggable:!0,draggableConstructor:"Com.Draggable",draggableParams:{}}},function(){Com.AbstractController.apply(this,arguments)}),cm.getConstructor("Com.AbstractRangeDrag",function(e,t,n,a){n.onValidateParams=function(){this.params.draggableParams.direction=this.params.direction},n.renderView=function(){var e=this;switch(e.nodes.container=cm.node("div",{class:"drag"},e.nodes.content=e.renderDragContent(name)),cm.addClass(e.nodes.content,e.params.theme),e.params.direction){case"horizontal":cm.addClass(e.nodes.content,"is-horizontal");break;case"vertical":cm.addClass(e.nodes.content,"is-vertical")}},n.renderViewModel=function(){let n=this;a.prototype.renderViewModel.apply(n,arguments),cm.getConstructor(n.params.draggableConstructor,e=>{n.components.draggable=new e(cm.merge(n.params.draggableParams,{target:n.params.targetDraggable?n.params.node:null,node:n.nodes.container,limiter:n.params.node,events:{onStart:()=>{switch(n.params.direction){case"horizontal":cm.addClass(document.body,"cm__cursor--col-resize");break;case"vertical":cm.addClass(document.body,"cm__cursor--row-resize")}n.showCounter(),n.triggerEvent("onStart")},onStop:()=>{switch(n.params.direction){case"horizontal":cm.removeClass(document.body,"cm__cursor--col-resize");break;case"vertical":cm.removeClass(document.body,"cm__cursor--row-resize")}n.hideCounter(),n.triggerEvent("onStop")},onSelect:(e,t)=>{t=n.getDraggable(t);n.selectAction(t,!0)},onSet:(e,t)=>{t=n.getDraggable(t);n.set(t,!0)}}}))})},n.renderDragContent=function(){var e=this,t=e.nodes.dragContent={};return t.container=cm.node("div",{class:"drag__content"}),e.nodes.counter=e.renderCounter(name),e.params.showCounter&&cm.appendChild(e.nodes.counter,t.container),t.container},n.getDraggable=function(e){var t=this,n=t.components.draggable.getDimensions();let a=t.params.max-t.params.min,s,o,r;switch(t.params.direction){case"horizontal":s=n.limiter.absoluteWidth,o=a/s*e.left,r=o+t.params.min;break;case"vertical":s=n.limiter.absoluteHeight,o=a/s*e.top,r=o+t.params.min}return t.params.step&&(r=t.applyStep(r,t.params.min,t.params.step)),r=t.params.max>t.params.min?Math.max(t.params.min,Math.min(t.params.max,r)):Math.min(t.params.min,Math.max(t.params.max,r)),cm.toFixed(r,t.params.precision,!0)},n.setDraggable=function(e){var t=this,n={top:0,left:0},a=t.components.draggable.getDimensions();t.params.step&&(e=t.applyStep(e,t.params.min,t.params.step));let s=t.params.max-t.params.min,o=e-t.params.min,r,i;switch(t.params.direction){case"horizontal":r=a.limiter.absoluteWidth,i=r/s*o,n.left=cm.toFixed(i,t.params.precision,!0);break;case"vertical":r=a.limiter.absoluteHeight,i=r/s*o,n.top=cm.toFixed(i,t.params.precision,!0)}t.components.draggable.setPosition(n,!1)},n.renderCounter=function(){var e=this.nodes.counterContent={};return e.container=e.inner=cm.node("div",{classes:"counter"}),e.container},n.showCounter=function(){return cm.addClass(this.nodes.counter,"is-show"),this},n.hideCounter=function(){return cm.removeClass(this.nodes.counter,"is-show"),this},n.setCounter=function(e){this.nodes.counterContent.inner.innerText=cm.parseMessage(this.params.valueFormater,{value:e})},n.applyStep=function(e,t,n){return Math.round((e-t)/n)*n+t},n.get=function(){var e=this.components.draggable.get();return this.getDraggable(e)},n.selectAction=function(e,t){return t=!!cm.isUndefined(t)||t,this.setCounter(e),t&&this.triggerEvent("onSelect",e),this},n.set=function(e,t){return t=!!cm.isUndefined(t)||t,this.setDraggable(e),this.setCounter(e),t&&this.triggerEvent("onSet",e),this}}),cm.define("Com.Form",{modules:["Params","Events","Langs","DataConfig","DataNodes","Storage","Callbacks","Stack","Structure"],events:["onRenderStart","onRender","onValidate","onRequestError","onRequestSuccess","onProgress","onError","onAbort","onSuccess","onSendStart","onSend","onSendEnd","onSet","onChange","onInput","onClear","onReset","onEnable","onDisable"],params:{node:cm.node("div"),container:null,name:"",renderStructure:!0,embedStructure:"append",removeOnDestruct:!0,renderButtons:!0,renderButtonsSeparator:!0,buttonsContainerClasses:[],buttonsClasse
1s:[],buttonsAlign:"right",buttonsAdaptive:!0,renderNames:!1,validate:!1,validateOnChange:!1,validateOnInput:!1,showNotifications:!0,showNotificationsMessages:!0,showSuccessNotification:!1,showValidationNotification:!1,showValidationMessages:!0,notificationsConstructor:"Com.Notifications",notificationsParams:{closable:!0},data:{},mergeData:!1,statusDetails:{},sendable:!0,autoSend:!1,sendOnChange:!1,sendEmptyForm:!0,sendEmptyFields:!1,sendOnlyChangedFields:!1,abortPreviousRequest:!1,successOnEmptyData:!1,responseKey:"data",responseErrorsKey:"errors",responseMessageKey:"message",responseMessageCodeKey:!1,responseMessageDetailsKey:!1,responseCodeKey:"code",ajax:{type:"json",method:"post",paramsType:"json",url:"",params:""},showLoader:!0,loaderCoverage:"fields",overlayConstructor:"Com.Overlay",overlayParams:{position:"absolute",autoOpen:!1,removeOnClose:!0,lazy:!0}},strings:{form_error:"Form is not filled correctly.",server_error:"{#var:cm._strings.common.server_error}",success_message:"Form successfully sent",error_codes:{}}},function(e){function n(e,t){var n,a,e=Com.FormFields.get(e);t=cm.merge({form:c,formName:c.params.name,system:!1,name:"",dataName:null,dataPath:null,label:"",originValue:null,required:!1,validate:!1,send:!0,sendEmpty:!0,sendAlways:!1,sendPath:null,sendCallback:null,preventReset:!1,options:[],container:c.nodes.fields,render:!0,renderName:null,renderEvents:!0,renderErrorMessage:c.params.showValidationMessages},t),(t=cm.merge(cm.clone(e,!0),t)).fieldConstructor=cm.isEmpty(t.fieldConstructor)?"Com.FormField":t.fieldConstructor,t.renderName=cm.isBoolean(t.renderName)?t.renderName:c.params.renderNames,t.dataPath?(n=cm.reducePath(t.dataPath,c.params.data),t.value=cm.isEmpty(n)?t.value:n):t.value=cm.isEmpty(c.params.data[t.name])?t.value:c.params.data[t.name],t.dataValue=cm.isEmpty(c.params.data[t.dataName])?t.dataValue:c.params.data[t.dataName],t.render&&e&&!c.fields[t.name]&&(a=t,cm.getConstructor(a.fieldConstructor,function(e){a.fieldController=a.controller=new e(a),a.inputController=a.constructorController=cm.isFunction(a.fieldController.getController)&&a.fieldController.getController(),a.renderEvents&&(a.fieldController.addEvent("onBlur",function(e){l(e,a)}),a.fieldController.addEvent("onChange",function(e){d(e,a)}),a.fieldController.addEvent("onInput",function(e){m(e,a)})),a.originValue=cm.clone(a.fieldController.get()),(c.fields[a.name]=a).fieldController.triggerEvent("onFieldConstructed")}))}function t(t){if(t=cm.merge({node:null,name:"",label:"",class:"",classes:[],spinner:!1,spinnerClass:"",spinnerClasses:[],action:"submit",container:c.nodes.buttonsHolder,handler:null},t),!c.buttons[t.name]){switch(cm.isNode(t.node)||(t.classes=cm.merge(["button",t.class],t.classes),t.node=cm.node("button",{name:t.name,classes:t.classes},t.labelNode=cm.node("div",{classes:"label is-show"},t.label))),t.spinner&&(t.spinnerClasses=cm.merge(["icon",t.spinnerClass],t.spinnerClasses),t.spinnerNode=cm.node("div",{classes:t.spinnerClasses}),cm.appendChild(t.spinnerNode,t.node),cm.addClass(t.node,"button-spinner")),t.action){case"submit":t.node.type="submit",cm.addClass(t.node,"button-primary"),cm.click.add(t.node,function(e){cm.preventDefault(e),cm.isFunction(t.handler)?t.handler(c,t,e):c.isProcess?c.abort():c.send()});break;case"reset":t.node.type="reset",cm.addClass(t.node,"button-transparent"),cm.click.add(t.node,function(e){cm.preventDefault(e),cm.isFunction(t.handler)?t.handler(c,t,e):c.isProcess||c.reset()});break;case"clear":cm.addClass(t.node,"button-transparent"),cm.click.add(t.node,function(e){cm.preventDefault(e),cm.isFunction(t.handler)?t.handler(c,t,e):c.isProcess||c.clear()});break;default:cm.click.add(t.node,function(e){cm.preventDefault(e),cm.isFunction(t.handler)&&t.handler(c,t,e)})}c.buttons[t.name]=t,cm.appendChild(t.node,t.container)}}function a(t){cm.forEach(c.buttons,function(e){e.spinner&&(t?(cm.replaceClass(e.labelNode,"is-show","is-hide"),cm.replaceClass(e.spinnerNode,"is-hide","is-show")):(cm.replaceClass(e.labelNode,"is-hide","is-show"),cm.replaceClass(e.spinnerNode,"is-show","is-hide")))})}function s(n){var a,e,s={form:c,valid:!0,message:null};return cm.forEach(c.fields,function(e,t){a=e.controller.getParams(),e.field&&!e.system&&(
1a.required||a.validate)&&cm.isFunction(e.controller.validate)&&!e.controller.validate(n)&&(s.message=c.msg("form_error"),s.valid=!1)}),cm.isEmpty(c.constraints)||(e=(t=>{var n;return!!c.constraints.some(function(e){return!!cm.isFunction(e)&&!(n=e(t)).valid})&&n})(cm.clone(s)))&&(s=cm.merge(s,e)),s}function o(e,t,n,a){var s=n.controller.get();return cm.isFunction(n.sendCallback)&&(s=n.sendCallback(n,s)),cm.inArray(["send","sendPath"],e)&&c.params.sendOnlyChangedFields&&!n.sendAlways&&(s=cm.getDiffCompare(n.originValue,s)),cm.isUndefined(s)||!c.params.sendEmptyFields&&(c.params.sendEmptyFields,cm.isEmpty(s))||!n.sendEmpty&&(n.sendEmpty,cm.isEmpty(s))||("sendPath"!==e||cm.isEmpty(n.sendPath)?t[a]=s:(e=cm.objectFormPath(n.sendPath,s,""),t=cm.extend(t,e,!0,!1))),t}function r(){var e=c.get("sendPath");i(e),c.clearError(c),c.triggerEvent("onSendStart",e),c.triggerEvent("onSend",e),c.triggerEvent("onSuccess",e),c.triggerEvent("onSendEnd",e)}function i(e){e=cm.isEmpty(e)?c.get("sendPath"):e,c.set(e,{triggerEvents:!1,setFields:!1,setOrigin:!0})}var c=this,l=(c.nodes={},c.components={},c.fields={},c.buttons={},c.constraints=[],c.ajaxHandler=null,c.isAjax=!1,c.isProcess=!1,c.isEnabled=!0,function(e,t){c.isEnabled&&c.params.validate&&c.params.validateOnChange&&(e.params.required||e.params.validate)&&t.fieldController.validate()}),d=function(e,t){c.isEnabled&&c.params.validate&&c.params.validateOnChange&&(e.params.required||e.params.validate)&&t.fieldController.validate(),c.params.sendOnChange&&!e.params.system&&c.send(),c.triggerEvent("onChange")},m=function(e,t){c.isEnabled&&c.params.validate&&c.params.validateOnInput&&(e.params.required||e.params.validate)&&t.fieldController.validate(),c.triggerEvent("onInput")};c.callbacks.prepare=function(e,t){return(t=e.callbacks.beforePrepare(e,t)).url=cm.strReplace(t.url,{"%baseUrl%":cm._baseUrl}),t.params=cm.objectReplace(t.params,{"%baseUrl%":cm._baseUrl}),t.params=cm.merge(t.params,e.get("sendPath",e.params.mergeData)),t=e.callbacks.afterPrepare(e,t)},c.callbacks.filterData=function(e,t){return t},c.callbacks.beforePrepare=function(e,t){return t},c.callbacks.afterPrepare=function(e,t){return t},c.callbacks.request=function(n,a){if(a=n.callbacks.prepare(n,a),n.callbacks.clearError(n),n.params.sendEmptyForm||!cm.isEmpty(a.params))return cm.ajax(cm.merge(a,{onStart:function(){n.callbacks.start(n,a)},onProgress:function(e){n.callbacks.progress(n,a,e)},onSuccess:function(e,t){t=e instanceof ProgressEvent?e:t,n.callbacks.response(n,a,e,t)},onError:function(e,t){t=e instanceof ProgressEvent?e:t,n.callbacks.error(n,a,e,t)},onAbort:function(){n.callbacks.abort(n,a)},onEnd:function(e){n.callbacks.end(n,a,e)}}));r()},c.callbacks.start=function(e,t){e.isProcess=!0,e.sendStart(),e.triggerEvent("onSendStart")},c.callbacks.end=function(e,t){e.isProcess=!1,e.sendEnd(),e.triggerEvent("onSendEnd")},c.callbacks.progress=function(e,t,n){e.sendProgress(n),e.triggerEvent("onProgress",n)},c.callbacks.response=function(e,t,n,a){var s,o;(e.params.successOnEmptyData||!cm.isEmpty(n))&&(s=cm.reducePath(e.params.responseErrorsKey,n),o=cm.reducePath(e.params.responseKey,n),cm.isEmpty(s))?e.callbacks.success(e,o,n,a):e.callbacks.error(e,t,n,a)},c.callbacks.responseParams=function(e,t){var n={response:t},t=(cm.isEmpty(t)||(n.code=cm.reducePath(e.params.responseCodeKey,t),n.errors=cm.reducePath(e.params.responseErrorsKey,t),n.message=cm.reducePath(e.params.responseMessageKey,t),n.messageCode=cm.reducePath(e.params.responseMessageCodeKey,t),n.messageDetails=cm.reducePath(e.params.responseMessageDetailsKey,t)),cm.isEmpty(n.messageDetails)||(n.messageDetails=e.callbacks.filterMessageDetails(e,n.messageDetails)),e.getErrorMessage(n.messageCode,n.messageDetails));return cm.isEmpty(t)||(n.message=t),n},c.callbacks.error=function(e,t,n,a){n=e.callbacks.responseParams(e,n,a);n.target=a instanceof ProgressEvent?a.target:null,cm.isEmpty(n.message)&&(n.statusDetails=e.callbacks.filterStatusDetails(e,e.params.statusDetails),n.message=e.getStatusMessage(n.target.status,n.statusDetails)),e.callbacks.renderError(e,n.errors,n.message),e.triggerEvent("onError",n),e.triggerEvent("onRequestError",n)},c.callbacks.success=function(e,t,n,a){e.params.showNotifications&&e.params.showSuccessNotification&&e.callbacks.renderNotification(e,{type:"success",label:e.msg("success_message")});n=e.callbacks.responseParams(e,n,a);n.target=a instanceof ProgressEvent?a.target:null,n.data=t,i(n.data),e.triggerEvent("onSuccess",n.data),e.triggerEvent("onRequestSuccess",n)},c.callbacks.abort=function(e,t){e.triggerEvent("onAbort")},c.callbacks.clearError=function(e){e.clearNotification(),cm.forEach(e.fields,function(e){e.controller.clearError()})},c.callbacks.renderError=function(e,t,n){var a={label:e.msg("form_error"),type:"danger"};let s=!1;!cm.isEmpty(n)&&cm.isString(n)&&(s=!0,a.label=n),cm.isArray(t)||cm.isObject(t)?e.params.showNotificationsMessages&&(a.messages=e.callbacks.renderErrorMessages(e,t),a.collapsed=!0):s||(a.label=e.msgParse("server_error")),e.callbacks.clearError(e),e.params.showNotifications&&e.callbacks.renderNotification(e,a)},c.callbacks.renderErrorMessages=function(n,e){var a,s,o,r,i=[];return e=n.callbacks.filterErrors(n,e),cm.forEach(e,function(e,t){s=e&&e.field?e.field:t,a=n.getField(s),r=n.getFieldLabel(s)||s,cm.isObject(e)?cm.isArray(e.message)?cm.forEach(e.message,function(e){o=n.callbacks.renderErrorMessage(n,a,e,r),i.push(o)}
1):cm.isEmpty(e.message)||(o=n.callbacks.renderErrorMessage(n,a,e.message,r),i.push(o)):cm.isArray(e)?cm.forEach(e,function(e){o=n.callbacks.renderErrorMessage(n,a,e,r),i.push(o)}):cm.isEmpty(e)||(o=n.callbacks.renderErrorMessage(n,a,e,r),i.push(o))}),i},c.callbacks.renderErrorMessage=function(e,t,n,a){var s=["errors",n].join("."),o=e.getMsg(s);return n=cm.isEmpty(o)?n:e.msg(s),t&&t.controller.renderError(n),n=cm.isEmpty(a)?n:[a,n].join(": ")},c.callbacks.renderNotification=function(e,t){cm.addClass(e.nodes.notifications,"is-show",!0),e.components.notifications.add(t)},c.callbacks.filterMessageDetails=function(e,t){return t},c.callbacks.filterStatusDetails=function(e,t){return t},c.callbacks.filterErrors=function(e,t){return t},c.destruct=function(){return c._isDestructed||(c._isDestructed=!0,cm.forEach(c.fields,function(e){e.controller.destruct()}),c.removeFromStack(),c.params.removeOnDestruct&&cm.remove(c.nodes.container)),c},c.add=function(e,t){return n(e,t),c},c.addButton=function(e){return t(e),c},c.addButtons=function(e){return cm.isArray(e)&&cm.forEach(e,function(e){t(e)}),c},c.toggleButtons=function(e){return a(e),c},c.addSeparator=function(e){return e=e,e=cm.merge({node:cm.node("hr"),container:c.nodes.fields,classes:[]},e),cm.addClass(e.node,e.classes),cm.appendChild(e.node,e.container),c},c.addConstraint=function(e){return cm.isFunction(e)&&cm.arrayAdd(c.constraints,e),c},c.removeConstraint=function(e){return cm.isFunction(e)&&cm.arrayRemove(c.constraints,e),c},c.appendChild=function(e,t){return t=cm.isUndefined(t)?"appendChild":t,cm[t](e,c.nodes.fields),c},c.getField=function(e){return c.fields[e]},c.getFields=function(e){var t={};return cm.forEach(e,function(e){t[e]=c.getField(e)}),t},c.getFieldLabel=function(e){e=c.getField(e);if(e)return cm.isEmpty(e.label)?cm.isEmpty(e.placeholder)?void 0:e.placeholder:e.label},c.setFieldParams=function(e,t){var n=c.getField(e);return n&&(n=cm.merge(n,t),c.fields[e]=n),n},c.removeField=function(e){var t;return e=e,(t=c.getField(e))&&(t.fieldController&&cm.isFunction(t.fieldController.remove)&&t.fieldController.remove(),delete c.fields[e]),c},c.get=function(n,e){var a={};return n=cm.inArray(["all","fields","send","sendPath","system"],n)?n:"fields",e=cm.isUndefined(e)?c.params.mergeData:e,cm.forEach(c.fields,function(e,t){switch(n){case"all":a=o("all",a,e,t);break;case"fields":e.system||(a=o("fields",a,e,t));break;case"send":e.send&&!e.system&&(a=o("send",a,e,t));break;case"sendPath":e.send&&!e.system&&(a=o("sendPath",a,e,t));break;case"system":e.system&&(a=o("system",a,e,t))}}),e&&(a=cm.merge(c.params.data,a)),a=c.callbacks.filterData(c,a)},c.getAll=function(){return c.get("all")},c.set=function(n,a){var s;return(a=cm.merge({triggerEvents:!0,setFields:!0,setOrigin:!1,setData:!1},a)).setData&&(c.params.data=n),cm.forEach(c.fields,function(e,t){s=e.dataPath?cm.reducePath(e.dataPath,n):cm.isUndefined(n[e.dataName])?n[t]:n[e.dataName],cm.isUndefined(s)||(a.setOrigin&&c.setFieldParams(t,{originValue:s}),a.setFields&&e.controller.set(s,a.triggerEvents))}),a.triggerEvents&&c.triggerEvent("onSet"),c},c.clear=function(){return cm.forEach(c.fields,function(e){e.controller.destruct()}),c.fields={},cm.clearNode(c.nodes.fields),cm.forEach(c.buttons,function(e){cm.remove(e.node)}),c.buttons={},cm.clearNode(c.nodes.buttonsHolder),c.clearError(),c.triggerEvent("onClear"),c},c.reset=function(){return cm.forEach(c.fields,function(e){e.preventReset||e.controller.reset()}),c.clearError(),c.triggerEvent("onReset"),c},c.enable=function(){return c.isEnabled||(c.isEnabled=!0,cm.forEach(c.fields,function(e){e.controller.enable()}),cm.forEach(c.buttons,function(e){cm.removeClass(e.node,"button-disabled")}),c.triggerEvent("onEnable")),c},c.disable=function(){return c.isEnabled&&(c.isEnabled=!1,cm.forEach(c.fields,function(e){e.controller.disable()}),cm.forEach(c.buttons,function(e){cm.addClass(e.node,"button-disabled")}),c.triggerEvent("onDisable")),c},c.validate=function(e){e=cm.merge({silent:!1,triggerEvents:!0},e),c.clearNotification();var t=s(e);return t.valid||e.silent||c.params.showNotifications&&c.params.showValidationNotification&&c.renderNotification({label:t.message,type:"danger"}),e.triggerEvents&&!e.silent&&c.triggerEvent("onValidate",t),t},c.send=function(){var e;return c.isEnabled&&(c.isProcess&&c.params.abortPreviousRequest&&c.abort(),e={valid:!0},(e=c.params.validate?c.validate():e).valid)&&(c.isAjax?c.ajaxHandler=c.callbacks.request(c,cm.clone(c.params.ajax)):r()),c},c.sendStart=function(){return cm.addClass(c.nodes.container,"is-submitting"),a(!0),c.params.showLoader&&c.showLoader(),c},c.sendProgress=function(e){return c.params.showLoader&&(e.lengthComputable?c.setLoa
1derProgress(e.total,e.loaded):c.hideLoaderProgress()),c},c.sendEnd=function(){return cm.removeClass(c.nodes.container,"is-submitting"),a(!1),c.params.showLoader&&c.hideLoader(),c},c.sendPlaceholder=function(){return r(),c},c.abort=function(){return c.ajaxHandler&&c.ajaxHandler.abort&&c.ajaxHandler.abort(),c},c.setAction=function(e,t,n){switch(t=cm.inArray(["raw","update","current"],t)?t:"current"){case"raw":c.params.ajax=cm.merge(c._raw.params.ajax,e);break;case"current":c.params.ajax=cm.merge(c.params.ajax,e);break;case"update":c.params.ajax=cm.merge(c._update.params.ajax,e)}return n&&(c._update.params.ajax=cm.clone(c.params.ajax)),c.isAjax=c.params.ajax&&!cm.isEmpty(c.params.ajax.url),c},c.renderNotification=function(e){return c.callbacks.renderNotification(c,e),c},c.clearNotification=function(){return cm.removeClass(c.nodes.notifications,"is-show",!0),c.components.notifications.clear(),c},c.getNotifications=function(){return c.components.notifications},c.renderError=function(e,t){return c.callbacks.renderError(c,e,t),c},c.clearError=function(){return c.callbacks.clearError(c),c},c.getErrorMessage=function(e,t){if(!cm.isEmpty(e)){e=c.getMsg("error_codes."+e);if(e)return!cm.isEmpty(t)&&cm.isObject(t)?cm.parseMessage(e,t):e}},c.getStatusMessage=function(e,t){if(!cm.isEmpty(e)){e=c.getMsg("status_codes."+e);if(e)return!cm.isEmpty(t)&&cm.isObject(t)?cm.parseMessage(e,t):e}},c.getLoader=function(){return c.components.loader},c.showLoader=function(e){return c.components.loader&&c.components.loader.open(e),c},c.hideLoader=function(e){return c.components.loader&&c.components.loader.close(e),c},c.setLoaderProgress=function(e,t){return c.components.loader&&c.components.loader.setProgress(e,t),c},c.hideLoaderProgress=function(){return c.components.loader&&c.components.loader.hideProgress(),c},c.getName=function(){return c.params.name},c.getContainer=function(){return c.nodes.container},c.getButtonsContainer=function(){return c.nodes.buttonsContainer},c.getNodes=function(e){return c.nodes[e]||c.nodes},c.renderComponent(),c.setParams(e),c.convertEvents(c.params.events),c.getDataNodes(c.params.node),c.getDataConfig(c.params.node),c.callbacksProcess(),c.addToStack(c.params.node),c.triggerEvent("onRenderStart"),c.params.notificationsParams=cm.merge(c.params.notificationsParams,c.params["Com.Notifications"]),c.params.buttonsAlign=cm.inArray(["left","center","middle","right","justify"],c.params.buttonsAlign)?c.params.buttonsAlign:"right",c.params.loaderCoverage=cm.inArray(["fields","all"],c.params.loaderCoverage)?c.params.loaderCoverage:"all",c.isAjax=c.params.ajax&&!cm.isEmpty(c.params.ajax.url)&&c.params.sendable,c.params.renderStructure&&(c.nodes.container=cm.node("div",{class:"com__form"},c.nodes.fieldsContainer=cm.node("div",{class:"com__form__fields"},c.nodes.fields=cm.node("div",{class:"inner"}))),c.nodes.notifications=cm.node("div",{class:"com__form__notifications"}),c.nodes.buttonsSeparator=cm.node("hr"),c.nodes.buttonsContainer=cm.node("div",{class:"com__form__buttons"},c.nodes.buttons=cm.node("div",{class:"pt__buttons"},c.nodes.buttonsHolder=cm.node("div",{class:"inner"}))),cm.addClass(c.nodes.buttonsContainer,c.params.buttonsContainerClasses),cm.addClass(c.nodes.buttons,["pull",c.params.buttonsAlign].join("-")),cm.addClass(c.nodes.buttons,c.params.buttonsClasses),c.params.buttonsAdaptive&&cm.addClass(c.nodes.buttons,"is-adaptive"),c.params.renderButtonsSeparator&&cm.insertFirst(c.nodes.buttonsSeparator,c.nodes.buttonsContainer),c.params.renderButtons&&cm.appendChild(c.nodes.buttonsContainer,c.nodes.container),cm.insertFirst(c.nodes.notifications,c.nodes.container),c.embedStructure(c.nodes.container)),cm.getConstructor(c.params.notificationsConstructor,function(e){c.components.notifications=new e(cm.merge(c.params.notificationsParams,{container:c.nodes.notifications})),c.components.notifications.addEvent("onAdd",function(){cm.addClass(c.nodes.notifications,"is-show",!0)}),c.components.notifications.addEvent("onRemove",function(){0===c.components.notifications.getLength()&&cm.removeClass(c.nodes.notifications,"is-show",!0)})}),c.params.showLoader&&cm.getConstructor(c.params.overlayConstructor,function(e){var t={fields:c.nodes.fieldsContainer,all:c.nodes.container},t=cm.merge({container:t[c.params.loaderCoverage]||t.all},c.params.overlayParams);c.components.loader=new e(t)}),c.params.autoSend&&c.send(),c.addToStack(c.nodes.container),c.triggerEvent("onRender")}),cm.define("Com.TabsetHelper",{extend:"Com.AbstractController",events:["onTabChangeStart","onTabChange","onTabChangeEnd","onTabShowStart","onTabShow","onTabShowProcess","onTabShowEnd","onTabHideStart","onTabHide","onTabHideProcess","onTabHideEnd","onTabRemoveStart","onTabRemove","onTabRemoveEnd","onLabelTarget","onUnsetStart","onUnset","onRequestStart","onRequestEnd","onRequestError","onRequestSuccess","onRequestAbort","onContentRenderStart","onContentRender","onContentRenderEnd"],params:{renderStructure:!1,embedStructureOnRender:!1,controllerEvents:!0,renderTabView:!1,setInitialTab:!1,setInitialTabImmediately:!0,active:null,items:[],processTabs:!0,targetEvent:"click",toggleOnHashChange:!1,showLoader:!0,responseKey:"data",responseHTML:!0,cache:!1,ajax:{type:"json",method:"get",url:"",params:""},overlayConstructor:"Com.Overlay",overlayParams:{position:"absolute",lazy:!0,autoOpen:!1,removeOnClose:!0}},strings:{server_error:"{#var:cm._strings.common.server_error}"}},function(){Com.AbstractController.apply(this,arguments)}),cm.getConstructor("Com.TabsetHelper",function(e,t,s,n){s.construct=function(){var e=this;e.nodes={container:cm.node("div"),labels:[],tabs:[],select:cm.node("select")},e.ajaxHandler=null,e.isAjax=!1,e.isProcess=!1,e.targetEvent=null,e.current=!1,e.previous=!1,e.items={},e.itemsList=[],e.hashChangeHandler=e.hashChange.bind(e),n.prototype.construct.apply(e,arguments)},s.validateParams=function(){var e=this;e.triggerEvent("onValidateParamsStart"),cm.isEmpty(e.params.ajax.url)||(e.isAjax=!0),"hover"===e.params.targetEvent?e.targetEvent="mou
1seover":e.targetEvent="click",e.triggerEvent("onValidateParams"),e.triggerEvent("onValidateParamsProcess"),e.triggerEvent("onValidateParamsEnd")},s.onSetEvents=function(){this.params.toggleOnHashChange&&cm.addEvent(window,"hashchange",this.hashChangeHandler)},s.onUnsetEvents=function(){this.params.toggleOnHashChange&&cm.removeEvent(window,"hashchange",this.hashChangeHandler)},s.onConstructEnd=function(){this.setInitialTab()},s.renderViewModel=function(){let t=this;n.prototype.renderViewModel.apply(t,arguments),t.params.processTabs&&t.processTabs(t.nodes.tabs,t.nodes.labels),cm.forEach(t.params.items,e=>t.renderTab(e)),t.processSelect(t.nodes.select),cm.getConstructor(t.params.overlayConstructor,e=>{t.components.loader=new e(t.params.overlayParams)})},s.processTab=function(e,t){var n=cm.merge(this.getNodeDataConfig(e.container),this.getNodeDataConfig(t.container)),n=cm.merge(n,{tab:e,label:t});this.addTab(n)},s.processTabs=function(e,a){let s=this;e=e.length?e:a;let o=[];return cm.forEach(e,(e,t)=>{var t=a[t],n=cm.merge(s.getNodeDataConfig(e.container),s.getNodeDataConfig(t.container)),n=cm.merge(n,{tab:e,label:t});o.push(n)}),s.addTabs(o),s},s.renderTab=function(e){var t=this,n=(e=cm.merge({index:t.itemsList.length,id:"",title:"",titleContent:null,content:null,tab:{container:cm.node("li"),inner:cm.node("div")},label:{container:cm.node("li"),link:cm.node("a")},menu:{container:cm.node("li"),link:cm.node("a")},callback:null,constructor:null,constructorParams:{},constructorEventName:"onLoadEnd",className:"",cache:null,ajax:{},isHidden:!1,isShow:!1,isAjax:!1,isCached:!1},e),cm.isEmpty(e.id)?e.index:e.id),a=t.params.name.replace(/\s+/g,"-"),n=String(n).replace(/\s+/g,"-");return e.tabName=`tabset--${a}--tab--`+n,e.labelName=`tabset--${a}--label--`+n,e.contentName=a+"--"+n,cm.isBoolean(e.cache)||(e.cache=t.params.cache),t.params.renderTabView&&t.renderTabView(e),cm.isEmpty(e.ajax.url)||(e.isAjax=!0),cm.isEmpty(e.className)||(cm.addClass(e.label.container,e.className),cm.addClass(e.menu.container,e.className),cm.addClass(e.tab.container,e.className)),cm.isEmpty(e.id)||t.items[e.id]||(e.isHidden&&(cm.addClass(e.label.container,"hidden"),cm.addClass(e.menu.container,"hidden"),cm.addClass(e.tab.container,"hidden")),t.renderTabTarget(e,e.label.container),t.renderTabTarget(e,e.menu.container),t.itemsList.push(e),t.items[e.id]=e),t},s.renderTabTarget=function(t,e){let n=this;n.targetEvent&&("click"===n.targetEvent?cm.click.add(e,e=>{cm.preventDefault(e),cm.stopPropagation(e),n.tabTarget(t)}):cm.addEvent(e,n.targetEvent,e=>{cm.preventDefault(e),cm.stopPropagation(e),n.tabTarget(t)}))},s.tabTarget=function(e){this.triggerEvent("onLabelTarget",e),this.params.toggleOnHashChange?window.location.hash=e.id:this.setTab(e.id)},s.renderTabView=function(e){},s.removeTab=function(e){var t=this,e=t.items[e];return e&&(t.triggerEvent("onTabRemove",e),e.id===t.current&&t.setByIndex(0),cm.remove(e.tab.container),cm.remove(e.label.container),t.itemsList=cm.arrayRemove(t.itemsList,e),delete t.items[e.id],t.triggerEvent("onTabRemove",e),t.triggerEvent("onTabRemoveEnd",e)),t},s.setTab=function(e,t){var n=this;cm.isBoolean(t)&&(t={isInitial:t}),t=cm.merge({isInitial:!1},t);let a=n.items[e];return a&&n.current!==e&&(n.isInitial=t.isInitial,n.tabChangeStart(a),n.unsetTab(n.current,{action:"onSetTab"}),n.triggerEvent("onTabShowStart",a),n.previous=n.current,n.current=e,a.isShow=!0,n.triggerEvent("onTabShowProcess",a),!n.previous&&n.params.setInitialTabImmediately&&(cm.addClass(a.tab.container,"is-immediately"),cm.addClass(a.label.container,"is-immediately"),setTimeout(()=>{cm.removeClass(a.tab.container,"is-immediately"),cm.removeClass(a.label.container,"is-immediately")},5)),cm.addClass(a.label.container,"active",!0),cm.addClass(a.tab.container,"active",!0),cm.setSelect(n.nodes.select,n.current),n.refreshTab(n.current)),n},s.unsetTab=function(e,t){var n=this,e=(t=cm.merge({action:null},t),n.items[e]);return e&&(n.isProcess&&n.abort(),n.triggerEvent("onTabHideStart",e),e.isShow=!1,n.triggerEvent("onTabHideProcess",e),cm.removeClass(e.label.container,"active"),cm.removeClass(e.tab.container,"active"),n.tabHideEnd(e,t)),n},s.refreshTab=function(e){let n=this,a=n.items[e];a.constructor?a.controller?(a.controller.refresh?.(),n.tabShowEnd(a,{})):cm.getConstructor(a.constructor,e=>{var t={[a.constructorEventName]:()=>n.tabShowEnd(a,{})};a.controller=new e(cm.merge(a.constructorParams,{container:a.tab.
1inner,events:t}))}):cm.isFunction(a.callback)?(a.callback(a),n.tabShowEnd(a,{})):!a.isAjax||a.cache&&(a.cache,a.isCached)?n.tabShowEnd(a,{}):n.ajaxHandler=s.callbacks.request(n,{config:cm.merge(n.params.ajax,a.ajax)},a)},s.unsetHead=function(){var e=this.items[this.current];return e&&cm.removeClass(e.label.container,"active"),this},s.getInitialTab=function(){var t=this;if(cm.isEmpty(t.itemsList)||cm.isEmpty(t.items))return null;if(t.params.toggleOnHashChange){let e=window.location.hash.slice(1);if(t.isValidTab(e))return e}let e=t.params.active;return t.isValidTab(e)?e:t.itemsList[0].id},s.setInitialTab=function(){var e=this,t=e.params.setInitialTab?e.getInitialTab():e.params.active;e.isValidTab(t)&&e.setTab(t,!0)},s.isValidTab=function(e){return!!this.getTab(e)},s.tabChangeStart=function(e){this.triggerEvent("onTabChangeStart",e)},s.tabShowEnd=function(e,t){var n=this;e.id===n.current&&((t=cm.merge({redrawContent:!0,triggerEvents:!0},t)).redrawContent&&n.redrawTabContent(e),t.triggerEvents)&&(n.triggerEvent("onTabShow",e,t),n.triggerEvent("onTabShowEnd",e,t),n.current!==n.previous)&&(n.triggerEvent("onTabChange",e,t),n.triggerEvent("onTabChangeEnd",e,t))},s.tabHideEnd=function(e,t){(t=cm.merge({triggerEvents:!0},t)).triggerEvents&&(this.triggerEvent("onTabHide",e),this.triggerEvent("onTabHideEnd",e))},s.redrawTabContent=function(e){cm.customEvent.trigger(e.tab.container,"redraw",{direction:"child",self:!1})},s.processSelect=function(e){let t=this;cm.addEvent(e,"change",()=>t.setTab(e.value))},s.hashChange=function(){var e=decodeURIComponent(window.location.hash.slice(1));this.isValidTab(e)&&this.setTab(e)},s.callbacks.prepare=function(e,t,n){return t.config=e.callbacks.beforePrepare(e,t,n),t.config.url=cm.strReplace(t.config.url,{"%tab%":n.id,"%baseUrl%":cm._baseUrl}),t.config.params=cm.objectReplace(t.config.params,{"%tab%":n.id,"%baseUrl%":cm._baseUrl}),t.config=e.callbacks.afterPrepare(e,t,n),t.config},s.callbacks.beforePrepare=function(e,t,n){return t.config},s.callbacks.afterPrepare=function(e,t,n){return t.config},s.callbacks.request=function(t,n,a){return(n=cm.merge({response:null,config:null,data:null},n)).config=t.callbacks.prepare(t,n,a),cm.ajax(cm.merge(n.config,{onStart:()=>{s.callbacks.start(t,n,a)},onSuccess:e=>{n.response=e,s.callbacks.response(t,n,a)},onError:()=>{s.callbacks.error(t,n,a)},onAbort:()=>{s.callbacks.abort(t,n,a)},onEnd:()=>{s.callbacks.end(t,n,a)}}))},s.callbacks.start=function(e,t,n){e.isProcess=!0,e.params.showLoader&&e.components.loader.embed(n.tab.container).open(),e.triggerEvent("onRequestStart",n,t)},s.callbacks.end=function(e,t,n){e.isProcess=!1,e.params.showLoader&&e.components.loader.close(),e.triggerEvent("onRequestEnd",n,t)},s.callbacks.filter=function(e,t,n){e=cm.objectSelector(e.params.responseKey,t.response);return e&&!cm.isEmpty(e)?e:null},s.callbacks.response=function(e,t,n){cm.isEmpty(t.response)||(t.data=s.callbacks.filter(e,t,n)),cm.isEmpty(t.data)?s.callbacks.error(e,t,n):s.
1callbacks.success(e,t,n)},s.callbacks.error=function(e,t,n){s.callbacks.renderError(e,t,n),e.triggerEvent("onRequestError",n,t)},s.callbacks.success=function(e,t,n){s.callbacks.render(e,t,n),e.triggerEvent("onRequestSuccess",n,t)},s.callbacks.abort=function(e,t,n){e.triggerEvent("onRequestAbort",n,t)},s.callbacks.render=function(e,t,n){n.isCached=!0,n.data=t.data,e.triggerEvent("onContentRenderStart",n,t),s.callbacks.renderContent(e,t,n),e.triggerEvent("onContentRender",n,t),e.triggerEvent("onContentRenderEnd",n,t),e.tabShowEnd(n,t)},s.callbacks.renderContent=function(e,t,n){e.params.responseHTML&&(e=cm.strToHTML(t.data),cm.clearNode(n.tab.inner),cm.appendNodes(e,n.tab.inner))},s.callbacks.renderError=function(e,t,n){e.params.responseHTML&&(e=cm.node("div",{classes:"cm__empty"},e.msgParse("server_error")),cm.clearNode(n.tab.inner),cm.appendChild(e,n.tab.inner))},s.set=function(e,t){return this.items[e]&&this.setTab(e,t),this},s.setByIndex=function(e,t){e=this.itemsList[e];return e&&this.setTab(e.id,t),this},s.unset=function(){var e=this;return e.triggerEvent("onUnsetStart"),e.unsetTab(e.current,{action:"onUnset"}),e.params.toggleOnHashChange&&(window.location.hash=""),e.current=null,e.previous=null,e.triggerEvent("onUnset"),e},s.get=function(){return this.current},s.refresh=function(){return cm.isUndefined(this.current)||this.refreshTab(this.current),this},s.addTab=function(e){return this.renderTab(e),this},s.addTabs=function(e){let t=this;return cm.forEach(e,e=>t.renderTab(e)),t},s.getTab=function(e){return e&&this.items[e]?this.items[e]:null},s.getTabs=function(){return this.items},s.getCurrentTab=function(){return this.items[this.current]},s.getTabsCount=function(){return this.itemsList.length},s.isTabEmpty=function(e){e=this.getTab(e);return!(e&&e.tab.inner.childNodes.length)},s.abort=function(){return this.ajaxHandler&&this.ajaxHandler.abort&&this.ajaxHandler.abort(),this}}),cm.define("Com.ScrollPagination",{extend:"Com.AbstractController",events:["onRebuild","onStart","onAbort","onError","onEmpty","onPageRender","onPageRenderEnd","onPageShow","onPageHide","onPlaceholderRender","onPlaceholderRenderEnd","onPlaceholderRemove","onPlaceholderRemoveEnd","onEnd","onFinalize","onSetCount","onButtonShow","onButtonHide","onLoaderShow","onLoaderHide"],params:{controllerEvents:!0,renderStructure:!1,embedStructureOnRender:!1,embedStructure:"append",clearOnRebuild:!1,resizeEvent:!0,scrollEvent:!0,scrollNode:window,scrollIndent:"Math.max(%scrollHeight% / (3 / 2), 600)",disabled:!1,data:[],count:null,perPage:0,startPage:1,startPageToken:"",startOffset:0,pageCount:0,useToken:!1,autoSend:!0,showButton:void 0,showLoader:!0,loaderDelay:"cm._config.loadDelay",setDelay:"cm._config.loadDelay",stopOnESC:!0,pageTag:"div",pageAttributes:{class:"com__scroll-pagination__page"},button:{enable:!0,classes:["button","button-primary"]},placeholder:{enable:!1,embedLoader:!0},responseCountKey:"count",responseTokenKey:"token",responseKey:"data",responseErrorsKey:"errors",responseHTML:!1,ajax:{type:"json",method:"get",url:"",params:""}},strings:{load_more:"Load More",server_error:"{#var:cm._strings.common.server_error}"}},function(){Com.AbstractController.apply(this,arguments)}),cm.getConstructor("Com.ScrollPagination",function(classConstructor,className,classProto,classInherit){classProto.construct=function(){var e=this;e.nodes={container:cm.node("div"),scroll:null,bar:cm.node("div"),barHolder:cm.node("div"),content:cm.node("div"),pages:cm.node("div"),button:cm.node("div"),loader:cm.node("div")},e.pages=[],e.ajaxHandler=null,e.loaderDelay=null,e.setDelay=null,e.currentAction=null,e.currentPlaceholder=null,e.isAjax=!1,e.isProcess=!1,e.isFinalize=!1,e.isButton=!1,e.isDisabled=!1,e.page=null,e.pageToken=null,e.currentPage=null,e.previousPage=null,e.nextPage=null,e.itemCount=null,e.pageCount=null,e.keyDownEventHandler=e.keyDownEvent.bind(e),e.setHandler=e.set.bind(e),classInherit.prototype.construct.apply(e,arguments)},classProto.validateParams=function(){var e=this;e.triggerEvent("onValidateParamsStart"),e.triggerEvent("onValidateParams"),e.triggerEvent("onValidateParamsProcess"),e.isDisabled=e.params.disabled,e.nodes.scroll&&(e.params.scrollNode=e.nodes.scroll),cm.isUndefined(e.params.showButton)||(e.params.button.enable=e.params.showButton),cm.isEmpty(e.params.ajax.url)?e.params.showLoader=!1:e.isAjax=!0,e.itemCount=e.params.count,e.setPageCount(),e.setToken(e.params.startPage,e.params.startPageToken),e.nextPage=e.params.startPage,e.triggerEvent("onValidateParamsEnd")},classProto.setEventsHandler=function(){classInherit.prototype.setEventsHandler.apply(this,arguments),this.params.stopOnESC&&cm.addEvent(window,"keydown",this.keyDownEventHandler)},classProto.unsetEventsHandler=function(){classInherit.prototype.unsetEventsHandler.apply(this,arguments),this.params.stopOnESC&&cm.removeEvent(window,"keydown",this.keyDownEventHandler)},classProto.onConstructEnd=function(){this.params.autoSend&&this.set()},classProto.onDestructStart=function(){this.components.observer?.disconnect()},classProto.onScrollUpdate=function(){this.checkForRequest()&&this.set()},classProto.renderView=function(){var e=this;e.nodes.container=cm.node("div",{classes:"com__scroll-pagination"},e.nodes.content=cm.node("div",{classes:"com__scroll-pagination__content"},e.nodes.pages=cm.node("div",{classes:"com__scroll-pagination__pages"}))),e.nodes.bar=cm.node("div",{classes:"com__scroll-pagination__bar"}
1,e.nodes.button=cm.node("button",{classes:e.params.button.classes},e.lang("load_more")),e.nodes.loader=cm.node("div",{classes:"button button-clear has-icon has-icon has-icon-small"},cm.node("div",{classes:"icon small loader"}))),e.embedButton(e.nodes.container)},classProto.renderViewModel=function(){let t=this;classInherit.prototype.renderViewModel.apply(t,arguments),t.components.observer=new IntersectionObserver(t.isPagesVisible.bind(t),{root:null,rootMargin:"0px",threshold:t.params.threshold}),t.resetStyles(),cm.click.add(t.nodes.button,e=>{cm.preventDefault(e),t.set()})},classProto.resetStyles=function(){var e=this;e.callbacks.removePlaceholder(e,e.currentPlaceholder),e.currentPlaceholder=null,e.params.button.enable&&"none"!==e.params.button.enable?e.callbacks.showButton(e):e.callbacks.hideButton(e),e.callbacks.hideLoader(e)},classProto.keyDownEvent=function(e){let t=this;cm.handleKey(e,"Escape",()=>{t.isDisabled||t.isProcess||t.isFinalize||"none"===t.params.button.enable||t.callbacks.showButton(t)})},classProto.checkForScrollBottom=function(){var e=cm.getScrollTop(this.params.scrollNode),t=cm.getScrollHeight(this.params.scrollNode);return e+cm.getRect(this.params.scrollNode).height>=t},classProto.checkForRequest=function(){let that=this,scrollRect=cm.getRect(that.params.scrollNode),pagesRect=cm.getRect(that.nodes.pages);if(!(that.isDisabled||cm.isProcess||that.isFinalize||that.isButton||that.checkForButton())){let scrollIndent=eval(cm.strReplace(that.params.scrollIndent,{"%scrollHeight%":scrollRect.bottom-scrollRect.top}));if(pagesRect.bottom-scrollRect.bottom<=scrollIndent)return!0}return!1},classProto.checkForButton=function(){return!0===this.params.button.enable||"once"===this.params.button.enable&&this.params.startPage===this.page},classProto.checkForPlaceholder=function(){var e=this;return!0===e.params.placeholder.enable||"auto"===e.params.placeholder.enable&&e.params.startPage!==e.page&&!e.isButton},classProto.callbacks.prepare=function(e,t){return(t=e.callbacks.beforePrepare(e,t)).url=cm.strReplace(t.url,{"%perPage
1%":e.params.perPage,"%limit%":e.params.perPage,"%page%":e.page,"%offset%":(e.page-1)*e.params.perPage+e.params.startOffset,"%token%":e.pageToken,"%baseUrl%":cm._baseUrl}),t.params=cm.objectReplace(t.params,{"%perPage%":e.params.perPage,"%limit%":e.params.perPage,"%page%":e.page,"%offset%":(e.page-1)*e.params.perPage+e.params.startOffset,"%token%":e.pageToken,"%baseUrl%":cm._baseUrl}),t=e.callbacks.afterPrepare(e,t)},classProto.callbacks.beforePrepare=function(e,t){return t},classProto.callbacks.afterPrepare=function(e,t){return t},classProto.callbacks.request=function(t,n){return n=t.callbacks.prepare(t,n),t.currentAction=n,cm.ajax(cm.merge(n,{onStart:function(){t.callbacks.start(t,n)},onSuccess:function(e){t.callbacks.response(t,n,e)},onError:function(){t.callbacks.error(t,n)},onAbort:function(){t.callbacks.abort(t,n)},onEnd:function(){t.callbacks.end(t)}}))},classProto.callbacks.filter=function(e,t,n){var a=cm.objectPath(e.params.responseErrorsKey,n),s=cm.objectPath(e.params.responseKey,n),o=cm.objectPath(e.params.responseCountKey,n),n=cm.objectPath(e.params.responseTokenKey,n);let r=[];return cm.isEmpty(a)&&(cm.isEmpty(s)||(r=cm.isArray(s)&&e.params.perPage?s.slice(0,e.params.perPage):s),cm.isEmpty(o)||e.setCount(o),cm.isEmpty(n)||e.setToken(e.nextPage,n),e.params.useToken)&&cm.isEmpty(n)&&e.callbacks.finalize(e),r},classProto.callbacks.response=function(e,t,n){e.setPage(),n=n&&e.callbacks.filter(e,t,n),cm.isEmpty(n)?(e.callbacks.renderEmpty(e),e.callbacks.finalize(e)):e.callbacks.render(e,n)},classProto.callbacks.error=function(e,t){e.triggerEvent("onError"),e.callbacks.finalize(e)},classProto.callbacks.abort=function(e,t){e.triggerEvent("onAbort")},classProto.callbacks.data=function(e,t){var n,a,s;e.callbacks.start(e),e.setPage(),cm.isEmpty(t)?e.callbacks.render(e,t):0===e.params.perPage?(e.callbacks.render(e,t),e.callbacks.finalize(e)):0<e.params.perPage&&(n=t.length,a=(e.page-1)*e.params.perPage,s=e.page*e.params.perPage,n<=a?e.callbacks.finalize(e):(t=t.slice(a,Math.min(s,n)),e.callbacks.render(e,t)),n<=s)&&e.callbacks.finalize(e),e.callbacks.end(e)},classProto.callbacks.render=function(e,t){var n=cm.getScrollTop(e.params.scrollNode),a=e.checkForScrollBottom(),t={page:e.page,token:e.pageToken,pages:e.nodes.pages,data:t,isEmpty:!1,isVisible:!1,isRendered:!0};t.container=e.callbacks.renderContainer(e,t),e.pages[e.page]=t,e.triggerEvent("onPageRender",t),e.callbacks.renderPage(e,t),e.currentPlaceholder?cm.insertBefore(t.container,e.currentPlaceholder.container):cm.appendChild(t.container,e.nodes.pages),cm.addClass(t.container,"is-loaded",!0),e.components.observer.observe(t.container),a&&cm.setScrollTop(e.params.scrollNode,n),e.triggerEvent("onPageRenderEnd",t)},classProto.callbacks.renderContainer=function(e,t){return cm.node(e.params.pageTag,e.params.pageAttributes)},classProto.callbacks.renderPage=function(e,t){e.params.responseHTML&&(e=cm.strToHTML(t.data),cm.appendNodes(e,t.container))},classProto.callbacks.removePage=function(e,t){t&&t.isRendered&&(e.components.observer.unobserve(t.container),cm.remove(t.container))},classProto.callbacks.renderPlaceholder=function(e,t){var n={page:e.page,token:e.pageToken,pages:e.nodes.pages};return n.container=e.callbacks.renderContainer(e),cm.addClass(n.container,"is-placeholder"),e.triggerEvent("onPlaceholderRender",n),cm.appendChild(n.container,e.nodes.pages),e.triggerEvent("onPlaceholderRenderEnd",n),n},classProto.callbacks.removePlaceholder=function(e,t){t&&(e.triggerEvent("onPlaceholderRemove",t),cm.remove(t.container),e.triggerEvent("onPlaceholderRemoveEnd",t))},classProto.callbacks.renderEmpty=function(e){var t={page:e.page,token:e.pageToken,pages:e.nodes.pages};e.triggerEvent("onEmpty",t)},classProto.callbacks.start=function(e,t){e.isProcess=!0,e.currentPlaceholder&&(e.callbacks.removePlaceholder(e,e.currentPlaceholder),e.currentPlaceholder=null),e.checkForPlaceholder()&&(e.currentPlaceholder=e.callbacks.renderPlaceholder(e,t)),e.params.showLoader&&(e.currentPlaceholder&&e.params.placeholder.embedLoader&&cm.appendChild(e.nodes.bar,e.currentPlaceholder.container),e.isButton?e.callbacks.showLoader(e):e.loaderDelay=setTimeout(()=>e.callbacks.showLoader(e),e.params.loaderDelay)),e.triggerEvent("onStart")},classProto.callbacks.end=function(e){e.isProcess=!1,e.params.showLoader&&(e.currentPlaceholder&&cm.appendChild(e.nodes.bar,e.nodes.barHolder),e.loaderDelay&&clearTimeout(e.loaderDelay),e.callbacks.hideLoader(e)),e.callbacks.removePlaceholder(e,e.currentPlaceholder),e.currentPlaceholder=null,(0===e.itemCount||0<e.pageCount&&e.pageCount===e.currentPage)&&e.callbacks.finalize(e),e.callbacks.toggleButton(e),e.triggerEvent("onEnd"),e.checkForRequest()&&
1(e.setDelay=setTimeout(e.setHandler,e.params.setDelay))},classProto.callbacks.finalize=function(e){e.isFinalize||(e.isFinalize=!0,e.callbacks.hideButton(e),e.triggerEvent("onFinalize"))},classProto.callbacks.toggleButton=function(e){!e.isFinalize&&e.checkForButton()?e.callbacks.showButton(e):e.callbacks.hideButton(e)},classProto.callbacks.showButton=function(e){e.isButton=!0,cm.removeClass(e.nodes.button,"is-hidden"),cm.removeClass(e.nodes.bar,"is-hidden"),e.nodes.barHolder!==e.nodes.container&&cm.removeClass(e.nodes.barHolder,"is-hidden"),e.triggerEvent("onButtonShow")},classProto.callbacks.hideButton=function(e){e.isButton=!1,cm.addClass(e.nodes.button,"is-hidden"),cm.addClass(e.nodes.bar,"is-hidden"),e.nodes.barHolder!==e.nodes.container&&cm.addClass(e.nodes.barHolder,"is-hidden"),e.triggerEvent("onButtonHide")},classProto.callbacks.showLoader=function(e){cm.addClass(e.nodes.button,"is-hidden"),cm.removeClass(e.nodes.loader,"is-hidden"),cm.removeClass(e.nodes.bar,"is-hidden"),e.triggerEvent("onLoaderShow")},classProto.callbacks.hideLoader=function(e){cm.addClass(e.nodes.loader,"is-hidden"),e.triggerEvent("onLoaderHide")},classProto.rebuild=classProto.request=function(e){var t=this;return t.isProcess&&t.abort(),t.pages=[],t.page=null,t.pageToken=null,t.currentPage=null,t.previousPage=null,t.nextPage=null,t.itemCount=null,t.pageCount=null,t.isFinalize=!1,cm.isEmpty(e)||t.setParams(e),t.validateParams(),t.resetStyles(),t.params.clearOnRebuild&&t.clear(),t.triggerEvent("onRebuild"),t.set(),t},classProto.clear=function(){let t=this;return cm.forEach(t.pages,e=>t.callbacks.removePage(t,e)),cm.clearNode(t.nodes.pages),t},classProto.set=function(){var e,t=this;return t.setDelay&&clearTimeout(t.setDelay),t.isProcess||t.isFinalize||(t.page=t.nextPage,t.pageToken=t.pages[t.page]?t.pages[t.page].token:"",t.isAjax?(e=cm.clone(t.params.ajax),t.ajaxHandler=t.callbacks.request(t,e)):t.callbacks.data(t,t.params.data)),t},classProto.setToken=function(e,t){return this.pages[e]||(this.pages[e]={}),this.pages[e].token=t,this},classProto.setCount=function(e){var t=this;return cm.isString(e)&&(e=parseInt(e)),cm.isNumber(e)&&e!==t.itemCount&&(t.itemCount=e,t.setPageCount(),(0===t.itemCount||0<t.pageCount&&t.pageCount===t.currentPage)&&t.callbacks.finalize(t),t.triggerEvent("onSetCount",e)),t},classProto.setPageCount=function(){var e=this;return 0===e.params.pageCount&&e.itemCount&&e.params.perPage?e.pageCount=Math.ceil(e.itemCount/e.params.perPage):e.pageCount=e.params.pageCount,e},classProto.setAction=function(e,t,n,a){var s=this;switch(t=cm.inArray(["raw","update","current"],t)?t:"current",n=!cm.isUndefined(n)&&n,a=!!cm.isUndefined(a)||a,t){case"raw":s.params.ajax=cm.merge(s._raw.params.ajax,e);break;case"current":s.params.ajax=cm.merge(s.params.ajax,e);break;case"update":s.params.ajax=cm.merge(s._update.params.ajax,e)}return n&&(s._update.params.ajax=cm.clone(s.params.ajax)),a&&s.rebuild(),s},classProto.getAction=function(){return this.params.ajax},classProto.getCurrentAction=function(){return this.currentAction},classProto.getPages=function(){return this.pages},classProto.setPage=function(){var e=this;return e.previousPage=e.currentPage,e.currentPage=e.nextPage,e.nextPage++,e},classProto.isPagesVisible=function(e){let n=this;cm.forEach(n.pages,t=>{cm.forEach(e,e=>{t.container===e.target&&(e.isIntersecting?(t.isVisible=!0,cm.removeClass(t.container,"is-hidden"),n.triggerEvent("onPageShow",t)):(t.isVisible=!1,cm.addClass(t.container,"is-hidden"),n.triggerEvent("onPageHide",t)))})})},classProto.isEmpty=function(){return!this.pages.find(e=>!1===e?.isEmpty)},classProto.finalize=function(){return this.callbacks.finalize(this),this},classProto.abort=function(){return this.ajaxHandler&&this.ajaxHandler.abort&&this.ajaxHandler.abort(),this},classProto.disable=function(){return this.isDisabled=!0,this},classProto.enable=function(){return this.isDisabled=!1,this},classProto.embedButton=function(e){this.nodes.barHolder=e,cm.appendChild(this.nodes.bar,e)},classProto.isParent=function(e,t){return cm.isParent(this.nodes.container,e,t)}}),cm.define("Com.Calendar",{modules:["Params","Events","Langs","DataConfig","Stack","Structure"],events:["onRender","onDayOver","onDayOut","onDayClick","onDayRender","onPrevMonthRequest","onNextMonthRequest","onMonthRequest","onMonthRender"],params:{customEvents:!0,node:cm.node("div"),name:"",className:"",modifiers:[],startYear:1950,endYear:"current + 10",startMonth:null,endM
1onth:null,renderMonthOnInit:!0,startWeekDay:0,renderSelects:!0,renderArrows:!1,renderSelectsInBody:!0,changeMonthOnClick:!0,renderMonthOnRequest:!0,dayClasses:[],dayButtonRole:"radio"},strings:{daysAbbr:cm._strings.daysAbbr,days:cm._strings.days,months:cm._strings.months,month:"Month",year:"Year",prev:"Previous month",next:"Next month"}},function(params){var that=this,nodes={selects:{}},selects={},today=new Date,current={year:today.getFullYear(),month:today.getMonth()},previous={},next={},init=(that.isDestructed=null,function(){that.destructHandler=that.destruct.bind(that),that.setParams(params),that.convertEvents(that.params.events),that.getDataConfig(that.params.node),validateParams(),render(),setMiscEvents(),setEvents(),that.params.renderMonthOnInit&&renderView(),that.addToStack(nodes.container),that.triggerEvent("onRender")}),validateParams=function(){/current/.test(that.params.startYear)&&(that.params.startYear=eval(cm.strReplace(that.params.startYear,{current:(new Date).getFullYear()}))),/current/.test(that.params.endYear)&&(that.params.endYear=eval(cm.strReplace(that.params.endYear,{current:(new Date).getFullYear()})))},render=function(){nodes.container=cm.node("div",{classes:"com__calendar"},cm.node("table",cm.node("thead",nodes.days=cm.node("tr")),nodes.dates=cm.node("tbody"))),cm.addClass(nodes.container,that.params.className),cm.forEach(that.params.modifiers,e=>{cm.addClass(nodes.container,"com__calendar--"+e)}),nodes.selects=cm.node("div",{classes:"selects"},nodes.months=cm.node("select",{classes:"select months"}),nodes.years=cm.node("select",{classes:"select years"})),that.params.renderSelects&&cm.insertFirst(nodes.selects,nodes.container),that.params.renderArrows&&(nodes.prev=cm.node("button",{classes:["button-primary","arrow"],title:that.msg("prev"),"aria-label":that.msg("prev")},"<"),cm.click.add(nodes.prev,that.prevMonth.bind(that)),cm.insertFirst(nodes.prev,nodes.selects),nodes.next=cm.node("button",{classes:["button-primary","arrow"],title:that.msg("next"),"aria-label":that.msg("next")},">"),cm.click.add(nodes.next,that.nextMonth.bind(that)),cm.insertLast(nodes.next,nodes.selects)),cm.forEach(7,e=>{e=6<(e=e+that.params.startWeekDay)?Math.abs(6-(e-1)):e;nodes.days.appendChild(cm.node("th",{title:that.msg("days")[e]},that.msg("daysAbbr")[e]))}),that.msg("months").forEach((e,t)=>{nodes.months.appendChild(cm.node("option",{value:t},e))});for(let e=that.params.endYear;e>=that.params.startYear;e--)nodes.years.appendChild(cm.node("option",{value:e},e));that.embedStructure(nodes.container)},setMiscEvents=function(){selects.years=new Com.Select({node:nodes.years,title:that.msg("year"),renderInBody:that.params.renderSelectsInBody}).set(current.year).addEvent("onChange",renderView),selects.months=new Com.Select({node:nodes.months,title:that.msg("month"),renderInBody:that.params.renderSelectsInBody}).set(current.month).addEvent("onChange",renderView)},setEvents=function(){that.params.customEvents&&cm.customEvent.add(nodes.container,"destruct",that.destructHandler)},unsetEvents=function(){that.params.customEvents&&cm.customEvent.remove(nodes.container,"destruct",that.destructHandler)},renderView=function(e){var t;e=cm.merge({render:that.params.renderMonthOnRequest,triggerEvents:!0,event:null},e),today=new Date,t=new Date(selects.years.get(),selects.months.get(),1),current=getMonthData(t),(t=new Date(current.year,current.month,1)).setMonth(current.month-1),previous=getMonthData(t),(t=new Date(current.year,current.month,1)).setMonth(current.month+1),next=getMonthData(t),e.triggerEvents&&(that.triggerEvent("onMonthRequest",current),e.event)&&that.triggerEvent(e.event,current),e.render&&(cm.clearNode(nodes.dates),cm.forEach(6,renderRow),e.triggerEvents)&&that.triggerEvent("onMonthRender",current)},renderRow=function(e){var t=current.startWeekDay-that.params.startWeekDay,n=7*(e-1)+1-(0<t?t-7:t),a=nodes.dates.appendChild(cm.node("tr"));cm.forEach(7,function(){renderCell(a,n),n++})},renderCell=function(e,t){var n={row:e,day:t,month:current.month,year:current.year,date:new Date(current.year,current.month,t),nodes:{},isWeekend:!1,isToday:!1};return n.container=n.nodes.container=cm.node("td",{classes:that.params.dayClasses}),t<=0?(cm.addClass(n.container,"out"),n.node=n.nodes.holder=renderDay(previous.dayCount+t),that.params.changeMonthOnClick&&(n.node.title=that.msg("prev"),cm.addEvent(n.node,"click",function(){that.prevMonth()}))):t>current.dayCount?(cm.addClass(n.container,"out"),n.node=n.nodes.holder=renderDay(t-current.dayCount),that.params.changeMonthOnClick&&(n.node.title=that.msg("next"),cm.addEvent(n.node,"click",function(){that.nextMonth()}))):(cm.addClass(n.container,"in"),n.node=n.nodes.holder=renderDay(t),n.node.setAttribute("role",that.params.dayButtonRole),n.node.setAttribute("tabindex",0),n.node.setAttribute("aria-checked",!1),today.getFullYear()===current.year&&today.getMonth()===current.month&&today.getDate()===t&&(n.isToday=!0,cm.addClass(n.container,"today")),cm.addEvent(n.node,"mouseover",function(){that.triggerEvent("onDayOver",n)}),cm.addEvent(n.node,"mouseout",function(){that.triggerEvent("onDayOut",n)}),cm.addEvent(n.node,"click",function(){that.triggerEvent("onDayCl
1ick",n)}),current.days[t]=n,that.triggerEvent("onDayRender",n)),/[06]/.test(n.date.getDay())&&(n.isWeekend=!0,cm.addClass(n.container,"weekend")),n.container.appendChild(n.node),n.row.appendChild(n.container),n},renderDay=function(e){return cm.node("div",{classes:"day"},cm.node("div",{classes:"label"},e))},getMonthData=function(e){e={date:e,year:e.getFullYear(),month:e.getMonth(),days:{},startWeekDay:e.getDay()};return e.dayCount=new Date(e.year,e.month+1,0).getDate(),e};that.set=function(e,t,n){return e>=that.params.startYear&&e<=that.params.endYear&&0<=t&&t<=11&&(selects.years.set(e,!1),selects.months.set(t,!1),renderView(n)),that},that.clear=function(e){var t=new Date;return selects.years.set(t.getFullYear(),!1),selects.months.set(t.getMonth(),!1),renderView(e),that},that.getCurrentMonth=function(){return current},that.getFullYear=function(){return current.year},that.getMonth=function(){return current.month},that.getDays=function(){return current.days},that.renderMonth=function(e){return renderView(e),that},that.prevMonth=function(e){return e=cm.merge(e,{event:"onPrevMonthRequest"}),previous.year>=that.params.startYear&&(selects.years.set(previous.year,!1),selects.months.set(previous.month,!1),renderView(e)),that},that.nextMonth=function(e){return e=cm.merge(e,{event:"onNextMonthRequest"}),next.year<=that.params.endYear&&(selects.years.set(next.year,!1),selects.months.set(next.month,!1),renderView(e)),that},that.selectDay=function(e){e&¤t.year===e.getFullYear()&¤t.month===e.getMonth()&&((e=current.days[e.getDate()]).nodes.holder.setAttribute("aria-checked",!0),cm.addClass(e.nodes.container,"selected"))},that.unSelectDay=function(e){e&¤t.year===e.getFullYear()&¤t.month===e.getMonth()&&((e=current.days[e.getDate()]).nodes.holder.setAttribute("aria-checked",!1),cm.removeClass(e.nodes.container,"selected"))},that.getNodes=function(e){return nodes[e]||nodes},that.destruct=function(){return this.isDestructed||(this.isDestructed=!0,selects.years.destruct(),selects.months.destruct(),unsetEvents(),this.removeFromStack()),this},init()}),cm.define("Com.CalendarEvents",{modules:["Params","Structure","Stack","DataConfig","Langs"],params:{node:cm.node("div"),container:null,embedStructure:"append",name:"",data:{},format:"cm._config.displayDateFormat",startYear:1950,endYear:(new Date).getFullYear()+10,startWeekDay:0,target:"_blank","Com.Tooltip":{className:"com__calendar-events__tooltip"}},strings:{daysAbbr:["S","M","T","W","T","F","S"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],months:["January","February","March","April","May","June","July","August","September","October","November","December"]}},function(e){var s=this,t=(s.nodes={},s.components={},function(e,n){var t,a;(t=(t=s.params.data[n.year])&&t[n.month+1])&&cm.forEach(t,function(e,t){(a=n.days[t])&&cm.addClass(a.container,"active")})}),n=function(e,t){var n,a={};(n=(n=(n=s.params.data[t.year])&&n[t.month+1])&&n[t.day])&&(a.content=cm.node("div",{class:"pt__listing com__calendar-events__listing"},a.list=cm.node("ul",{class:"list"})),cm.forEach(n,function(e){a.list.appendChild(cm.node("li",cm.node("a",{href:e.url,target:s.params.target},e.title)))}),s.components.tooltip.setTarget(t.node).setTitle(cm.dateFormat(t.date,s.params.format,s.lang())).setContent(a.content).show())};s.addData=function(e){return s.params.data=cm.merge(s.params.data,e),s.components.calendar.renderMonth(),s},s.replaceData=function(e){return s.params.data=e,s.components.calendar.renderMonth(),s},s.setParams(e),s.getDataConfig(s.params.node),s.nodes.container=cm.node("div",{class:"com__calendar-events"}),s.components.calendar=new Com.Calendar({node:s.nodes.container,renderMonthOnInit:!1,startYear:s.params.startYear,endYear:s.params.endYear,startWeekDay:s.params.startWeekDay,langs:s.params.langs}),s.components.tooltip=new Com.Tooltip(s.params["Com.Tooltip"]),s.embedStructure(s.nodes.container),s.components.calendar.addEvent("onDayOver",n).addEvent("onMonthRender",t).renderMonth(),s.addToStack(s.nodes.container)}),cm.define("Com.CollapsibleLayout",{modules:["Params","Events","DataConfig","DataNodes","Storage"],events:["onRender","onCollapseLeft","onExpandLeft","onCollapseRight","onExpandRight"],params:{node:cm.node("div"),remember:!1}}
1,function(e){var n=this,t=(n.nodes={leftButton:cm.node("div"),leftContainer:cm.node("div"),rightButton:cm.node("div"),rightContainer:cm.node("div")},n.isLeftCollapsed=!1,n.isRightCollapsed=!1,function(){var e,t;cm.addEvent(n.nodes.leftButton,"click",s),cm.addEvent(n.nodes.rightButton,"click",a),n.isLeftCollapsed=cm.isClass(n.params.node,"is-sidebar-left-collapsed"),n.isRightCollapsed=cm.isClass(n.params.node,"is-sidebar-right-collapsed"),n.params.remember&&(e=n.storageRead("isLeftCollapsed"),t=n.storageRead("isRightCollapsed"),n.isLeftCollapsed=null!==e?e:n.isLeftCollapsed,n.isRightCollapsed=null!==t?t:n.isRightCollapsed),cm.inDOM(n.nodes.leftContainer)&&"none"!=cm.getStyle(n.nodes.leftContainer,"display")||(n.isLeftCollapsed=!0),cm.inDOM(n.nodes.rightContainer)&&"none"!=cm.getStyle(n.nodes.rightContainer,"display")||(n.isRightCollapsed=!0),n.isLeftCollapsed?n.collapseLeft(!0):n.expandLeft(!0),n.isRightCollapsed?n.collapseRight(!0):n.expandRight(!0),n.triggerEvent("onRender")}),a=function(){n.isRightCollapsed?n.expandRight():n.collapseRight()},s=function(){n.isLeftCollapsed?n.expandLeft():n.collapseLeft()};n.collapseLeft=function(e){return n.isLeftCollapsed=!0,e&&cm.addClass(n.params.node,"is-immediately"),cm.replaceClass(n.params.node,"is-sidebar-left-expanded","is-sidebar-left-collapsed",!0),e&&cm.removeClass(n.params.node,"is-immediately"),n.params.remember&&n.storageWrite("isLeftCollapsed",!0),n.triggerEvent("onCollapseLeft"),n},n.expandLeft=function(e){return n.isLeftCollapsed=!1,e&&cm.addClass(n.params.node,"is-immediately"),cm.replaceClass(n.params.node,"is-sidebar-left-collapsed","is-sidebar-left-expanded",!0),setTimeout(function(){e&&cm.removeClass(n.params.node,"is-immediately")},5),n.params.remember&&n.storageWrite("isLeftCollapsed",!1),n.triggerEvent("onExpandLeft"),n},n.collapseRight=function(e){return n.isRightCollapsed=!0,e&&cm.addClass(n.params.node,"is-immediately"),cm.replaceClass(n.params.node,"is-sidebar-right-expanded","is-sidebar-right-collapsed",!0),setTimeout(function(){e&&cm.removeClass(n.params.node,"is-immediately")},5),n.params.remember&&n.storageWrite("isRightCollapsed",!0),n.triggerEvent("onCollapseRight"),n},n.expandRight=function(e){return n.isRightCollapsed=!1,e&&cm.addClass(n.params.node,"is-immediately"),cm.replaceClass(n.params.node,"is-sidebar-right-collapsed","is-sidebar-right-expanded",!0),e&&cm.removeClass(n.params.node,"is-immediately"),n.params.remember&&n.storageWrite("isRightCollapsed",!1),n.triggerEvent("onExpandRight"),n},n.setParams(e),n.convertEvents(n.params.events),n.getDataNodes(n.params.node),n.getDataConfig(n.params.node),t()}),cm.define("Com.Collector",{modules:["Params","Events","DataConfig","Stack"],events:["onRenderStart","onRender","onAdd","onRemove","onConstructStart","onConstruct","onDestructStart","onDestruct"],params:{node:"document.body",name:"",attribute:"data-element",autoInit:!1}},function(e){function c(e,t){return e=(e=a(e,t)).filter(function(e){return!cm.inArray(m.stackNodes[t],e)}),m.stackNodes[t]=m.stackNodes[t].concat(e),e}function l(e,t){var n;return a(e,t).filter(function(e){return(n=cm.inArray(m.stackNodes[t],e))&&m.stackNodes[t].splice(m.stackNodes[t].indexOf(e),1),n})}function d(){m.isChanged&&m.stackList.sort(function(e,t){return e.priority-t.priority}),m.isChanged=!1}var m=this,a=(m.isChanged=!1,m.stackList=[],m.stackNodes={},function(e,t){var n=[];return e.getAttribute(m.params.attribute)===t&&n.push(e),n=[...n,...cm.getByAttr(m.params.attribute,t,e)]});m.add=function(e,t,n,a){return e&&(m.stackNodes[e]||(m.stackNodes[e]=[]),e={name:e,priority:a||0,construct:t,destruct:n},!cm.isUndefined(a)&&cm.isNumber(a)?m.stackList.splice(a,0,e):m.stackList.push(e),m.isChanged=!0,m.triggerEvent("onAdd",e)),m},m.remove=function(t,n,a){return t&&(cm.isUndefined(n)?m.stackList=m.stackList.filter(function(e){return!(e.name===t)}):m.stackList=m.stackList.filter(function(e){return!(e.name===t&&e.construct===n&&e.destruct===a)}),m.isChanged=!0,m.triggerEvent("onRemove",{name:t})),m},m.construct=function(e,t){var n,a,s,o,r,i=Date.now();return e=e||document.body,m.triggerEvent("onConstructStart",{node:e,name:t}),d(),t?(r=c(s=e,o=t),s=m.stackList.filter(function(e){return e.name===o}),cm.forEach(s,function(t){cm.forEach(r,function(e){t.construct&&t.construct(e,t.priority)})})):(n=e,a={},s=m.stackList.slice(0),cm.forEach(m.stackNodes,function(e,t){a[t]=c(n,t)}
1),cm.forEach(s,function(t){cm.forEach(a[t.name],function(e){t.construct&&t.construct(e,t.priority)})})),m.triggerEvent("onConstruct",{node:e,name:t}),cm.errorLog({type:"common",name:"Com.Collector",message:["Construct time",Date.now()-i,"ms."].join(" ")}),m},m.destruct=function(e,t){var n,a,s,o,r,i,c=Date.now();return m.triggerEvent("onDestructStart",{node:e=e||null,name:t}),d(),t?(s=e,o=t,i=m.stackList.filter(function(e){return e.name===o}),cm.isNode(s)?(r=l(s,o),cm.forEach(i,function(t){cm.forEach(r,function(e){t.destruct&&t.destruct(e,t.priority)})})):cm.isWindow(window)&&(cm.forEach(i,function(t){cm.forEach(m.stackNodes[t.name],function(e){t.destruct&&t.destruct(e,t.priority)})}),m.stackNodes[o]=[])):(n=e,a={},s=m.stackList.slice(0),cm.isNode(n)?(cm.forEach(m.stackNodes,function(e,t){a[t]=l(n,t)}),cm.forEach(s,function(t){cm.forEach(a[t.name],function(e){t.destruct&&t.destruct(e,t.priority)})})):cm.isWindow(window)&&(cm.forEach(s,function(t){cm.forEach(m.stackNodes[t.name],function(e){t.destruct&&t.destruct(e,t.priority)})}),cm.forEach(m.stackNodes,function(e,t){m.stackNodes[t]=[]}))),m.triggerEvent("onDestruct",{node:e,name:t}),cm.errorLog({type:"common",name:"Com.Collector",message:["Destruct time",Date.now()-c,"ms."].join(" ")}),m},m.setParams(e),m.convertEvents(m.params.events),m.getDataConfig(m.params.node),m.addToStack(m.params.node),m.triggerEvent("onRenderStart"),m.params.autoInit&&cm.forEach(cm._defineStack,function(t){m.add(t.prototype._name.full,function(e){new t({node:e})},null,t.prototype.params.collectorPriority)}),m.addToStack(m.params.node),m.triggerEvent("onRender")}),Com.Elements.Columns={},Com.GetColumns=function(e){return Com.Elements.Columns[e]||null},cm.define("Com.Columns",{modules:["Params","Events","DataConfig","Stack"],required:["Com.Draggable"],events:["onRenderStart","onRender","onAdd","onRemove","onChange","onResize","onEnableEditing","onEnableEditable","onDisableEditing","onDisableEditable"],params:{columns:!1,node:cm.node("div"),container:!1,name:"",renderStructure:!1,minColumnWidth:48,data:[],isEditing:!0,customEvents:!0}},function(e){function t(){r.chassis=[];var e=r.items.length-1;cm.forEach(e,u)}function s(){cm.forEach(r.chassis,function(e){cm.remove(e.container)}),r.chassis=[],t()}var o,r=this,i={},n=(r.isEditing=null,r.pointerType=null,r.items=[],r.chassis=[],function(){var e;i.container=r.params.node,i.inner=cm.getByAttr("data-com__columns","inner",i.container)[0],i.holder=cm.getByAttr("data-com__columns","holder",i.container)[0],e=(e=cm.clone(cm.getByAttr("data-com__columns","column",i.holder)||[])).filter(function(t){var n=!0;return cm.forEach(e,function(e){cm.isParent(e,t)&&(n=!1)}),n}),cm.forEach(e,c)}),a=function(){i.container=cm.node("div",{class:"com__columns"},i.inner=cm.node("div",{class:"inner"},i.holder=cm.node("div",{class:"container"}))),cm.forEach(r.params.data,l),r.params.container&&r.params.container.appendChild(i.container)},c=function(e){e={container:e,inner:cm.getByAttr("data-com__columns","column-inner",e)[0]||cm.node("div"),width:e.style.width};m(e),r.items.push(e)},l=function(e,t){return(e=cm.merge({width:"0%"},e)).container=cm.node("div",{class:"com__column"},e.inner=cm.node("div",{class:"inner"})),m(e),r.items.push(e),i.holder.appendChild(e.container),t&&r.triggerEvent("onAdd",e),e},d=function(){var t=(100/r.items.length).toFixed(2);cm.forEach(r.items,function(e){e.width=[t,"%"].join(""),e.container.style.width=e.width,e.rulerCounter.innerHTML=e.width}),r.triggerEvent("onResize",r.items),r.triggerEvent("onChange",r.items)},m=function(e){e.rulerContainer=cm.node("div",{class:"com__columns__ruler"},e.ruler=cm.node("div",{class:"pt__ruler is-horizontal is-small"},cm.node("div",{class:"line line-top"}),e.rulerCounter=cm.node("div",{class:"counter"},e.width),cm.node("div",{class:"line line-bottom"}))),cm.insertFirst(e.rulerContainer,e.inner)},p=function(){cm.forEach(r.chassis,function(e){h(e)})},u=function(e){var t={index:e};t.container=cm.node("div",{class:"com__columns__chassis"},t.drag=cm.node("div",{class:"pt__drag is-horizontal"},cm.node("div",{class:"line"}),cm.node("div",{class:"drag"},cm.node("div",{class:"icon draggable"})))),h(t),r.chassis.push(t),cm.addEvent(t.container,"touchstart",function(e){g(e,t)}),cm.addEvent(t.container,"mousedown",function(e){g(e,t)}),i.inner.appendChild(t.container)},h=function(e){var t=i.holder.offsetWidth/100,n=e.index,n=((cm.getRealX(r.items[n].container)-cm.getRealX(i.holder)+r.items[n].container.offsetWidth)/t).toFixed(2);e.container.style.left=[n,"%"].join("")},g=function(e,t){if(cm.preventDefault(e),!e.button&&!o)if(r.pointerType=e.type,e.ctrlKey||e.metaKey)b(),d(),p();else{cm.hideSpecialTags();var e=r.chassis.indexOf(t),n=r.items[e],a=r.items[e+1];switch(o={index:e,offset:cm.getRealX(i.holder),ratio:i.holder.offsetWidth/100,chassis:t,left:{column:n,offset:cm.getRealX(n.container)},right:{column:a,offset:cm.getRealX(a.container)+a.container.offsetWidth}},cm.addClass(i.container,"is-active"),cm.addClass(o.chassis.drag,"is-active"),cm.addClass(o.left.column.ruler,"is-active"),cm.addClass(o.right.column.ruler,"is-active"),cm.addClass(document.body,"pt__drag__body--horizontal"),r.pointerType){case"mousedown":cm.addEvent(window,"mousemove",f),cm.addEvent(window,"mouseup",v);break;case"touchstart":cm.addEvent(window,"touchmove",f),cm.addEvent(window,"touchend",v)}}},f=function(e){cm.preventDefault(e);var t=cm.getEventClientPosition(e),e=e.shiftKey?0:2,n=t.left-o.left.offset,a=o.right.offset-t.left;n>r.params.minColumnWidth&&a>r.params.minColumnWidth&&(o.left.column.width=[(n/o.ratio).toFixed(e),"%"].join(""),o.right.column.width=[(
1a/o.ratio).toFixed(e),"%"].join(""),o.left.column.container.style.width=o.left.column.width,o.right.column.container.style.width=o.right.column.width,o.chassis.container.style.left=[((t.left-o.offset)/o.ratio).toFixed(e),"%"].join(""),o.left.column.rulerCounter.innerHTML=o.left.column.width,o.right.column.rulerCounter.innerHTML=o.right.column.width),r.triggerEvent("onChange",r.items)},v=function(){switch(cm.removeClass(i.container,"is-active"),cm.removeClass(o.chassis.drag,"is-active"),cm.removeClass(o.left.column.ruler,"is-active"),cm.removeClass(o.right.column.ruler,"is-active"),cm.removeClass(document.body,"pt__drag__body--horizontal"),r.pointerType){case"mousedown":cm.removeEvent(window,"mousemove",f),cm.removeEvent(window,"mouseup",v);break;case"touchstart":cm.removeEvent(window,"touchmove",f),cm.removeEvent(window,"touchend",v)}o=null,cm.showSpecialTags(),r.triggerEvent("onResize",r.items)},b=function(){cm.addEvent(window,"contextmenu",C),cm.addEvent(window,"mouseup",y)},y=function(){cm.removeEvent(window,"contextmenu",C),cm.removeEvent(window,"mouseup",y)},C=function(e){cm.preventDefault(e)};r.enableEditing=function(){return cm.isBoolean(r.isEditing)&&r.isEditing||(r.isEditing=!0,cm.addClass(i.container,"is-editing is-editable"),r.redraw(),r.triggerEvent("onEnableEditing"),r.triggerEvent("onEnableEditable")),r},r.disableEditing=function(){return cm.isBoolean(r.isEditing)&&!r.isEditing||(r.isEditing=!1,cm.removeClass(i.container,"is-editing is-editable"),r.triggerEvent("onDisableEditing"),r.triggerEvent("onDisableEditable")),r},r.redraw=function(){return p(),r},r.setColumnsCount=function(e){var t,n,a=r.items.length;if(e&&a!==e){if(a<e)cm.forEach(e-a,function(){l({},!0)});else for(;r.items.length>e;)t=!0,n=void 0,n=r.items.pop(),cm.remove(n.container),t&&r.triggerEvent("onRemove",n);d(),s()}return r},r.get=function(){return r.items},r.setParams(e),cm.isNode(r.params.columns)&&(r.params.node=r.params.columns),r.convertEvents(r.params.events),r.getDataConfig(r.params.node),r.triggerEvent("onRenderStart"),r.params.renderStructure?a():r.params.node&&n(),r.params.customEvents&&(cm.customEvent.add(i.container,"redraw",function(){r.redraw()}),cm.customEvent.add(i.container,"enableEditable",function(){r.enableEditing()}),cm.customEvent.add(i.container,"disableEditable",function(){r.disableEditing()})),t(),r.params.isEditing&&r.enableEditing(),r.addToStack(i.container),r.triggerEvent("onRender")}),cm.define("Com.ColumnsHelper",{modules:["Params","Events","Langs","DataConfig","DataNodes","Callbacks","Stack"],events:["onRender","onChange","onResize","onDragStart","onDragMove","onDragStop","onEnableEditing","onEnableEditable","onDisableEditing","onDisableEditable"],params:{node:cm.node("div"),name:"",items:[],showDrag:!0,minColumnWidth:48,isEditing:!0,customEvents:!0,ajax:{type:"json",method:"post",url:"",params:""}}},function(e){function n(e){var t={index:e};t.container=cm.node("div",{class:"com__columns__chassis"},t.inner=cm.node("div",{class:"pt__drag is-horizontal"},cm.node("div",{class:"line"}))),s.params.showDrag?t.inner.appendChild(cm.node("div",{class:"drag"},cm.node("div",{class:"icon draggable"}))):t.inner.appendChild(cm.node("div",{class:"helper"})),a(t),s.chassis.push(t),cm.addEvent(t.container,"touchstart",function(e){o(e,t)}),cm.addEvent(t.container,"mousedown",function(e){o(e,t)}),s.params.node.appendChild(t.container)}var s=this,t=(s.items=[],s.chassis=[],s.current=null,s.pointerType=null,s.isEditing=null,s.isRendered=!1,s.isAjax=!1,s.isProcess=!1,s.ajaxHandler=null,function(){s.isEditing&&!s.isRendered&&(s.items=[],s.chassis=[],cm.forEach(s.params.items,function(e,t){s.items.push({container:e}),t<s.params.items.length-1&&n(t)}),s.isRendered=!0)}),a=function(e){var t=s.params.node.offsetWidth/100,n=e.index,n=((cm.getRealX(s.items[n].container)-cm.getRealX(s.params.node)+s.items[n].container.offsetWidth)/t).toFixed(2);e.container.style.left=[n,"%"].join("")},o=function(e,t){if(cm.preventDefault(e),!e.button&&!s.current){s.pointerType=e.type,s.isProcess&&s.abort(),cm.hideSpecialTags();var e=s.chassis.indexOf(t),n=s.items[e],a=s.items[e+1];switch(s.current={index:e,offset:cm.getRealX(s.params.node),ratio:s.params.node.offsetWidth/100,chassis:t,left:{column:n,offset:cm.getRealX(n.container)},right:{column:a,offset:cm.getRealX(a.container)+a.container.offsetWidth}},cm.addClass(s.params.node,"is-chassis-active"),cm.addClass(s.current.chassis.inner,"is-active"),cm.addClass(document.body,"pt__drag__body--horizontal"),s.pointerType){case"mousedown":cm.addEvent(window,"mousemove",r),cm.addEvent(window,"mouseup",i);break;case"touchstart":cm.addEvent(window,"touchmove",r),cm.addEvent(window,"touchend",i)}return s.triggerEvent("onDragStart",s.current),!0}},r=function(e){cm.preventDefault(e);var e=cm.getEventClientPosition(e),t=e.left-s.current.left.offset,n=s.current.right.offset-e.left;t>s.params.minColumnWidth&&n>s.params.minColumnWidth&&(s.current.left.column.width=[(t/s.current.ratio).toFixed(2),"%"].join(""),s.current.right.column.width=[(n/s.current.ratio).toFixed(2),"%"].join(""),s.current.left.column.container.style.width=s.current.left.column.width,s.current.right.column.container.style.width=s.current.right.column.width,s.current.chassis.container.style.left=[((e.left-s.current.offset)/s.current.ratio).toFixed(2),"%"].join("")),s.triggerEvent("onChange",s.items),s.triggerEvent("onDragMove",s.current)},i=function(){var e;switch(cm.removeClass(s.params.node,"is-chassis-active"),cm.removeClass(s.current.chassis.inner,"is-active"),cm.removeClass(document.body,"pt__drag__body--horizontal"),s.pointerType){case"mousedown":cm.removeEvent(window,"mousemove",r),cm.removeEvent(window,"mouseup",i);break;case"touchstart":cm.removeEvent(window,"touchmove",r),cm.removeEvent(window,"touchend",i)}cm.showSpecialTags(),s.triggerEvent("onResize",s.items),s.triggerEvent("onDragStop",s.current),s.current=null,s.isAjax&&(e=cm.clone(s.params.ajax),s.ajaxHandler=s.callbacks.request(s,e))};s.callbacks.prepare=function(e,t){var n=[];return cm.forEach(e.items,function(e){n.push(e.width)}),t.url=cm.strReplace(t.url,{"%items%":n}),t.params=cm.objectReplace(t.params,{"%items%":n}),t},s.callbacks.request=function(e,t){return t=e.callbacks.prepare(e,t),cm.ajax(cm.merge(t,{onStart:function(){e.callbacks.start(e)},onEnd:function(){e.callbacks.end(e)}}))},s.callbacks.start=function(e){e.isProcess=!0},s.callbacks.end=function(e){e.isProcess=!1},s.enableEditing=function(){return"boolean"==typeof s.isEditing&&s.isEditing||(s.isEditing=!0,t(),s.triggerEvent("onEnableEditing"),s.triggerEvent("onEnableEditable")),s},s.disableEditing=function(){return"boolean"==typeof s.isEditing&&!s.isEditing||(s.isEditing=!1,cm.forEach(s.chassis,function(e){cm.remove(e.container)}),s.items=[],s.chassis=[],s.isRendered=!1,s.triggerEvent("onDisableEditing"),s.triggerEvent("onDisableEditable")),s},s.abort=function(){return s.ajaxHandler&&s.ajaxHandler.abort&&s.ajaxHandler.abort(),s},s.redraw=function(){return s.isEditing&&cm.forEach(s.chassis,function(e){a(e)}),s},s.setParams(e),s.convertEvents(s.params.events),s.getDataNodes(s.params.node),s.getDataConfig(s.params.node),s.callbacksProcess(),cm.isEmpty(s.params.ajax.url)||(s.isAjax=!0),t(),cm.addEvent(window,"resize",function(){s.redraw()}),s.params.customEvents&&(cm.customEvent.add(s.params.node,"redraw",function(){s.redraw()}),cm.customEvent.add(s.params.node,"enableEditable",function(){s.enableEditing()}),cm.customEvent.add(s.params.node,"disableEditable",function(){s.disableEditing()})),s.params.isEditing&&s.enableEditing(),s.addToStack(s.params.node),s.triggerEvent("onRender")}),cm.define("Com.Dialog",{modules:["Params","Events","Langs","DataConfig","Stack"],events:["onRenderStart","onRender","onOpenStart","onOpen","onOpenEnd","onCloseStart","onClose","onCloseEnd","onScroll"],params:{container:"document.body",name:"",size:"auto",width:700,height:"auto",minHeight:0,maxHeight:"auto",heightBasis:"dialog",position:"fixed",indentY:24,indentX:24,animate:!1,animateHeight:!1,adaptiveBreakpoint:"tabletDown",adaptivePreset:"maximize",theme:"theme-light",className:"",classes:[],valign:"middle",content:cm.node("div"),contentValign:"top",scroll:!0,showTitle:!0,title:"",titleOverflow:!1,titleReserve:!0,titleAlign:"left",closeButtonOutside:!1,closeButton:!0,closeOnBackgroun
1d:!0,closeOnDocument:!1,closeOnEsc:!0,buttons:!1,duration:"cm._config.animDuration",autoOpen:!0,appendOnRender:!1,removeOnClose:!0,destructOnRemove:!1,documentScroll:!1,presets:{default:{width:700,height:"auto",minHeight:0,maxHeight:"auto",heightBasis:"dialog",indentY:24,indentX:24,valign:"middle",classes:[]},adaptive:{width:"100%",height:"auto",minHeight:0,maxHeight:"auto",heightBasis:"dialog",indentY:16,indentX:16,valign:"middle",classes:[]},maximize:{width:"100%",height:"100%",minHeight:0,maxHeight:"auto",heightBasis:"dialog",indentX:0,indentY:0,valign:"middle",classes:["is-fullscreen"]}},icons:{closeInside:"icon default linked",closeOutside:"icon default linked",helpInside:"icon help linked",helpOutside:"icon help linked"},showHelp:!1,help:"",helpConstructor:"Com.Tooltip",helpParams:{hold:!0,targetEvent:"click",hideOnReClick:!0,className:"com__dialog__tooltip",theme:["theme-default","theme-shadow-bottom"],animate:"drop-bottom-left",arrow:"top-right",width:"targetWidth -16",top:8,left:8,position:"absolute",duration:"cm._config.animDuration"}},strings:{label:"Dialog",closeTitle:"Close",close:"",helpTitle:"Help",help:""}},function(e){var d,m=this,p={},t=(m.components={}
1,m.isOpen=!1,m.isFocus=!1,m.isRemoved=!1,m.isDestructed=!1,m.isPresetSet=!1,m.isMaximize=!1,m.openInterval=null,m.resizeInterval=null,m.blinkingInterval=null,m.originalPreset={},function(){m.params.duration=cm.getTransitionDurationFromLESS("ComDialog-Duration",m.params.duration)}),n=function(){cm.isEmpty(m.params.openTime)||(m.params.duration=m.params.openTime),m.params.showTitle||(m.params.titleReserve=!1)},a=function(){p.container=cm.node("div",{class:"com__dialog",role:"dialog","aria-modal":"true"},p.bg=cm.node("div",{class:"bg"}),p.window=cm.node("div",{class:"com__dialog__window window"},p.windowInner=cm.node("div",{class:"inner"}))),m.params.appendOnRender&&cm.appendChild(p.container,m.params.container),p.container.style.position=m.params.position,p.window.style.width=m.params.width+"px",cm.addClass(p.container,m.params.className),cm.addClass(p.container,m.params.theme),cm.addClass(p.window,m.params.theme),m.params.animate&&(cm.addClass(p.container,"is-animate"),cm.addClass(p.window,"is-animate")),cm.inArray(["top","center","bottom"],m.params.valign)&&cm.addClass(p.container,["is-valign",m.params.valign].join("-")),m.params.closeButtonOutside&&(p.closeOutside=cm.node("div",{class:m.params.icons.closeOutside,title:m.lang("closeTitle"),role:"button",tabindex:0},m.lang("close")),cm.appendChild(p.closeOutside,p.bg),cm.click.add(p.closeOutside,f)),m.params.closeButton&&(cm.addClass(p.container,"has-close-inside"),cm.addClass(p.window,"has-close-inside"),p.closeInside=cm.node("div",{class:m.params.icons.closeInside,title:m.lang("closeTitle"),role:"button",tabindex:0},m.lang("close")),cm.insertBefore(p.closeInside,p.windowInner),cm.click.add(p.closeInside,f)),m.params.closeOnBackground&&(cm.addClass(p.container,"has-close-background"),cm.addEvent(p.bg,"click",f)),m.params.showHelp&&(p.helpInside=cm.node("div",{class:m.params.icons.helpInside,title:m.lang("helpTitle"),role:"button",tabindex:0},m.lang("help")),cm.insertBefore(p.helpInside,p.windowInner)),s(m.params.title),o(m.params.content),r(m.params.buttons),i(m.params.help),cm.addEvent(p.container,"mouseenter",()=>{m.isFocus=!0}),cm.addEvent(p.container,"mouseleave",()=>{m.isFocus=!1})},s=function(e){var t;cm.remove(p.title),m.params.showTitle?(cm.removeClass(p.container,"has-no-title"),cm.removeClass(p.window,"has-no-title"),p.title=cm.node("div",{class:"title",role:"heading"}),cm.isEmpty(e)||(cm.isNode(e)?cm.appendChild(e,p.title):cm.appendChild(cm.textNode(e),p.title),m.params.titleOverflow&&cm.addClass(p.title,"cm__text-overflow")),cm.inArray(["left","center","right"],m.params.titleAlign)&&cm.addClass(p.title,["is-align",m.params.titleAlign].join("-")),cm.insertFirst(p.title,p.windowInner)):(t=cm.isNode(e)?e.textContent:e,cm.isEmpty(e)&&(t=m.msg("label")),p.container.setAttribute("aria-label",t),cm.addClass(p.container,"has-no-title"),cm.addClass(p.window,"has-no-title")),cm.toggleClass(p.container,"is-title-reserve",m.params.titleReserve),cm.toggleClass(p.window,"is-title-reserve",m.params.titleReserve)},o=function(e){p.descr||(p.descr=cm.node("div",{class:"descr"},p.scroll=cm.node("div",{class:"scroll com__dialog__scroll"},p.inner=cm.node("div",{class:"inner com__dialog__inner"}))),m.params.scroll||cm.addClass(p.scroll,"is-no-scroll"),cm.inArray(["top","center","bottom"],m.params.contentValign)&&cm.addClass(p.scroll,["is-valign",m.params.contentValign].join("-")),p.title?cm.insertAfter(p.descr,p.title):p.buttons?cm.insertBefore(p.descr,p.buttons):cm.insertLast(p.descr,p.windowInner),cm.addEvent(p.scroll,"scroll",function(e){m.triggerEvent("onScroll",e)})),cm.isNode(e)&&cm.clearNode(p.inner).appendChild(e)},r=function(e){cm.isNode(e)&&(cm.remove(p.buttons),p.buttons=cm.node("div",{class:"buttons"},e),cm.insertLast(p.buttons,p.windowInner))},i=function(e){m.params.showHelp&&(p.help||(p.help=cm.node("div",{class:"com__dialog__help"}),cm.getConstructor(m.params.helpConstructor,e=>{m.components.help=new e(cm.merge(m.params.helpParams,{target:p.helpInside,content:p.help,positionTarget:p.descr,container:p.container,holdTarget:p.container}))})),cm.clearNode(p.help),cm.isNode(e)?cm.appendChild(e,p.help):p.help.innerHTML=e)},c=function(){var e=m.params.presets[m.params.adaptivePreset];cm.isBreakpoint(m.params.adaptiveBreakpoint)&&e?m.setPreset(e):/full|fullscreen/.test(m.params.size)?m.setPreset(m.params.presets.maximize):m.restorePreset()},l=function(){u(),_(),m.resizeInterval=setTimeout(l,m.params.resizeInterval)},u=function(){var e=cm.getNodeOffset(p.container),t=e.inner.height-2*m.params.indentY,e=e.inner.width-2*m.params.indentX,n=p.window.offsetHeight,a=p.window.offsetWidth,s=p.inner.offsetHeight,o=t-(p.title&&p.title.offsetHeight||0)-(p.buttons&&p.buttons.offsetHeight||0)-cm.getIndentY(p.windowInner)-cm.getIndentY(p.descr),r="dialog"===m.params.heightBasis?t-o:0,i=e,c="auto"===m.params.maxHeight?o:/%/.test(m.params.maxHeight)?t/100*parseFloat(m.params.maxHeight)-r:/px/.test(m.params.maxHeight)?parseFloat(m.params.maxHeight)-r:m.params.maxHeight-r,l="auto"===m.params.minHeight?0:/%/.test(m.params.minHeight)?t/100*parseFloat(m.params.minHeight)-r:/px/.test(m.params.minHeight)?parseFloat(m.params.minHeight)-r:m.params.minHeight-r,c="auto"===m.params.height?s<l?l:c<s?c:s:/%/.test(m.params.height)?t/100*parseFloat(m.params.height)-r:/px/.test(m.params.height)?parseFloat(m.params.height)-r:m.params.height-r;c=Math.min(Math.max(c,l,0),o),t=/%/.test(m.params.width)?e/100*parseFloat(m.params.width):/px/.test(m.params.width)?parseFloat(m.params.width):m.params.width,t=Math.min(t,i),p.window.style.margin=`${m.params.indentY}px ${m.params.indentX}px`,n===c+r&&d===s||((d=s)<=c?cm.removeClass(p.scroll,"is-scroll"):m.params.scroll&&cm.addClass(p.scroll,"is-scroll"),p.scroll.
1style.height=c+"px"),a!==t&&(p.window.style.width=t+"px")},h=function(e){m.isOpen||(e={onEnd:function(){}},m.isOpen=!0,m.isFocus=!0,m.isRemoved=!1,m.params.documentScroll||cm.bodyScroll.add(p.container),cm.addEvent(window,"click",w),cm.addEvent(window,"keydown",C),cm.addEvent(window,"resize",y),cm.inDOM(p.container)||m.params.container.appendChild(p.container),p.container.style.display="flex",cm.addClass(p.container,"cm__transition-disable",!0),c(),l(),cm.removeClass(p.container,"cm__transition-disable",!0),m.params.animate&&(cm.addClass(p.container,"is-animate-process"),cm.addClass(p.window,"is-animate-process")),cm.addClass(p.container,"is-open",!0),cm.addClass(p.window,"is-open",!0),m.openInterval&&clearTimeout(m.openInterval),m.openInterval=setTimeout(()=>g(e),m.params.duration),m.triggerEvent("onOpenStart"))},g=function(e){e.onEnd(),m.params.animate&&(cm.removeClass(p.container,"is-animate-process"),cm.removeClass(p.window,"is-animate-process")),m.params.animateHeight&&cm.addClass(p.scroll,"is-animate"),m.triggerEvent("onOpen"),m.triggerEvent("onOpenEnd")},f=function(e){m.isOpen&&(m.isOpen=!(e={onEnd:function(){}}),m.isFocus=!1,cm.removeEvent(window,"click",w),cm.removeEvent(window,"keydown",C),cm.removeEvent(window,"resize",y),m.params.animateHeight&&cm.removeClass(p.scroll,"is-animate"),m.params.animate&&(cm.addClass(p.container,"is-animate-process"),cm.addClass(p.window,"is-animate-process")),cm.removeClass(p.container,"is-open",!0),cm.removeClass(p.window,"is-open",!0),m.openInterval&&clearTimeout(m.openInterval),m.openInterval=setTimeout(()=>v(e),m.params.duration),m.triggerEvent("onCloseStart"))},v=function(e){_(),m.params.animate&&(cm.removeClass(p.container,"is-animate-process"),cm.removeClass(p.window,"is-animate-process")),m.params.documentScroll||cm.bodyScroll.remove(p.container),p.container.style.display="none",m.params.removeOnClose&&b(),e.onEnd(),m.triggerEvent("onClose"),m.triggerEvent("onCloseEnd")},b=function(e){m.isRemoved||(m.isRemoved=!0,(e||m.params.destructOnRemove)&&m.destruct(),cm.remove(p.container))},y=function(e){S(),c()},C=function(e){cm.handleKey(e,"Escape",()=>{m.params.closeOnEsc&&m.isFocus&&f()})},w=function(e){m.params.closeOnDocument&&(e=cm.getEventTarget(e),cm.isParent(p.container,e,!0)||f())},_=function(){m.resizeInterval&&clearTimeout(m.resizeInterval)},E=cm.debounce(()=>{cm.removeClass(p.container,"cm__transition-disable")},cm._config.animDuration),S=function(){cm.addClass(p.container,"cm__transition-disable"),E()};m.setPreset=function(e){return m.clearPreset(m.params),cm.forEach(e,function(e,t){m.isPresetSet||(m.originalPreset[t]=m.params[t]),m.params[t]=e}),m.applyPreset(m.params),m.isPresetSet=!0,m},m.restorePreset=function(){return m.clearPreset(m.params),cm.forEach(m.originalPreset,function(e,t){m.params[t]=e}),m.applyPreset(m.params),m.isPresetSet=!1,m},m.clearPreset=function(e){cm.removeClass(p.container,e.classes),cm.removeClass(p.window,e.classes),cm.removeClass(p.container,"is-valign-"+e.valign)},m.applyPreset=function(e){cm.addClass(p.container,e.classes),cm.addClass(p.window,e.classes),cm.inArray(["top","center","bottom"],e.valign)&&cm.addClass(p.container,"is-valign-"+e.valign)},m.set=function(e,t,n){return s(e),o(t),r(n),m},m.setTitle=function(e){return s(e),m},m.setContent=function(e){return o(e),m},m.scrollContentTo=function(e){m.params.scroll&&cm.scrollTo(p.scroll,p.scroll,e)},m.setButtons=function(e){return r(e),m},m.open=function(){return h(),m},m.close=function(){return f(),m},m.setSize=function(t){return cm.forEach(["width","height","minHeight","maxHeight"],function(e){cm.isEmpty(t[e])||(m.params[e]=t[e])}),m},m.setWidth=function(e){return m.params.width=e,m},m.setHeight=function(e){return m.params.height=e,m},m.setMinHeight=function(e){return m.params.minHeight=e,m},m.setMaxHeight=function(e){return m.params.maxHeight=e,m},m.maximize=function(){if(!m.isMaximize)return m.isMaximize=!0,m.setPreset(m.params.presets.maximize),m},m.restore=function(){if(m.isMaximize)return m.isMaximize=!1,m.restorePreset(),m},m.remove=function(e){return m.isOpen?f({onEnd:()=>{!e&&m.params.removeOnClose||b(e)}}):b(e),m},m.destruct=function(){return m.isDestructed||(m.isDestructed=!0,cm.customEvent.trigger(p.container,"destruct",{direction:"child",self:!1}),m.removeFromStack(),m.remove(!0)),m},m.isOwnNode=function(e){return cm.isParent(p.window,e,!0)},m.getNodes=function(e){return p[e]||p},t(),m.setParams(e),m.convertEvents(m.params.events),m.getDataConfig(m.params.content),n(),m.triggerEvent("onRenderStart"),a(),m.addToStack(p.container),m.triggerEvent("onRender"),m.params.autoOpen&&h()}),cm.define("Com.DialogContainer",{extend:"Com.AbstractContainer",events:["onScroll"],params:{container:"document.body",destructOnClose:!1,renderTitle:!0,titleAlign:null,renderHelp:!1,renderButtons:!1,renderButtonsPositions:!1,buttonsAdaptive:!0,buttonsClasse
1s:[],justifyButtons:"right",constructor:"Com.Dialog",constructorParams:{destructOnRemove:!1,autoOpen:!1}},strings:{close:"Close"}},function(e){this.buttons={},Com.AbstractContainer.apply(this,arguments)}),cm.getConstructor("Com.DialogContainer",function(e,t,n,a){n.onConstructStart=function(){this.buttons={}},n.onValidateParams=function(){var e=this;cm.isObject(e.params.content)&&(e.params.constructorParams.title=e.params.content.title||e.params.constructorParams.title,e.params.constructorParams.content=e.params.content.content||e.params.constructorParams.content,e.params.constructorParams.buttons=e.params.content.buttons||e.params.constructorParams.buttons,e.params.constructorParams.help=e.params.content.help||e.params.constructorParams.help),e.params.constructorParams.showTitle=e.params.renderTitle,e.params.constructorParams.showHelp=e.params.renderHelp,e.params.constructorParams.titleAlign=e.params.constructorParams.titleAlign||e.params.titleAlign},n.constructController=function(e){var t=this;return new e(cm.merge(t.params.constructorParams,{opener:t,container:t.params.container,title:t.nodes.title||t.params.constructorParams.title||t.params.title,content:t.nodes.content||t.params.constructorParams.content||t.params.content,buttons:t.nodes.buttons||t.params.constructorParams.buttons||t.params.buttons,help:t.nodes.help||t.params.constructorParams.help||t.params.help}))},n.renderControllerView=function(){return this.params.renderButtons&&this.renderButtonsView(),this},n.renderControllerEvents=function(){var e=this;e.components.controller.addEvent("onOpenStart",e.afterOpenControllerHandler),e.components.controller.addEvent("onOpenEnd",e.afterOpenControllerEndHandler),e.components.controller.addEvent("onCloseStart",e.afterCloseControllerStartHandler),e.components.controller.addEvent("onCloseEnd",e.afterCloseControllerHandler),e.components.controller.addEvent("onScroll",e.afterScroll.bind(e))},n.setTitle=function(e){var t=this;return t.params.constructorParams.title=e,t.components.controller&&cm.isFunction(t.components.controller.setTitle)&&t.components.controller.setTitle(e),t},n.setSize=function(t){var n=this;cm.forEach(["width","height","minHeight","maxHeight"],function(e){cm.isEmpty(t[e])||(n.params.constructorParams[e]=t[e])}),n.components.controller&&cm.isFunction(n.components.controller.setSize)&&n.components.controller.setSize(t)},n.renderButtonsView=function(){var t=this;return t.nodes.buttons=cm.node("div",{class:"pt__buttons"},t.nodes.buttonsHolder=cm.node("div",{class:"inner"})),cm.addClass(t.nodes.buttons,t.params.buttonsClasses),t.setButtonsJustify(t.params.justifyButtons),t.params.buttonsAdaptive&&("reverse"===t.params.buttonsAdaptive?cm.addClass(t.nodes.buttons,"is-adaptive-reverse"):cm.addClass(t.nodes.buttons,"is-adaptive")),t.params.renderButtonsPositions&&(t.nodes.buttonsHolderLeft=cm.node("div",{class:"left"}),t.nodes.buttonsHolderRight=cm.node("div",{class:"right"}),cm.appendChild(t.nodes.buttonsHolderLeft,t.nodes.buttonsHolder),cm.appendChild(t.nodes.buttonsHolderRight,t.nodes.buttonsHolder)),cm.forEach(t.buttons,e=>t.renderButton(e)),t},n.addButton=function(e){return(e=cm.merge({name:"",label:"",classes:["button-primary"],justify:"right",visible:!0,focus:!1,embed:!1,callback:function(){}},e)).justify=this.params.renderButtonsPositions?e.justify:"auto",cm.isArray(e.classes)||(e.classes=[e.classes]),e.visible||e.classes.push("is-hidden"),e.classes.unshift("button"),e.node||(e.node=cm.node("button",{class:e.classes},e.label)),cm.isFunction(e.callback)&&cm.click.add(e.node,e.callback),this.buttons[e.name]=e,this.embedButton(e),e.focus&&e.node.focus(),e},n.embedButton=function(e){var t=this;switch(e.justify){case"right":t.nodes.buttonsHolderRight&&(e.embed=!0,cm.appendChild(e.node,t.nodes.buttonsHolderRight));break;case"left":t.nodes.buttonsHolderLeft&&(e.embed=!0,cm.appendChild(e.node,t.nodes.buttonsHolderLeft));break;default:t.nodes.buttonsHolder&&(e.embed=!0,cm.appendChild(e.node,t.nodes.buttonsHolder))}return t},n.renderButton=function(e){var t=this;return(e=t.getButton(e.name)?t.getButton(e.name):t.addButton(e)).embed||t.embedButton(e),t},n.getButton=function(e){return this.buttons[e]},n.removeButton=function(e){e=this.getButton(e);return e&&(cm.remove(e.node),delete this.buttons[e.name]),this},n.removeButtons=function(){var n=this;return cm.forEach(n.buttons,(e,t)=>n.removeButton(t)),n},n.toggleButtonVisibility=function(e,t){e=this.getButton(e);
1return e&&(e.visible=t,cm.toggleClass(e.node,"is-hidden",!t)),this},n.setButtonsJustify=function(e){var t=this;return cm.removeClass(t.nodes.buttons,["pull",t.params.justifyButtons].join("-")),cm.addClass(t.nodes.buttons,["pull",e].join("-")),t.params.justifyButtons=e,t},n.afterScroll=function(e,t){this.triggerEvent("onScroll",t)}}),cm.define("Com.Draganddrop",{modules:["Params","Events"],events:["onRender","onInit","onDragStart","onDrop","onRemove","onReplace"],params:{container:cm.node("div"),chassisTag:"div",draggableContainer:"document.body",scroll:!0,scrollNode:window,scrollSpeed:1,renderTemporaryAria:!1,useCSSAnimation:!0,useGracefulDegradation:!0,dropDuration:400,moveDuration:200,direction:"both",limit:!1,highlightAreas:!0,highlightChassis:!1,animateRemove:!0,removeNode:!0,classes:{area:null}}},function(e){function n(e,t){cm.inArray(c,e)||((e=cm.merge({node:e,styleObject:cm.getStyleObject(e),type:!1,isLocked:!1,isTemporary:!1,isSystem:!1,isRemoveZone:!1,draggableInChildNodes:!0,cloneDraggable:!1,items:[],chassis:[],dimensions:{}},t)).type=e.node.getAttribute("data-block-type"),cm.addClass(e.node,"pt__dnd-area"),cm.addClass(e.node,v.params.classes.area),e.isLocked?cm.addClass(e.node,"is-locked"):cm.addClass(e.node,"is-available"),a(e),c.push(e.node),i.push(e))}function a(t){var e;t.items=[],t.draggableInChildNodes?(e=t.node.childNodes,cm.forEach(e,function(e){e.tagName&&"draggable"==e.getAttribute("data-com-draganddrop")&&t.items.push(_(e,t,{}))})):(e=cm.getByAttr("data-com-draganddrop","draggable",t.node),cm.forEach(e,function(e){t.items.push(_(e,t,{}))}))}function o(t){var e;t.drag=cm.getByAttr("data-com-draganddrop","drag",t.node)[0],t["drag-bottom"]=cm.getByAttr("data-com-draganddrop","drag-bottom",t.node)[0],e=t.drag||t.node,cm.addEvent(e,"touchstart",function(e){s(e,t)}),cm.addEvent(e,"mousedown",function(e){s(e,t)}),t["drag-bottom"]&&cm.addEvent(t["drag-bottom"],"mousedown",function(e){s(e,t)})}function s(e,t){if(cm.preventDefault(e),!e.button&&!m){v.pointerType=e.type,cm.hideSpecialTags();var n,a,e=cm.getEventClientPosition(e),s=e.left,o=e.top;switch(d=cm.getPageSize(),v.triggerEvent("onDragStart",{item:t,node:t.node,from:t.area}),b=i.filter(function(e){return!(t.type!=e.type&&!e.isRemoveZone||cm.isParent(t.no
1de,e.node)||e.isLocked)}),v.params.highlightAreas&&M(),D(t),t.dimensions.offsetX=s-t.dimensions.absoluteX1,t.dimensions.offsetY=o-t.dimensions.absoluteY1,(m=t.area.cloneDraggable?H(t):t).node.style.top=0,m.node.style.left=0,m.node.style.width=[m.dimensions.width,"px"].join(""),cm.setCSSTranslate(m.node,[m.dimensions.absoluteX1,"px"].join(""),[m.dimensions.absoluteY1,"px"].join("")),k(m),v.params.draggableContainer&&"selfParent"!==v.params.draggableContainer&&v.params.draggableContainer.appendChild(m.node),cm.addClass(m.node,"pt__dnd-helper"),cm.addClass(m.node,"is-active",!0),N(),V(),cm.forEach(m.area.items,function(e){s>=e.dimensions.absoluteX1&&s<e.dimensions.absoluteX2&&o>=e.dimensions.absoluteY1&&o<=e.dimensions.absoluteY2&&(a=o-(n=e).dimensions.absoluteY1<n.dimensions.absoluteHeight/2?"top":"bottom")}),!n&&m.area.items.length&&(a=o<m.area.dimensions.y1?(n=m.area.items[0],"top"):(n=m.area.items[m.area.items.length-1],"bottom")),(g=n?n.chassis[a]:m.area.chassis[0])&&(cm.addClass(g.node,"is-active"),v.params.highlightChassis&&cm.addClass(g.node,"is-highlight"),g.node.style.height=[m.dimensions.absoluteHeight,"px"].join("")),h=m.area,p=n,u=a,v.params.limit&&(D(h),h.node.style.minHeight=h.dimensions.height+"px"),cm.addClass(h.node,"is-active"),cm.addClass(document.body,"pt__dnd-body"),v.pointerType){case"mousedown":cm.addEvent(window,"mousemove",E),cm.addEvent(window,"mouseup",S);break;case"touchstart":cm.addEvent(window,"touchmove",E),cm.addEvent(window,"touchend",S)}}}var d,m,p,u,h,g,f,v=this,t={},r={},i=[],c=[],l=[],b=[],y=!1,C=!1,w=!1,_=(v.pointerType=null,function(e,t,n){e=cm.merge({node:e,styleObject:cm.getStyleObject(e),type:!1,chassis:{top:null,bottom:null},dimensions:{offsetX:0,offsetY:0}},n);return e.area=t,e.anim=new cm.Animation(e.node),e.type=e.node.getAttribute("data-block-type"),o(e),l.push(e),e}),E=function(e){cm.preventDefault(e);var t,n,a,s,o,e=cm.getEventClientPosition(e),r=e.left,i=e.top,c=i-m.dimensions.offsetY,l=r-m.dimensions.offsetX;switch(v.params.direction){case"both":t=[l,"px"].join(""),n=[c,"px"].join("");break;case"vertical":t=[m.dimensions.absoluteX1,"px"].join(""),n=(v.params.limit?c<m.area.dimensions.y1?[m.area.dimensions.y1,"px"]:c+m.dimensions.absoluteHeight>m.area.dimensions.y2?[m.area.dimensions.y2-m.dimensions.absoluteHeight,"px"]:[c,"px"]:[c,"px"]).join("");break;case"horizontal":t=[l,"px"].join(""),n=[m.dimensions.absoluteY1,"px"].join("")}cm.setCSSTranslate(m.node,t,n),v.params.scroll&&(i+48>d.winHeight?q(1):q(i-48<0?-1:0)),j(),cm.forEach(b,function(e){r>=e.dimensions.x1&&r<e.dimensions.x2&&i>=e.dimensions.y1&&i<=e.dimensions.y2&&(!a||e.dimensions.width<a.dimensions.width||e.dimensions.height<a.dimensions.height)&&(a=e)}),a?cm.forEach(a.items,function(e){r>=e.dimensions.absoluteX1&&r<e.dimensions.absoluteX2&&i>=e.dimensions.absoluteY1&&i<=e.dimensions.absoluteY2&&(o=i-(s=e).dimensions.absoluteY1<s.dimensions.absoluteHeight/2?"top":"bottom")}):a=h,!s&&a.items.length&&(o=i<a.dimensions.innerY1?(s=a.items[0],"top"):(s=a.items[a.items.length-1],"bottom")),g&&cm.removeClass(g.node,"is-active is-highlight"),p&&s&&p.chassis[u]!=s.chassis[o]?(R(p.chassis[u],0,v.params.moveDuration),g=s.chassis[o]):!p&&s?(R(h.chassis[0],0,v.params.moveDuration),g=s.chassis[o]):p&&!s?(R(p.chassis[u],0,v.params.moveDuration),g=a.chassis[0]):p||s||h==a||(R(h.chassis[0],0,v.params.moveDuration),g=a.chassis[0]),g&&(cm.addClass(g.node,"is-active"),v.params.highlightChassis&&cm.addClass(g.node,"is-highlight"),R(g,m.dimensions.absoluteHeight,v.params.moveDuration)),h&&h!=a&&(cm.removeClass(h.node,"is-active"),f=h),h=a,p=s,u=o,f&&f.isTemporary&&h.isRemoveZone||cm.addClass(h.node,"is-active")},S=function(e){var t;switch(cm.removeClass(document.body,"pt__dnd-body"),v.pointerType){case"mousedown":cm.removeEvent(window,"mousemove",E),cm.removeEvent(window,"mouseup",S);break;case"touchstart":cm.removeEvent(window,"touchmove",E),cm.removeEvent(window,"touchend",S)}D(m),m.node.style.width=[h.dimensions.innerWidth-m.dimensions.margin.left-m.dimensions.margin.right,"px"].join(""),t=m.node.offsetHeight+m.dimensions.margin.top+m.dimensions.margin.bottom,m.node.style.width=[m.dimensions.width,"px"].join(""),p?(t!=p.chassis[u].node.offsetHeight&&R(p.chassis[u],t,v.params.dropDuration),A(m,h,{target:p.node,append:"top"==u?"before":"after",index:h.items.indexOf(p)+("top"==u?0:1),top:["top"==u?p.dimensions.absoluteY1:p.dimensions.absoluteY2,"px"].join(""),onStop:x})):h.isRemoveZone||h.isTemporary?P(m,{onStop:x}):(R(h.chassis[0],t,v.params.dropDuration),A(m,h,{onStop:x})),g&&cm.removeClass(g.node,"is-active is-highlight"),h&&(v.params.limit&&(h.node.style.minHeight=""),cm.removeClass(h.node,"is-active")),v.params.highlightAreas&&M(),cm.showSpecialTags()},H=function(e){var t=e.node.cloneNode(!0),n=v.params.renderTemporaryAria?i[0]:e.area,t=_(t,n,{});return t.dimensions=cm.clone(e.dimensions),n.items.push(t),t},A=function(e,t,n){(n=cm.merge({target:t.node,append:"child",index:0,width:[t.dimensions.innerWidth,"px"].join(""),top:[t.dimensions.innerY1-e.dimensions.margin.top,"px"].join(""),left:[t.dimensions.innerX1-e.dimensions.margin.left,"px"].join(""),onStart:function(){},onStop:function(){}},n)).onStart(),cm.addClass(e.node,"is-drop",!0),e.node.style.width=n.width,cm.setCSSTranslate(e.node,n.left,n.top),setTimeout(function(){switch(n.append){case"child":cm.appendChild(e.node,n.target);break;case"before":cm.insertBefore(e.node,n.target);break;case"after":cm.insertAfter(e.node,n.target);break;case"first":cm.insertFirst(e.node,n.target)}cm.removeClass(e.node,"pt__dnd-helper is-drop is-active",!0),e.node.style.left="auto",e.node.style.top="auto",e.node.style.width="auto",cm.setCSSTranslate(m.node,"auto","auto"),t.items.splice(n.index,0,e),v.triggerEvent("onDrop",{item:e,node:e.node,to:t,from:e.area,index:n.index}),e.area=t,n.onStop()},v.params.dropDuration)},P=function(t,e){function n(){v.params.removeNode&&cm.remove(o),l=l.filter(function(e){return e!=t}),k(t),e.noEvent||v.triggerEvent("onRemove",{item:t,node:t.node,from:t.area}),e.onStop()}var a,s,o;(e=cm.merge({isCurrent:t===m,isInDOM:cm.inDOM(t.node),onStart:function(){},onStop:function(){}},e)).onStart(),e.isInDOM&&v.params.animateRemove?(a=e.isCurrent?(o=t.node,s=t.anim,{left:[-(t.dimensions.absoluteWidth+50),"px"].join(""),opacity:0}
1):(o=cm.wrap(cm.node("div",{class:"pt__dnd-removable"}),t.node),s=new cm.Animation(o),{height:"0px",opacity:0}),s.go({duration:v.params.dropDuration,anim:"smooth",style:a,onStop:n})):(o=t.node,n())},k=function(t){t.area.items=t.area.items.filter(function(e){return e!=t})},x=function(){B(),f=h=p=m=!1},V=function(){var a;cm.forEach(i,function(n){n.isLocked||(n.items.length||(a=T(),cm.appendChild(a.node,n.node),n.chassis.push(a)),cm.forEach(n.items,function(e,t){0===t&&(a=T(),cm.insertBefore(a.node,e.node),n.chassis.push(a)),a=T(),cm.insertAfter(a.node,e.node),n.chassis.push(a),e.chassis.top=n.chassis[t],e.chassis.bottom=n.chassis[t+1]}))})},T=function(){var e=cm.node(v.params.chassisTag,{class:"pt__dnd-chassis"});return{node:e,anim:new cm.Animation(e),isShow:!1}},B=function(){cm.forEach(i,function(e){cm.forEach(e.chassis,function(e){cm.remove(e.node)}),e.chassis=[]})},R=function(e,t,n){var a;t=[t,"px"].join(""),v.params.useCSSAnimation||C?(!C&&(a=cm.getSupportedStyle("transition-duration"))&&(e.node.style[a]=[n,"ms"].join("")),e.node.style.height=t):e.anim.go({style:{height:t},anim:"smooth",duration:n})},D=function(e){e.dimensions=cm.extend(e.dimensions,cm.getFullRect(e.node,e.styleObject))},F=function(e){cm.forEach(e,D)},N=function(){F(i),cm.forEach(i,function(e){F(e.items)})},U=function(e){e.dimensions.y1=cm.getRealY(e.node),e.dimensions.y2=e.dimensions.y1+e.dimensions.height,e.dimensions.innerY1=e.dimensions.y1+e.dimensions.padding.top,e.dimensions.innerY2=e.dimensions.innerY1+e.dimensions.innerHeight,e.dimensions.absoluteY1=e.dimensions.y1-e.dimensions.margin.top,e.dimensions.absoluteY2=e.dimensions.y2+e.dimensions.margin.bottom},L=function(e){cm.forEach(e,U)},O=function(){var e,t=0;g&&(cm.addClass(g.node,"is-immediately"),t=g.node.offsetHeight,g.node.style.height=0),L(i),cm.forEach(i,function(e){L(e.items)}),g&&t&&(g.node.style.height=[t,"px"].join(""),e=g,setTimeout(function(){cm.removeClass(e.node,"is-immediately")},5))},j=function(){var e=I();e[0].dimensions.y1!=cm.getRealY(e[0].node)&&O()},I=function(){return i.filter(function(e){return!e.isTemporary&&!e.isSystem})},M=function(){b&&(w?(w=!1,cm.forEach(b,function(e){cm.removeClass(e.node,"is-highlight")})):(w=!0,cm.forEach(b,function(e){cm.addClass(e.node,"is-highlight")})))},q=function(e){var t,n={};0==e?(y=!1,r.scroll.stop()):e<0&&!y?(y=!0,t=cm.getScrollTop(v.params.scrollNode)*v.params.scrollSpeed,cm.isWindow(v.params.scrollNode)?n.docScrollTop=0:n.scrollTop=0,r.scroll.go({style:n,duration:t,onStop:function(){y=!1}})):0<e&&!y&&(y=!0,e=cm.getScrollHeight(v.params.scrollNode)-d.winHeight,cm.isWindow(v.params.scrollNode)?n.docScrollTop=e:n.scrollTop=e,t=e*v.params.scrollSpeed,r.scroll.go({style:n,duration:t,onStop:function(){y=!1}}))};v.getArea=function(t){var n;return cm.forEach(i,function(e){e.node===t&&(n=e)}),n},v.registerArea=function(e,t){return cm.isNode(e)&&e.tagName&&n(e,t||{}),v},v.updateArea=function(e){e=v.getArea(e);return e&&a(e),v},v.removeArea=function(t,e){return cm.isNode(t)&&cm.inArray(c,t)&&(c=c.filter(function(e){return e!=t}),i=i.filter(function(e){return e.node!=t})),v},v.getDraggable=function(t){var n;return cm.forEach(l,function(e){e.node===t&&(n=e)}),n},v.getDraggableList=function(){return l},v.registerDraggable=function(e,t,n){var a=[],s=v.getDraggable(e);return s?o(s):cm.inArray(c,t)&&(e.setAttribute("data-com-draganddrop","draggable"),(s=v.getArea(t)).draggableInChildNodes?(t=s.node.childNodes,cm.forEach(t,function(e){e.tagName&&"draggable"==e.getAttribute("data-com-draganddrop")&&a.push(e)})):a=cm.getByAttr("data-com-draganddrop","draggable",s.node),t=a.indexOf(e),e=_(e,s,n||{}),s.items.splice(t,0,e)),v},v.replaceDraggable=function(t,e,n){var a,s,o,r,i,c;return cm.forEach(l,function(e){e.node===t&&(a=e)}),a&&(o=a.area,r=o.items.indexOf(a),i=cm.wrap(cm.node("div",{class:"pt__dnd-removable",style:"height: 0px;"}),e),c=new cm.Animation(i),cm.insertAfter(i,t),P(a,n),c.go({style:{height:[cm.getRealHeight(i,"offset",0),"px"].join(""),opacity:1},duration:300,anim:"simple",onStop:function(){cm.insertAfter(e,i),cm.remove(i),s=_(e,o),o.items.splice(r,0,s),v.triggerEvent("onReplace",{item:s,node:s.node,to:s.to})}})),v},v.removeDraggable=function(t,e){var n;return cm.forEach(l,function(e){e.node===t&&(n=e)}),n&&P(n,e||{}),v},v.getOrderingNodes=function(){var t,n=[],e=I();
1return cm.forEach(e,function(e){t={area:e.node,items:[]},cm.forEach(e.items,function(e){t.items.push(e.node)}),n.push(t)}),1==e.length?t.items:n},v.getOrderingIDs=function(){var n,t={},e=I();return cm.forEach(e,function(e){n={},cm.forEach(e.items,function(e,t){if(!e.id)throw new Error('Attribute "data-id" not specified on item node.');n[e.id]=t}),t[e.id]=n}),1==e.length?n:t},v.params.dropDuration=cm.getTransitionDurationFromLESS("PtDnD-DropDuration",v.params.dropDuration),v.params.moveDuration=cm.getTransitionDurationFromLESS("PtDnD-MoveDuration",v.params.moveDuration),v.setParams(e),v.convertEvents(v.params.events),v.params.container&&(v.params.useGracefulDegradation&&cm.isMobile()&&(C=!0),r.scroll=new cm.Animation(v.params.scrollNode),v.params.renderTemporaryAria&&(t.temporaryArea=cm.node("div"),n(t.temporaryArea,{isTemporary:!0})),e=cm.getByAttr("data-com-draganddrop","area",v.params.container),cm.forEach(e,function(e){n(e,{})}),v.triggerEvent("onInit",{}),v.triggerEvent("onRender",{}))}),cm.define("Com.Draggable",{modules:["Params","Events","Langs","DataConfig"],events:["onRender","onStart","onMove","onStop","onSet","onSelect"],params:{node:cm.node("div"),target:!1,limiter:!1,minY:!1,direction:"both",alignTarget:!0,alignNode:!1}},function(e){function t(e){if(cm.preventDefault(e),!e.button&&!n.isProcess){n.isProcess=!0,n.pointerType=e.type,cm.hideSpecialTags();e=cm.getEventClientPosition(e);switch(n.startX=e.left,n.startY=e.top,n.getDimensions(),n.nodeStartX=cm.getStyle(n.params.node,"left",!0),n.nodeStartY=cm.getStyle(n.params.node,"top",!0),o(e,"onSelect"),n.pointerType){case"mousedown":cm.addEvent(window,"mousemove",a),cm.addEvent(window,"mouseup",s);break;case"touchstart":cm.addEvent(window,"touchmove",a),cm.addEvent(window,"touchend",s)}n.triggerEvent("onStart")}}var n=this,a=(n.startX=0,n.startY=0,n.nodeStartX=0,n.nodeStartY=0,n.isProcess=!1,n.pointerType=null,n.dimensions={target:{}},n.position=null,function(e){cm.preventDefault(e);e=cm.getEventClientPosition(e);o(e,"onSelect"),n.triggerEvent("onMove")}),s=function(e){cm.preventDefault(e),n.isProcess=!1;e=cm.getEventClientPosition(e);switch(o(e,"onSet"),n.pointerType){case"mousedown":cm.removeEvent(window,"mousemove",a),cm.removeEvent(window,"mouseup",s);break;case"touchstart":cm.removeEvent(window,"touchmove",a),cm.removeEvent(window,"touchend",s)}cm.showSpecialTags(),n.triggerEvent("onStop")},o=function(e,t){e=cm.merge({left:0,top:0},e),n.params.alignTarget&&n.params.node!==n.params.target?(e.left-=n.dimensions.target.absoluteX1,e.top-=n.dimensions.target.absoluteY1):(e.left+=n.nodeStartX-n.startX,e.top+=n.nodeStartY-n.startY),e.left=Math.round(e.left),e.top=Math.round(e.top),e=r(e),n.position=e,n.triggerEvent(t,n.position)},r=function(e){switch(e=cm.merge({left:0,top:0,nodeTop:0,nodeLeft:0},e),n.params.limiter&&(e.top<0?e.top=0:e.top>n.dimensions.limiter.absoluteHeight&&(e.top=n.dimensions.limiter.absoluteHeight),e.left<0?e.left=0:e.left>n.dimensions.limiter.absoluteWidth&&(e.left=n.dimensions.limiter.absoluteWidth)),!isNaN(n.params.minY)&&e.top<n.params.minY&&(e.top=n.params.minY),e.nodeTop=e.top,e.nodeLeft=e.left,n.params.alignNode&&(e.nodeTop-=n.dimensions.node.absoluteHeight/2,e.nodeLeft-=n.dimensions.node.absoluteWidth/2),n.params.direction){case"vertical":n.params.node.style.top=[e.nodeTop,"px"].join("");break;case"horizontal":n.params.node.style.left=[e.nodeLeft,"px"].join("");break;default:n.params.node.style.top=[e.nodeTop,"px"].join(""),n.params.node.style.left=[e.nodeLeft,"px"].join("")}return e};n.setTarget=function(e){n.removeTarget(),n.params.target=e,n.getDimensions(),cm.addEvent(n.params.target,"touchstart",t),cm.addEvent(n.params.target,"mousedown",t)},n.removeTarget=function(){cm.isNode(n.params.target)&&(cm.removeEvent(n.params.target,"touchstart",t),cm.removeEvent(n.params.target,"mousedown",t),n.params.target=null)},n.setNode=function(e){n.params.node===n.params.target&&n.removeTarget(n.params.target),n.params.node=e,n.params.target?n.getDimensions():n.setTarget(n.params.node)},n.getDimensions=function(){return n.dimensions.target=cm.getFullRect(n.params.target),n.dimensions.node=cm.getFullRect(n.params.node),n.dimensions.limiter=cm.getFullRect(n.params.limiter),n.dimensions},n.setPosition=function(e,t){return e=cm.merge({left:0,top:0},e),t=!!cm.isUndefined(t)||t,e=r(e),n.position=e,t&&(n.triggerEvent("onSelect",n.position),n.triggerEvent("onSet",n.position)),n},n.get=function(){return n.position},n.setParams(e),n.convertEvents(n.params.events),n.getDataConfig(n.params.node),n.params.target||(n.params.target=n.params.node),n.setTarget(n.params.target),n.triggerEvent("onRender")}),cm.define("Com.FileDropzone",{extend:"Com.AbstractController",events:["onEnable","onDisable","onDrop","onSelect"],params:{embedStructure:"append",target:null,rollover:!0,max:0,disabled:!1,_height:128,_duration:"cm._
1config.animDuration",fileReaderConstructor:"Com.FileReader",fileReaderParams:{readValueType:"base64"}},strings:{drop_single:"drop file here",drop_multiple:"drop files here"}},function(){Com.AbstractController.apply(this,arguments)}),cm.getConstructor("Com.FileDropzone",function(e,t,n,a){n.construct=function(){var e=this;e.disabled=!1,e.dragInterval=null,e.isShow=!0,e.isHighlighted=!1,e.dragOverHandler=e.dragOver.bind(e),e.dragDropHandler=e.dragDrop.bind(e),e.showDropzoneHandler=e.showDropzone.bind(e),e.hideDropzoneHandler=e.hideDropzone.bind(e),e.onGetLESSVariablesProcessHandler=e.onGetLESSVariablesProcess.bind(e),e.setEventsProcessHander=e.setEventsProcess.bind(e),e.unsetEventsProcessHander=e.unsetEventsProcess.bind(e),e.addEvent("onGetLESSVariablesProcess",e.onGetLESSVariablesProcessHandler),e.addEvent("onSetEventsProcess",e.setEventsProcessHander),e.addEvent("onUnsetEventsProcess",e.unsetEventsProcessHander),a.prototype.construct.apply(e,arguments)},n.validateParams=function(){var e=this;a.prototype.validateParams.apply(e,arguments),e.isMultiple=!e.params.max||1<e.params.max,e.setMessages({drop:e.isMultiple?e.lang("drop_multiple"):e.lang("drop_single")})},n.onGetLESSVariablesProcess=function(){var e=this;e.params.height||(e.params.height=cm.getLESSVariable("ComFileDropzone-Height",e.params._height,!0)),e.params.duration||(e.params.duration=cm.getTransitionDurationFromLESS("ComFileDropzone-Duration",e.params._duration))},n.setEventsProcess=function(){cm.addEvent(window,"dragover",this.dragOverHandler),cm.addEvent(window,"drop",this.dragDropHandler)},n.unsetEventsProcess=function(){cm.removeEvent(window,"dragover",this.dragOverHandler),cm.removeEvent(window,"drop",this.dragDropHandler)},n.renderView=function(){var e=this;e.triggerEvent("onRenderViewStart"),e.nodes.container=cm.node("div",{class:"com__file-dropzone"},cm.node("div",{class:"inner"},cm.node("div",{class:"title"},cm.node("div",{class:"label"},e.lang("drop")),cm.node("div",{class:"icon cm-i cm-i__circle-arrow-down"})))),e.triggerEvent("onRenderViewProcess"),e.triggerEvent("onRenderViewEnd")},n.renderViewModel=function(){var e=this;e.params.rollover?(cm.addClass(e.nodes.container,"is-hidden"),e.components.animation=new cm.Animation(e.params.container)):(cm.removeClass(e.nodes.container,"is-hidden"),e.params.height&&(e.params.container.style.height=e.params.height+"px")),e.params.disabled&&e.disable()},n.dragOver=function(e){var t=this;t.disabled||(cm.preventDefault(e),t.show(),t.showDropzone(),t.dragInterval&&clearTimeout(t.dragInterval),t.dragInterval=setTimeout(t.hideDropzoneHandler,100),e=cm.getEventTarget(e),cm.isParent(t.no
1des.container,e,!0)?cm.addClass(t.nodes.container,"is-highlight"):cm.removeClass(t.nodes.container,"is-highlight"))},n.dragDrop=function(e){var t,n=this;n.disabled||(t=cm.getEventTarget(e),cm.isParent(n.nodes.container,t,!0)&&(cm.stopPropagation(e),cm.preventDefault(e),e.dataTransfer)&&(e.dataTransfer.files&&e.dataTransfer.files.length?n.processFiles(e.dataTransfer.files):cm.fileFromDataTransfer(e,function(e){n.processFiles([e])})),n.dragInterval&&clearTimeout(n.dragInterval),n.hide(),n.hideDropzone())},n.processFiles=function(t){var n=this,a=[],e=n.params.max?Math.min(t.length,n.params.max):t.length;cm.forEach(e,function(e){a.push(t[e]),n.triggerEvent("onDrop",t[e])}),a.length&&n.triggerEvent("onSelect",a)},n.show=function(){this.isShow||(this.isShow=!0,cm.replaceClass(this.nodes.container,"is-hidden","is-show"))},n.hide=function(){this.isShow&&(this.isShow=!1,cm.replaceClass(this.nodes.container,"is-show","is-hidden"))},n.showDropzone=function(){var e,t=this;t.isHighlighted||(t.isHighlighted=!0,cm.addClass(t.nodes.container,"is-highlight"),t.params.rollover&&(cm.addClass(t.params.container,"is-dragging"),cm.addClass(t.params.target,"is-hidden"),cm.removeClass(t.nodes.container,"is-hidden"),e=Math.max(t.params.height,t.params.target.offsetHeight),t.components.animation.go({style:{height:e+"px"},duration:t.params.duration,anim:"smooth"})))},n.hideDropzone=function(){var e,t=this;t.isHighlighted&&(t.isHighlighted=!1,cm.removeClass(t.nodes.container,"is-highlight"),t.params.rollover)&&(cm.removeClass(t.params.container,"is-dragging"),cm.removeClass(t.params.target,"is-hidden"),cm.addClass(t.nodes.container,"is-hidden"),e=t.params.target.offsetHeight,t.components.animation.go({style:{height:e+"px"},duration:t.params.duration,anim:"smooth",onStop:function(){t.params.container.style.height="auto"}}))},n.enable=function(){var e=this;return e.disabled&&(e.disabled=!1,cm.removeClass(e.nodes.container,"disabled"),e.triggerEvent("onEnable")),e},n.disable=function(){var e=this;return e.disabled||(e.disabled=!0,cm.addClass(e.nodes.container,"disabled"),e.triggerEvent("onDisable")),e}}),cm.define("Com.FileReader",{modules:["Params","Events","Langs"],events:["onConstruct","onConstructStart","onConstructEnd","onValidateParams","onRenderStart","onRender","onRenderEnd","onReadStart","onReadProcess","onReadSuccess","onReadError","onReadEnd"],params:{file:null,readOnRender:!0,readValueType:"base64",types:{image:/image\/.*/}}},function(e){this.construct(e)}),cm.getConstructor("Com.FileReader",function(e,t,n){n.construct=function(e){var t=this;t.isDestructed=!1,t.nodes={},t.components={},t.triggerEvent("onConstructStart"),t.setParams(e),t.convertEvents(t.params.events),t.render(),t.triggerEvent("onConstruct"),t.triggerEvent("onConstructEnd")},n.render=function(){var e=this;e.triggerEvent("onRenderStart"),e.params.readOnRender&&e.read(e.params.file),e.triggerEvent("onRender"),e.triggerEvent("onRenderEnd")},n.readAsBase64=function(n,a){var s=this;return s.triggerEvent("onReadStart",n),s.process(n,function(t){s.triggerEvent("onReadProcess",t);var e=new FileReader;cm.addEvent(e,"load",function(e){s.afterSuccess(e.target.result,t,a)}),cm.addEvent(e,"error",function(e){s.afterError(e,t,a)}),e.readAsDataURL(n)}),s},n.readAsBinary=function(n,a){var s=this;return s.triggerEvent("onReadStart",n),s.process(n,function(t){s.triggerEvent("onReadProcess",t);var e=new FileReader;cm.addEvent(e,"load",function(e){s.afterSuccess(e.target.result,t,a)}),cm.addEvent(e,"error",function(e){s.afterError(e,t,a)}),e.readAsBinaryString(n)}),s},n.readAsHEX=function(t,a){var s=this;return s.triggerEvent("onReadStart",t),s.process(t,function(n){s.triggerEvent("onReadProcess",n);var e=new FileReader;cm.addEvent(e,"load",function(e){var t;try{t=cm.bufferToHEX(e.target.result)}catch(e){s.afterError(e,n,a)}finally{s.afterSuccess(t,n,a)}}),cm.addEvent(e,"error",function(e){s.afterError(e,n,a)}),e.readAsArrayBuffer(t)}),s},n.readAsText=function(n,a){var s=this;return s.triggerEvent("onReadStart",n),s.process(n,function(t){s.triggerEvent("onReadProcess",t);var e=new FileReader;cm.addEvent(e,"load",function(e){s.afterSuccess(e.target.result,t,a)}),cm.addEvent(e,"error",function(e){s.afterError(e,t,a)}),e.readAsText(n)}),s},n.afterSuccess=function(e,t,n){return t.value=e,n(t),this.triggerEvent("onReadSuccess",t),this.triggerEvent("onReadEnd",t),t},n.afterError=function(e,t,n){return t.error=e,n&&n(t),this.triggerEvent("onReadError",t),this.triggerEvent("onReadEnd",t),t},n.read=function(e,t){var n=this;if(t=cm.isFunction(t)?t:function(){},cm.isFileReader&&cm.isFile(e))switch(n.params.readValueType){case"binary":n.readAsBinary(e,t);break;case"hex":n.readAsHEX(e,t);break;case"text":n.readAsText(e,t);break;default:n.readAsBase64(e,t)}return n},n.process=function(e,t){var n=this.validate(e);this.params.types.image.test(n.type)&&!cm.isEmpty(n.url)?cm.onImageLoad(n.url,function(e){n._isLoaded=!0,n.width=e.naturalWi
1dth||0,n.height=e.naturalHeight||0,t(n)},function(){t(n)}):t(n)},n.validate=function(e){var t,n={_type:"file",_isFile:!1,_isLoaded:!1,value:null,error:null,name:"",size:0,url:null,type:null};return cm.isFile(e)?(n._isFile=!0,n.file=e,n.type=e.type,n.name=e.name,n.size=e.size,n.url=window.URL.createObjectURL(e)):cm.isObject(e)?((n=cm.merge(n,e)).name=cm.isEmpty(n.name)?n.value:n.name,n.url=cm.isEmpty(n.url)?n.value:n.url):cm.isEmpty(e)||(t=cm.parseJSON(e),n=cm.isObject(t)?this.validate(t):this.validate({value:e})),n}}),cm.define("Com.FileStats",{extend:"Com.AbstractController",params:{mfu:0,umf:0,quote:0,usage:0},strings:{stats:"Statistics",mfu:"You can upload up to %mfu% files at a time.",umf:"Max file size: %umf%.",quote:"Total storage: %quote%.",usage:"Storage used: %usage%.",quote_unlimited:"Unlimited"}},function(e){Com.AbstractController.apply(this,arguments)}),cm.getConstructor("Com.FileStats",function(e,t,n){n._inherit;n.renderView=function(){var e=this,t={"%mfu%":e.params.mfu,"%umf%":e.params.umf,"%quote%":e.params.quote,"%usage%":e.params.usage};return t["%quote%"]=0===parseFloat(t["%quote%"])?e.lang("quote_unlimited"):t["%quote%"]+" Mb",t["%usage%"]=t["%usage%"]+" Mb",e.triggerEvent("onRenderViewStart"),e.nodes.container=cm.node("div",{class:"com__file-stats"},e.nodes.content=cm.node("div",{class:"pt__line-info"},cm.node("div",{class:"icon small info"}),cm.node("div",{class:"item"},e.lang("mfu",t)),cm.node("div",{class:"item"},e.lang("umf",t)),cm.node("div",{class:"item"},e.lang("quote",t)),cm.node("div",{class:"item"},e.lang("usage",t)))),e.triggerEvent("onRenderViewProcess"),e.triggerEvent("onRenderViewEnd"),e}}),Com.FormFields=(()=>{var n={};return{add:function(e,t){n[e]=cm.merge({node:cm.node("div"),fieldConstructor:null,constructor:null,type:e,field:!0,system:!1},t)},get:function(e){return n[e]?cm.clone(n[e],!0):null},list:function(){return n}}})(),cm.define("Com.FormField",{modules:["Params","Events","DataConfig","Stack","Callbacks"],events:["onRender"],params:{node:cm.node("div"),container:cm.node("div"),form:!1,name:"",value:null,dataValue:null,type:!1,label:"",help:null,placeholder:"",visible:!0,options:[],className:"",constructor:!1,constructorParams:{},helpConstructor:"Com.HelpBubble",helpParams:{renderStructure:!0}}},function(e){var n=this;n.nodes={},n.components={},n.form=null,n.controller=null,n.value=null;n.callbacks.construct=function(e){e.controller=e.callbacks.controller(e,e.params.constructorParams)},n.callbacks.controller=function(e,t){if(e.params.constructor)return new e.params.constructor(t)},n.callbacks.render=function(t){var n={};return n.container=cm.node("dl",{class:"pt__field is-adaptive"},n.label=cm.node("dt",cm.node("label",t.params.label)),n.value=cm.node("dd",t.params.node)),t.params.visible||cm.addClass(n.container,"is-hidden"),cm.addClass(n.container,t.params.className),cm.isEmpty(t.params.name)||t.params.node.setAttribute("name",t.params.name),cm.isEmpty(t.params.value)||t.params.node.setAttribute("value",t.params.value),cm.isEmpty(t.params.dataValue)||t.params.node.setAttribute("data-value",JSON.stringify(t.params.dataValue)),cm.isEmpty(t.params.placeholder)||t.params.node.setAttribute("placeholder",t.params.placeholder),cm.isEmpty(t.params.help)||cm.getConstructor(t.params.helpConstructor,function(e){t.components.help=new e(cm.merge(t.params.helpParams,{container:n.label}))}),n},n.callbacks.clearError=function(e){cm.removeClass(e.nodes.container,"error"),cm.remove(e.nodes.errors)},n.callbacks.renderError=function(e,t){e.callbacks.clearError(e),cm.addClass(e.nodes.container,"error"),e.nodes.errors=cm.node("ul",{class:"pt__field__error pt__field__hint"},cm.node("li",{class:"error"},t)),cm.appendChild(e.nodes.errors,e.nodes.value)},n.callbacks.set=function(e,t){return e.controller&&cm.isFunction(e.controller.set)&&e.controller.set(t),t},n.callbacks.get=function(e){return e.controller&&cm.isFunction(e.controller.get)?e.controller.get():null},n.callbacks.reset=function(e){e.controller&&cm.isFunction(e.controller.reset)&&e.controller.reset()},n.callbacks.destruct=function(e){e.controller&&cm.isFunction(e.controller.destruct)&&e.controller.destruct()},n.set=function(e){return n.value=n.callbacks.set(n,e),n},n.get=function(){return n.value=n.callbacks.get(n),n.value},n.reset=function(){return n.callbacks.reset(n),n},n.destruct=function(){return n.callbacks.destruct(n),n.removeFromStack(),n},n.renderError=function(e,t){return n.callbacks.renderError(n,e,t),n},n.clearError=function(){return n.callbacks.clearError(n),n},n.setParams(e),n.convertEvents(n.params.events),n.getDataConfig(n.params.node),n.callbacksProcess(),n.params.constructor&&cm.getConstructor(n.params.constructor,function(e){n.params.constructor=e}),n.params.constructorParams.node=n.params.node,n.params.constructorParams.name=n.params.name,n.params.constructorParams.options=n.params.options,n.params.constructorParams.value=n.params.dataValue||n.params.value,n.params.helpParams.content=n.params.help,n.params.helpParams.name=n.params.name,n.form=n.params.form,n.nodes=n.callbacks.render(n)||{},n.params.container.appendChild(n.nodes.container),n.callbacks.construct(n),n.addToStack(n.params.node),n.triggerEvent("onRender")}),Com.FormFields.add("empty",{field:!1,fieldConstructor:"Com.AbstractFormField"}),Com.FormFields.add("buttons",{node:cm.node("div",{class:"pt__buttons pull-right"}),field:!1,system:!0,callbacks:{render:function(e){var t={};return t.container=e.params.node,t.inner=cm.node("div",{class:"inner"}),cm.appendChild(t.inner,t.container),t},controller:function(t){var n,a={};
1return cm.forEach(t.params.options,function(e){switch(n=cm.node("button",e.text),e.value){case"submit":n.type="submit",cm.addClass(n,"button-primary"),cm.addEvent(n,"click",function(e){cm.preventDefault(e),t.form.send()});break;case"reset":n.type="reset",cm.addClass(n,"button-secondary"),cm.addEvent(n,"click",function(e){cm.preventDefault(e),t.form.reset()});break;case"clear":cm.addClass(n,"button-secondary"),cm.addEvent(n,"click",function(e){cm.preventDefault(e),t.form.clear()})}a[e.value]=n,t.params.node.appendChild(n)}),a}}}),cm.define("Com.FormStepsLoader",{modules:["Params","Events","Langs","DataConfig","DataNodes","Callbacks","Stack"],events:["onRenderStart","onRender","onError","onAbort","onSuccess","onSendStart","onSendEnd","onProcessEnd"],params:{node:cm.node("div"),name:"",animateDuration:"cm._config.animDuration",showLoader:!0,loaderDelay:"cm._config.loadDelay",responseKey:"data",responseHTML:!0,ajax:{type:"json",method:"POST",url:"",params:{request:"%request%",response:"%response%"}},"Com.Overlay":{position:"absolute",autoOpen:!1,removeOnClose:!0}},strings:{server_error:"{#var:cm._strings.common.server_error}"}},function(e){var n=this,t=(n.nodes={container:cm.node("div"),request:{container:cm.node("div"),inner:cm.node("div")},buttons:{send:cm.node("div")},response:{container:cm.node("div"),inner:cm.node("div")}},n.components={},n.animations={},n.ajaxHandler=null,n.isProcess=!1,n.isRendering=!1,n.loaderDelay=null,function(){n.params["Com.Overlay"].container=n.nodes.container}),a=function(){cm.getConstructor("Com.Overlay",function(e,t){n.components.loader=new e(n.params[t])}),n.animations.response=new cm.Animation(n.nodes.response.container),cm.addEvent(n.nodes.buttons.send,"click",n.send)};n.callbacks.prepare=function(e,t){return(t=e.callbacks.beforePrepare(e,t)).url=cm.strReplace(t.url,{"%baseUrl%":cm._baseUrl}),t.params=cm.objectReplace(t.params,{"%baseUrl%":cm._baseUrl,"%request%":cm.getFDO(e.nodes.request.inner),"%response%":cm.getFDO(e.nodes.response.inner)}),t=e.callbacks.afterPrepare(e,t)},n.callbacks.beforePrepare=function(e,t){return t},n.callbacks.afterPrepare=function(e,t){return t},n.callbacks.request=function(t,n){return n=t.callbacks.prepare(t,n),cm.ajax(cm.merge(n,{onStart:function(){t.callbacks.start(t)},onSuccess:function(e){t.callbacks.response(t,n,e)},onError:function(){t.callbacks.error(t,n)},onAbort:function(){t.callbacks.abort(t,n)},onEnd:function(){t.callbacks.end(t)}}))},n.callbacks.filter=function(e,t,n){var a,e=cm.objectSelector(e.params.responseKey,n);return a=e&&!cm.isEmpty(e)?e:a},n.callbacks.start=function(e,t){e.isProcess=!0,e.params.showLoader&&(e.loaderDelay=setTimeout(function(){e.components.loader&&!e.components.loader.isOpen&&e.components.loader.open()},e.params.loaderDelay)),e.triggerEvent("onSendStart")},n.callbacks.end=function(e,t){e.isProcess=!1,e.params.showLoader&&(e.loaderDelay&&clearTimeout(e.loaderDelay),e.components.loader)&&e.components.loader.isOpen&&e.components.loader.close(),e.triggerEvent("onSendEnd"),e.triggerEvent("onProcessEnd",e.nodes.response.inner)},n.callbacks.response=function(e,t,n){cm.isEmpty(n)||(n=e.callbacks.filter(e,t,n)),cm.isEmpty(n)?e.callbacks.error(e,t):e.callbacks.success(e,n)},n.callbacks.error=function(e,t){e.callbacks.renderError(e,t),e.triggerEvent("onError")},n.callbacks.success=function(e,t){e.callbacks.render(e,t),e.triggerEvent("onSuccess",t)},n.callbacks.abort=function(e,t){e.triggerEvent("onAbort")},n.callbacks.renderTemporary=function(e){return cm.node("div",{class:"form__temporary"})},n.callbacks.render=function(e,t){var n,a;if(e.params.responseHTML){if(e.isRendering=!0,a=e.callbacks.renderTemporary(e),n=cm.strToHTML(t),!cm.isEmpty(n))if(cm.isNode(n))a.appendChild(n);else for(;n.length;)cm.isNode(n[0])?a.appendChild(n[0]):cm.remove(n[0]);e.callbacks.append(e,a)}},n.callbacks.renderError=function(e,t){var n;e.params.responseHTML&&(e.isRendering=!0,(n=e.callbacks.renderTemporary(e)).appendChild(cm.node("div",{class:"cm__empty"},e.msgParse("server_error"))),e.callbacks.append(e,n))},n.callbacks.append=function(t,e){var n;
1t.nodes.response.temporary||(t.nodes.response.temporary=t.callbacks.renderTemporary(t),cm.forEach(t.nodes.response.inner.childNodes,function(e){cm.appendChild(e,t.nodes.response.temporary)}),cm.appendChild(t.nodes.response.temporary,t.nodes.response.inner)),cm.removeClass(t.nodes.response.temporary,"is-show",!0),cm.appendChild(e,t.nodes.response.inner),cm.addClass(e,"is-show",!0),cm.removeClass(t.nodes.response.container,"is-loaded",!0),cm.addClass(t.nodes.response.container,"is-show",!0),n=e.offsetHeight,t.animations.response.go({style:{height:[n,"px"].join("")},duration:t.params.animateDuration,anim:"smooth",onStop:function(){t.nodes.response.container.style.height="",cm.remove(t.nodes.response.temporary),cm.addClass(t.nodes.response.container,"is-loaded",!0),t.nodes.response.temporary=e,t.isRendering=!1}})},n.send=function(){return n.isProcess&&n.abort(),n.isProcess||n.isRendering||(n.ajaxHandler=n.callbacks.request(n,cm.clone(n.params.ajax))),n},n.abort=function(){return n.ajaxHandler&&n.ajaxHandler.abort&&n.ajaxHandler.abort(),n},n.setParams(e),n.convertEvents(n.params.events),n.getDataNodes(n.params.node),n.getDataConfig(n.params.node),n.callbacksProcess(),t(),n.addToStack(n.params.node),n.triggerEvent("onRenderStart"),a(),n.triggerEvent("onRender")}),cm.define("Com.Gallery",{modules:["Params","Events","Langs","DataConfig","DataNodes"],events:["onRenderStart","onRender","onSet","onChange","onPrev","onNext","onItemLoad","onItemSet"],params:{container:cm.node("div"),node:cm.node("div"),data:[],active:null,duration:500,showCaption:!0,autoplay:!0,navigation:{enable:!0,count:0,cycle:!0,showTitles:!1},icons:{prev:"icon default prev",next:"icon default next",zoom:"icon cm-i default zoom"},itemConstructor:"Com.GalleryItem",itemParams:{},zoom:!0,zoomConstructor:"Com.Zoom",zoomParams:{autoOpen:!1,removeOnClose:!0,documentScroll:!0},overlay:!0,overlayConstructor:"Com.Overlay",overlayParams:{theme:"gallery",position:"absolute",showSpinner:!0,showContent:!0,autoOpen:!1,removeOnClose:!0,lazy:!0}},strings:{next:"Next",prev:"Previous",zoom:"Zoom"}},function(e){function t(t){(t=cm.merge(a.params.itemParams,t)).index=cm.isNumber(t.index)?t.index:a.items.length,cm.getConstructor(a.params.itemConstructor,function(e){a.items[t.index]=new e(cm.merge(t,{showCaption:a.params.showCaption,events:{onClick:function(e){n(e.getParams("index"))},onLoad:function(e){s(e)},onError:function(e){s(e)}}}))})}function n(e){var t;a.isProcess||(a.isProcess=!0,t=a.currentItem,e=a.items[e],a.temporaryItem=e,a.triggerEvent("onSet",{current:e.getParams(),previous:t?t.getParams():null}),e!==t?(a.triggerEvent("onChange",{current:e.getParams(),previous:t?t.getParams():null}),"image"===e.getParams("type")?(t=e,cm.replaceClass(a.nodes.bar,"is-partial","is-full"),t.isLoaded()?s(t):a.setLoader(t)):"video"===e.getParams("type")?(t=e,cm.replaceClass(a.nodes.bar,"is-full","is-partial"),t.isLoaded()?s(t):a.setLoader(t)):(t=e,cm.replaceClass(a.nodes.bar,"is-full","is-partial"),t.appendTo(a.nodes.holder),a.setLoader(t))):(a.isProcess=!1,e.appendTo(a.nodes.holder)))}var a=this,s=(a.components={},a.currentItem=null,a.previousItem=null,a.temporaryItem=null,a.isProcess=!1,a.items=[],a.nodes={items:[]},function(e){a.temporaryItem=null,a.previousItem=a.currentItem,a.currentItem=e,a.triggerEvent("onItemLoad",a.currentItem.getParams()),a.previousItem&&(a.previousItem.setZIndex(1),a.currentItem.setZIndex(2)),cm.inArray(["image","video"],a.currentItem.getParams("type"))&&a.currentItem.appendTo(a.nodes.holder),"video"===a.currentItem.getParams("type")&&a.currentItem.play(),a.setArrows(),a.removeLoader(),a.currentItem.getAnimation().go({style:{opacity:1},anim:"smooth",duration:a.params.duration,onStop:function(){a.isProcess&&(a.previousItem&&(a.previousItem.setOpacity(0),a.previousItem.remove()),a.triggerEvent("onItemSet",a.currentItem.getParams()),a.isProcess=!1)}})});a.set=function(e){return cm.isNumber(e)&&a.items[e]&&n(e),a},a.next=function(){var e,t;if(!a.isProcess)return t=(e=a.currentItem||a.temporaryItem).getParams("index"),a.triggerEvent("onNext",{current:e.getParams(),index:t}),a.params.navigation.enable&&(a.params.navigation.cycle?n(t===a.items.length-1?0:t+1):t<a.items.length-1&&n(t+1)),a},a.prev=function(){var e,t;if(!a.isProcess)return t=(e=a.currentItem||a.temporaryItem).getParams("index"),a.triggerEvent("onPrev",{current:e.getParams(),index:t}),a.params.navigation.enable&&(a.params.navigation.cycle?n(0===t?a.items.length-1:t-1):0<t&&n(t-1)),a},a.zoom=function(){return a.components.zoom&&a.components.zoom.set(a.currentItem.getParams("src")).open(),a},a.getIndex=function(){return a.currentItem.getParams("index")},a.getLength=function(){return a.items.length},a.setCount=function(e){return a.params.navigation.count=e,a.setArrows(),a},a.getCount=function(){return Math.max(a.getLength(),a.params.navigation.count)},a.setArrows=function(){var e=a.currentItem.getParams("index"),t=a.getCount(),n=a.params.navigation.cycle||t<2?1<t:0<e,n=(a.nodes.prev.disabled=!n,a.nodes.prev.setAttribute("aria-hidden",!n),cm.toggleClass(a.nodes.prev,"is-hidden",!n),a.params.navigation.cycle||t<2?1<t:e<t-1);return a.nodes.next.disabled=!n,a.nodes.next.setAttribute("aria-hidden",!n),cm.toggleClass(a.nodes.next,"is-hidden",!n),a},a.setLoader=function(e){return a.params.overlay&&a.components.overlay.open(),e&&e.load(),a},a.removeLoader=function(e){return a.params.overlay&&a.components.overlay.close(),e&&e.abort(),a},a.toggleLoader=function(e){return e?a.setLoader():a.removeLoader(),a},a.stop=function(){return a.isProcess=!1,a.temporaryItem&&(a.temporaryItem.destruct(),a.temporaryItem.remove()),a.removeLoader(a.temporaryItem),a},a.clear=function(){return a.stop(),a.currentItem&&(a.currentItem.destruct(),a.currentItem.remove()),a.currentItem=null,a.previousItem=null,a.temporaryItem=null,a.items=[],a},a.add=function(e){return e=cm.merge({index:null,page:null,link:cm.node("a"),src:"",title:"",data:{}},e),t(e),a},a.collect=function(e,n){return cm.isNode(e)&&(n=cm.merge({fromIndex:a.items.length,fromPage:0},n),e=cm.getNodes(e),cm.isEmpty(e.items)||cm.forEach(e.items,function(e,t){e.index=n.fromIndex+t,e.page=n.fromPage,a.collectItem(e)})),a},a.collectItem=function(e){return cm.isNode(e.container)&&(e=cm.merge(a.getNodeDataConfig(e.container),e)),cm.isEmpty(e.link)&&(e.link=cm.node("a")),cm.isEmpty(e.src)&&(e.src=e.link.getAttribute("href")||""),cm.isEmpty(e.title)&&(e.title=e.link.getAttribute("title")||""),a.hasItemCollected(e)||t(e),a},a.hasItemCollected=function(t){return a.items.some(function(e){return e.getParams("link")===t.link})},a.setParams(e),a.convertEvents(a.params.events),a.getDataNodes(a.params.node,a.params.nodesDataMarker,!1),a.getDataConfig(a.params.node),a.triggerEvent("onRenderStart"),a.nodes.container=cm.node("div",{classes:"com__gallery"},a.nodes.holder=cm.node("div",{classes:"holder"}),a.nodes.bar=cm.node("div",{classes:["com__gallery-controls","is-full"]},cm.node("div",{classes:"inner"},a.nodes.prev=cm.node("div",{classes:["bar-arrow","prev","is-hidden"],role:"button",tabindex:0,"aria-label":a.msg("prev"),"aria-hidden":"true"},cm.node("div",{classes:a.params.icons.prev})),a.nodes.next=cm.node("div",{classes:["bar-arrow","next","is-hidden"],role:"button",tabindex:0,"aria-label":a.msg("next"),"aria-hidden":"true"},cm.node("div",{classes:a.params.icons.next})),a.nodes.zoom=cm.node("div",{classes:["bar-zoom","is-hidden"],role:"button",tabindex:0,"aria-label":a.msg("zoom"),"aria-hidden":"true"},cm.node("div",{classes:a.params.icons.zoom}))))),a.params.navigation.showTitles&&(a.nodes.prev.title=a.msg("prev"),a.nodes.next.title=a.msg("next"),a.nodes.zoom.title=a.msg("zoom")),cm.click.add(a.nodes.prev,function(e){cm.preventDefault(e),a.prev()}),cm.click.add(a.nodes.next,function(e){cm.preventDefault(e),a.next()}),a.params.zoom&&cm.getConstructor(a.params.zoomConstructor,function(e){a.components.zoom=new e(a.params.zoomParams),cm.click.add(a.nodes.zoom,function(e){cm.preventDefault(e),a.zoom()}
1),cm.removeClass(a.nodes.zoom,"is-hidden"),a.nodes.zoom.setAttribute("aria-hidden","false")}),a.params.overlay&&cm.getConstructor(a.params.overlayConstructor,function(e){a.components.overlay=new e(cm.merge(a.params.overlayParams,{container:a.nodes.container}))}),a.params.container.appendChild(a.nodes.container),cm.forEach(a.nodes.items,a.collectItem),cm.forEach(a.params.data,t),a.set(a.params.active),a.triggerEvent("onRender")}),cm.define("Com.GalleryItem",{extend:"Com.AbstractController",events:["onClick","onLoad","onError","onAbort"],params:{renderStructure:!0,embedStructureOnRender:!1,controllerEvents:!0,removeOnDestruct:!1,index:null,type:null,src:null,srcset:[],sizes:[],title:null,info:null,mime:null,link:null,showCaption:!1,position:"is-centered",adaptive:!1,adaptiveFrom:cm._config.screenTabletPortrait,adaptivePosition:"is-contain",extensions:{image:cm._config.fileExtensions.image,video:cm._config.fileExtensions.video},types:{image:cm._config.fileTypes.image,video:cm._config.fileTypes.video}}},function(){Com.AbstractController.apply(this,arguments)}),cm.getConstructor("Com.GalleryItem",function(e,t,n,a){n.onConstructStart=function(){this.hasLoaded=!1,this.hasProcess=!1,this.loadSuccessEventHanlder=this.loadSuccessEvent.bind(this),this.loadErrorEventHanlder=this.loadErrorEvent.bind(this)},n.onValidateParams=function(){var e=this;cm.isEmpty(e.params.sizes)||(e.params.size=e.params.sizes.map(function(e){return e.join(" ")}).join(", ")),cm.isEmpty(e.params.srcset)||(e.params.srcset=e.params.srcset.map(function(e){return e.join(" ")}).join(", "));try{e.params.url=new URL(e.params.src)}catch(e){}e.isImage()?e.params.type="image":e.isVideo()?e.params.type="video":e.params.type="iframe"},n.onRedraw=function(){this.params.adaptive&&(cm._pageSize.winWidth>this.params.adaptiveFrom?cm.replaceClass(this.nodes.container,this.params.adaptivePosition,this.params.position):cm.replaceClass(this.nodes.container,this.params.position,this.params.adaptivePosition))},n.renderView=function(){var e=this;
1cm.isNode(e.params.link)?e.nodes.link=e.params.link:e.nodes.link=cm.node("a"),e.nodes.container=cm.node("div",{classes:"pt__image"},e.nodes.inner=cm.node("div",{classes:"inner"})),cm.addClass(e.nodes.container,e.params.position),"image"===e.params.type?e.nodes.content=cm.node("img",{classes:"descr",alt:e.params.title,title:e.params.title}):"video"===e.params.type?(e.nodes.content=cm.node("video",{classes:"descr",preload:"none",playsinline:!0}),e.nodes.content.playsinline=!0,e.nodes.content.playsInline=!0,e.nodes.content.autoplay=!0,e.nodes.content.controls=!0):e.nodes.content=cm.node("iframe",{classes:"descr",allowfullscreen:!0}),cm.appendChild(e.nodes.content,e.nodes.inner),e.params.showCaption&&"image"===e.params.type&&!cm.isEmpty(e.params.title)&&(e.nodes.caption=cm.node("div",{classes:"title"},cm.node("div",{classes:"inner"},e.params.title)),cm.appendChild(e.nodes.caption,e.nodes.inner))},n.renderViewModel=function(){a.prototype.renderViewModel.apply(this,arguments),cm.addEvent(this.nodes.link,"click",this.linkClickEvent.bind(this),!0,!0),this.components.animation=new cm.Animation(this.nodes.container)},n.linkClickEvent=function(e){cm.preventDefault(e),this.triggerEvent("onClick")},n.loadSuccessEvent=function(){if(!this.hasProcess)return this;this.hasProcess=!1,this.hasLoaded=!0,this.triggerEvent("onLoad")},n.loadErrorEvent=function(){if(!this.hasProcess)return this;this.hasProcess=!1,this.hasLoaded=!1,this.triggerEvent("onError")},n.isImage=function(){var e=this,t=new RegExp("\\.("+e.params.extensions.image+")$","gi");return e.params.src&&t.test(e.params.src)||e.params.url&&t.test(e.params.url.pathname)||e.params.src&&/^data:image/gi.test(e.params.src)||e.params.title&&t.test(e.params.title)||e.params.mime&&e.params.types.image.test(e.params.mime)||"image"===e.params.type},n.isVideo=function(){var e=this,t=new RegExp("\\.("+e.params.extensions.video+")$","gi");return e.params.src&&t.test(e.params.src)||e.params.url&&t.test(e.params.url.pathname)||e.params.src&&/^data:video/gi.test(e.params.src)||e.params.title&&t.test(e.params.title)||e.params.mime&&e.params.types.video.test(e.params.mime)||"video"===e.params.type},n.loadVideo=function(){cm.addEvent(this.nodes.content,"loadedmetadata",this.loadSuccessEventHanlder),cm.addEvent(this.nodes.content,"error",this.loadErrorEventHanlder),this.nodes.content.videoSource=cm.node("source",{src:this.params.src}),cm.appendChild(this.nodes.content.videoSource,this.nodes.content)},n.loadMedia=function(){var e=this;cm.addEvent(e.nodes.content,"load",e.loadSuccessEventHanlder),cm.addEvent(e.nodes.content,"error",e.loadErrorEventHanlder),cm.isEmpty(e.params.sizes)||(e.nodes.content.sizes=e.params.sizes),cm.isEmpty(e.params.srcset)||(e.nodes.content.srcset=e.params.srcset),e.nodes.content.src=e.params.src},n.load=function(){var e=this;return e.hasProcess||(e.hasProcess=!0,e.hasLoaded&&cm.inArray(["image","video"],e.params.type)?e.loadSuccessEvent():"video"===e.params.type?e.loadVideo():e.loadMedia()),e},n.abort=function(){return this.hasProcess&&(this.hasProcess=!1,cm.removeEvent(this.nodes.content,"load",this.loadSuccessEventHanlder),cm.removeEvent(this.nodes.content,"error",this.loadErrorEventHanlder),this.triggerEvent("onAbort")),this},n.play=function(){return this.hasProcess||"video"===this.params.type&&this.hasLoaded&&this.nodes.content.play(),this},n.remove=function(){return cm.remove(this.nodes.container),this},n.appendTo=function(e,t){return t=cm.isUndefined(t)?"insertLast":t,cm.isNode(e)&&(cm[t](this.nodes.container,e),this.redraw()),this},n.isLoaded=function(){return this.hasLoaded},n.getContainer=function(){return this.nodes.container},n.getAnimation=function(){return this.components.animation},n.setZIndex=function(e){return this.nodes.container.style.zIndex=e,this},n.setOpacity=function(e){return this.nodes.container.style.opacity=e,this}}),cm.define("Com.GalleryLayout",{modules:["Params","Events","DataConfig","DataNodes","Stack"],events:["onRenderStart","onRender","onChange"],params:{node:cm.node("div"),barDirection:"horizontal",hasBar:!0,"Com.Gallery":{},"Com.Scroll":{step:25,time:25}}},function(e){var s=this,o={},t=[],n=(s.nodes={inner:cm.node("div"),"preview-inner":cm.node("div"),"bar-inner":cm.node("div"),"bar-items":[]}
1,function(){o.scroll=new Com.Scroll(cm.merge(s.params["Com.Scroll"],{nodes:s.nodes.ComScroll})),o.gallery=new Com.Gallery(cm.merge(s.params["Com.Gallery"],{container:s.nodes["preview-inner"],data:t})).addEvent("onChange",r).set(0)}),a=function(){cm.forEach(s.nodes["bar-items"],function(e){e.title=e.link&&e.link.getAttribute("title")||"",e.src=e.link&&e.link.getAttribute("href")||"",t.push(e)})},r=function(e,t){var n,a=t.current;s.params.hasBar&&(t.previous&&cm.removeClass(t.previous.container,"active"),cm.addClass(a.container,"active"),"vertical"==s.params.barDirection?(n=a.container.offsetTop-s.nodes.inner.offsetHeight/2+a.container.offsetHeight/2,o.scroll.scrollY(n)):(n=a.container.offsetLeft-s.nodes.inner.offsetWidth/2+a.container.offsetWidth/2,o.scroll.scrollX(n))),s.triggerEvent("onChange",t)};s.setParams(e),s.convertEvents(s.params.events),s.getDataNodes(s.params.node,s.params.nodesDataMarker,!1),s.getDataConfig(s.params.node),s.triggerEvent("onRenderStart"),a(),n(),s.addToStack(s.params.node),s.triggerEvent("onRender")}),cm.define("Com.GalleryPopup",{extend:"Com.AbstractController",events:["onOpen","onOpenEnd","onClose","onChange","onPrev","onNext","onLoad"],params:{controllerEvents:!0,renderStructure:!0,embedStructure:"append",embedStructureOnRender:!1,removeOnDestruct:!1,size:"fullscreen",aspectRatio:"auto",theme:"theme-black",data:[],active:null,showCounter:!0,showTitle:!0,showZoom:!0,autoPlay:!1,navigation:{},openOnSelfClick:!1,placeholderConstructor:"Com.Dialog",placeholderParams:{width:700,scroll:!1,autoOpen:!1,titleOverflow:!0,closeOnBackground:!0,className:"com__gallery-popup"},galleryConstructor:"Com.Gallery",galleryParams:{showCaption:!1},overlayParams:{},galleryItemParams:{}}},function(){Com.AbstractController.apply(this,arguments)}),cm.getConstructor("Com.GalleryPopup",function(e,t,n,a){n.onConstructStart=function(){var e=this;e.views={},e.currentItem=null,e.openHandler=e.open.bind(e),e.closeHandler=e.close.bind(e),e.nextHandler=e.next.bind(e),e.prevHandler=e.prev.bind(e),e.keyPressEventHandler=e.keyPressEvent.bind(e)},n.onConstructEnd=function(){this.addToStack(this.params.node)},n.onValidateParams=function(){var e=this;e.params.galleryParams.zoom=e.params.showZoom,e.params.galleryParams.autoplay=e.params.autoPlay,e.params.galleryParams.navigation=e.params.navigation,e.params.galleryParams.overlayParams=e.params.overlayParams,e.params.galleryParams.itemParams=e.params.galleryItemParams,e.params.placeholderParams.theme=e.params.theme,e.params.placeholderParams.size=e.params.size},n.onDestruct=function(){this.components.dialog&&cm.isFunction(this.components.dialog.destruct)&&this.components.dialog.destruct(),this.components.gallery&&cm.isFunction(this.components.gallery.destruct)&&this.components.gallery.destruct()},n.renderView=function(){this.nodes.container=cm.node("div",{classes:"com__gallery-preview"},this.nodes.inner=cm.node("div",{classes:"inner"})),"auto"!==this.params.aspectRatio&&cm.addClass(this.nodes.container,["cm__aspect",this.params.aspectRatio].join("-"))},n.renderViewModel=function(){var n=this;a.prototype.renderViewModel.apply(n,arguments),cm.getConstructor(n.params.placeholderConstructor,function(e){n.components.dialog=new e(cm.merge(n.params.placeholderParams,{content:n.nodes.container,events:{onOpen:function(){cm.addEvent(window,"keydown",n.keyPressEventHandler),n.triggerEvent("onOpen")},onClose:function(){n.components.gallery.stop(),cm.removeEvent(window,"keydown",n.keyPressEventHandler),n.triggerEvent("onClose")}}}))}),cm.getConstructor(n.params.galleryConstructor,function(e){n.components.gallery=new e(cm.merge(n.params.galleryParams,{node:n.params.node,container:n.nodes.inner,data:n.params.data,active:n.params.active,events:{onChange:function(e,t){n.changeEvent(t.current,t.previous)},onSet:function(){n.components.dialog.open()},onPrev:function(e,t){n.triggerEvent("onPrev",t)},onNext:function(e,t){n.triggerEvent("onNext",t)},onItemLoad:function(e,t){n.loadEvent(t)}}}))}),n.params.openOnSelfClick&&cm.click.add(n.params.node,n.openHandler)},n.changeEvent=function(e){this.currentItem=e,this.views.info=this.renderInfoView(this.currentItem),this.triggerEvent("onChange",this.currentItem)},n.loadEvent=function(e){this.triggerEvent("onLoad",e)},n.keyPressEvent=function(e){var t=this;cm.handleKey(e,"ArrowLeft",function(){t.components.dialog.isFocus&&t.prev()}),cm.handleKey(e,"ArrowRight",function(){t.components.dialog.isFocus&&t.next()})},n.renderInfoView=function(e){e={data:e,nodes:{}};
1return e.nodes.container=cm.node("div",{classes:"com__gallery-popup__title"}),this.params.showCounter&&(e.counter=[e.data.index+1,this.components.gallery.getCount()].join("/"),e.nodes.counter=cm.node("span",{classes:"counter"},e.counter),cm.appendChild(e.nodes.counter,e.nodes.container)),this.params.showTitle&&(e.nodes.title=cm.node("span",{classes:"title"},e.data.title),this.params.showCounter&&(e.nodes.sepaartor=cm.node("span",{classes:"separator"}),cm.appendChild(e.nodes.sepaartor,e.nodes.container)),cm.appendChild(e.nodes.title,e.nodes.container)),(this.params.showCounter||this.params.showTitle)&&this.components.dialog.setTitle(e.nodes.container),e},n.open=function(){return this.set(this.params.active||0),this},n.close=function(){return this.components.dialog.close(),this},n.set=function(e){return this.components.gallery.set(e),this},n.next=function(){return this.components.gallery.next(),this},n.prev=function(){return this.components.gallery.prev(),this},n.add=function(e){return this.components.gallery.add(e),this},n.getIndex=function(){return this.components.gallery.getIndex()},n.getLength=function(){return this.components.gallery.getLength()},n.setCount=function(e){return this.components.gallery.setCount(e),this},n.getCount=function(){return this.components.gallery.getCount()},n.toggleLoader=function(e){return this.components.gallery.toggleLoader(e),this},n.collect=function(e,t){return this.components.gallery.collect(e,t),this},n.collectItem=function(e){return this.components.gallery.collectItem(e),this},n.clear=function(){return this.components.gallery.clear(),this},n.getGallery=function(){return this.components.gallery}}),cm.define("Com.GalleryPopupContainer",{extend:"Com.AbstractContainer",params:{constructor:"Com.GalleryPopup",destructOnClose:!1,data:{},constructorParams:{}}},function(){Com.AbstractContainer.apply(this,arguments)}),cm.getConstructor("Com.GalleryPopupContainer",function(e,t,n,a){n.constructController=function(e){return new e(cm.merge(this.params.constructorParams,{data:cm.isArray(this.params.data)?this.params.data:[this.params.data]}))},n.set=function(e){return this.params.data=e,this.components.controller&&(this.components.controller.clear(),this.components.controller.add(e),this.components.controller.set(0)),this}}),cm.define("Com.GalleryScrollPagination",{extend:"Com.ScrollPagination",params:{renderStructure:!0,embedStructureOnRender:!0,pageTag:"ul",gridClass:null,columns:4,indent:"12px",adaptive:!0}},function(e){Com.ScrollPagination.apply(this,arguments)}),cm.getConstructor("Com.GalleryScrollPagination",function(e,t,n,a){n.setAttributes=function(){var e=this;a.prototype.setAttributes.apply(e,arguments),cm.addClass(e.nodes.pages,"pt__grid"),cm.addClass(e.nodes.pages,["col",e.params.columns].join("-")),cm.addClass(e.nodes.pages,["indent",e.params.indent].join("-")),cm.addClass(e.nodes.pages,e.params.gridClass),e.params.adaptive?cm.addClass(e.nodes.pages,"is-adaptive"):cm.addClass(e.nodes.pages,"is-not-adaptive")}}),cm.define("Com.Geocoder",{extend:"Com.AbstractController",events:["onLoad"],params:{controllerEvents:!0,renderStructure:!1,embedStructureOnRender:!1,apiKey:"",apiLink:"https://maps.googleapis.com/maps/api/js?key=%key%"}},function(e){Com.AbstractController.apply(this,arguments)}),cm.getConstructor("Com.Geocoder",function(e,t,n,a){n.onConstructStart=function(){this.loadScriptEndHanlder=this.loadScriptEnd.bind(this)},n.onValidateParams=function(){this.apiLink=cm.strReplace(this.params.apiLink,{"%key%":this.params.apiKey})},n.renderViewModel=function(){a.prototype.renderViewModel.apply(this,arguments),cm.loadScript({path:"google.maps",src:this.apiLink,callback:this.loadScriptEndHanlder})},n.loadScriptEnd=function(e){this.components.geocoder=new e.Geocoder,this.triggerEvent("onLoad")},n.get=function(e,t,n){var a=this,s=arguments;return a.components.geocoder?a.process.apply(a,s):cm.loadScript({path:"google.maps",src:a.apiLink,callback:function(){a.process.apply(a,s)}})},n.process=function(e,n,a){return this.components.geocoder.geocode(e,function(e,t){"OK"===t?cm.isFunction(n)&&n(e,t):cm.isFunction(a)&&a(t)})}}),cm.define("Com.Geolocation",{extend:"Com.AbstractController",events:["onComplete","onRequest","onSuccess","onError"],params:{controllerEvents:!0,renderStructure:!1,embedStructureOnRender:!1,useDefault:!0,default:{},autoRequest:!0,apiKey:"",apiLink:"https://maps.googleapis.com/ma
1ps/api/js?key=%key%",geocoder:{enable:!1,constructor:"Com.Geocoder",constructorParams:{}},options:{enableHighAccuracy:!1,maximumAge:3e4,timeout:27e3}}},function(){Com.AbstractController.apply(this,arguments)}),cm.getConstructor("Com.Geolocation",function(e,t,n,a){n.onValidateParams=function(){this.params.geocoder.constructorParams.apiLink=this.params.apiLink,this.params.geocoder.constructorParams.apiKey=this.params.apiKey},n.renderViewModel=function(){var t=this;a.prototype.renderViewModel.apply(t,arguments),t.params.geocoder.enable&&cm.getConstructor(t.params.geocoder.constructor,function(e){t.components.geocoder=new e(t.params.geocoder.constructorParams)}),t.params.autoRequest&&t.request()},n.request=function(){var t=this;t.triggerEvent("onRequest"),navigator.geolocation?navigator.geolocation.getCurrentPosition(function(e){e={lat:e.coords.latitude,lng:e.coords.longitude};t.process(e,"success")},function(){t.process(t.params.default,"error")},t.params.options):t.process(t.params.default,"error")},n.process=function(e,t){this.params.geocoder.enable&&(this.params.useDefault||"success"===t)?this.requestGeocoder(e):(this.triggerEvent("onComplete",e,null,t),"success"===t?this.triggerEvent("onSuccess",e):this.triggerEvent("onError",e))},n.requestGeocoder=function(t){var n=this;n.components.geocoder.get({location:t},function(e){n.triggerEvent("onComplete",t,e,"success"),n.triggerEvent("onSuccess",t,e)},function(){n.triggerEvent("onComplete",t,null,"error"),n.triggerEvent("onError",t)})}}),cm.define("Com.Glossary",{modules:["Params","Events","DataConfig","DataNodes"],require:["Com.Tooltip"],events:["onRender"],params:{node:cm.node("div"),showTitle:!0,"Com.Tooltip":{className:"com__glossary__tooltip",targetEvent:"hover"}}},function(e){var t=this,n=(t.components={},t.nodes={container:cm.node("div"),title:cm.node("div"),content:cm.node("div")},function(){t.components.tooltip=new Com.Tooltip(cm.merge(t.params["Com.Tooltip"],{target:t.nodes.container,content:t.nodes.content,title:t.params.showTitle?t.nodes.title.cloneNode(!0):""})),t.triggerEvent("onRender",{})});t.setParams(e),t.convertEvents(t.params.events),t.getDataNodes(t.params.node),t.getDataConfig(t.params.node),n()}),cm.define("Com.Gridlist",{modules:["Params","Events","Langs","Structure","DataConfig","Callbacks","Stack"],events:["onSort","onCheckAll","onUnCheckAll","onCheck","onUnCheck","onRender","onRenderStart","onRenderEnd","onLoadStart","onLoadSuccess","onLoadError","onLoadEnd","onDataFilterEnd","onPageRenderStart","onPageRenderEnd","onRenderTitleItem","onRenderFilterItem","onEmpty","onColumnsChange","onColumnsResize"],params:{node:cm.node("div"),container:null,embedStructure:"append",customEvents:!0,destructOnRemove:!1,destructOnReset:!0,name:"",uniqueKey:"id",data:[],cols:[],actions:[],actionsGroups:[],sort:!0,sortBy:"id",orderBy:"ASC",groupBy:!1,adaptive:!1,showCounter:!1,showBulkActions:!0,showTitle:!1,textOverflow:!1,className:"",dateFormat:"cm._config.dateTimeFormat",visibleDateFormat:"cm._config.dateTimeFormat",renderEmptyMessage:!0,renderEmptyTable:!1,renderFilter:!1,divideTableHeader:!1,hideTableHeader:!1,pagination:!0,perPage:25,pageCount:0,responseKey:"data",responseCodeKey:"code",responseErrorsKey:"errors",responseMessageKey:"message",responseCountKey:"count",showLoader:!0,ajax:{enable:!0,type:"json",method:"get",url:"",params:""},columns:{editable:!1,local:!1,ajax:{type:"json",method:"post",url:"",params:""}},statuses:["active","success","danger","warning"],icons:{arrow:{desc:"icon arrow desc",asc:"icon arrow asc"}},autoSend:!0,paginationConstructor:"Com.Pagination",paginationParams:{renderStructure:!0,embedStructureOnRender:!0,animateSwitch:!0,animatePrevious:!0},"Com.GridlistHelper":{customEvents:!1},"Com.Toolbar":{embedStructure:"append"},actionsMenu:{constructor:"Com.Menu",constructorParams:{renderStructure:!0,embedStructureOnRender:!0,modifiers:["link","gridlist"],tooltip:{enable:!0,constructorParams:{left:"-(selfWidth-targetWidth)"}}}},linksMenu:{constructor:"Com.Menu",constructorParams:{renderStructure:!1,embedStructureOnRender:!1,modifiers:[],tooltip:{enable:!1}}}},strings:{counter:"Count: %count%",check_all:"Check all",uncheck_all:"Uncheck all",empty:"No items",actions:"Actions"}},function(e){function n(){c.isActionsDisabled&&(c.isActionsDisabled=!1,cm.forEach(c.actions,function(e){e.permanent||c.components.toolbar&&c.components.toolbar.enableButton(e.name,e.group)}))}function a(){c.isActionsDisabled||(c.isActionsDisabled=!0,cm.forEach(c.actions,function(e){e.permanent||c.components.toolbar&&c.components.toolbar.disableButton(e.name,e.group)}))}function t(e,t){t=cm.isEmpty(t)?c.msg("empty"):t,s(e),c.params.renderEmptyMessage&&(c.nodes.empty=cm.node("div",{classes:"cm__empty"},t),cm.appendChild(c.nodes.empty,e)),c.triggerEvent("onEmpty",{container:e,empty:c.nodes.empty,errors:t})}function s(e){c.nodes.empty&&cm.isParent(e,c.nodes.empty)&&cm.remove(c.nodes.empty)}function o(){c.params.columns.editable&&cm.getConstructor("Com.GridlistHelper",function(e,t){c.components.helper=new e(cm.merge(c.params[t],{node:c.nodes.table,events:{onColumnsChange:function(e,t){c.triggerEvent("onColumnsChange",t)},onColumnsResize:function(e,n){cm.forEach(c.params.cols,function(e,t){n[t]&&n[t].width&&(e.width=n[t].width)}),c.triggerEvent("onColumnsResize",c.params.cols)}}}))})}function r(e,t,n){e.nodes.placeholder={},e.access&&(e.nodes.placeholder.container=cm.node("th",e.nodes.placeholder.inner=cm.node("div",{classes:"inner"})),/%|px|auto/.test(e.width)?e.nodes.placeholder.container.style.width=e.width:e.nodes.placeholder.container.style.width=parseFloat(e.width)+"px",cm.appendChild(e.nodes.placeholder.container,n))}function i(){c.params.destructOnReset&&cm.customEvent.trigger(c.nodes.table,"destruct",{direction:"child",self:!1}),c.unCheckAll(),c.rows=[],c.checked=[]}var c=this,l=(c.nodes={},c.components={},c.rows=[],c.checked=[],c.actions=[],c.isDestructed=!1,c.isAjax=!1,c.isCheckedAll=!1,c.sortBy=null,c.orderBy="ASC",c.isActionsDisabled=!0,function(){c.params.divideTableHeader&&v(c.nodes.container),c.isA
1jax?g():d(c.params.data)}),d=function(e){!cm.isEmpty(e)&&cm.isArray(e)&&(c.params.data=c.callbacks.filter(c,e),c.params.paginationParams.count=c.params.data.length,c.triggerEvent("onDataFilterEnd",c.params.data)),cm.isEmpty(c.params.data)?t(c.nodes.container):(s(c.nodes.container),c.params.sort&&F(),c.params.showCounter&&f(c.params.data.length),c.params.pagination?g():b(1,c.params.data,c.nodes.container))},m=function(){var n={};n.container=cm.node("div",{classes:"pt__gridlist__toolbar"}),cm.getConstructor("Com.Toolbar",function(e,t){c.components.toolbar=new e(cm.merge(c.params[t],{container:n.container})),p()}),cm.forEach(c.params.actions,h),cm.appendChild(n.container,c.nodes.container),c.nodes.bulk=n},p=function(){cm.isEmpty(c.params.actionsGroups)?u({name:"bulk",position:"left"}):cm.forEach(c.params.actionsGroups,u)},u=function(e){e=cm.merge({name:"",position:"left"},e);c.components.toolbar.addGroup(e)},h=function(e){e=cm.merge({group:"bulk",name:"",label:"",title:"",disabled:!0,permanent:!1,type:"primary",attr:{},preventDefault:!0,constructor:!1,constructorParams:{},callback:function(){}},e);cm.isEmpty(e.name)&&(e.name=e.label),e.permanent&&(e.disabled=!1),c.components.toolbar.addButton(e),c.actions.push(e)},g=function(){cm.getConstructor(c.params.paginationConstructor,function(e){c.components.pagination=new e(cm.merge(c.params.paginationParams,{container:c.nodes.container,callbacks:{afterPrepare:function(e,t){return c.callbacks.paginationAfterPrepare(c,e,t)}},events:{onStart:function(e){c.triggerEvent("onLoadStart")},onPageRenderError:function(e,t){c.triggerEvent("onLoadError",{page:t}),c.triggerEvent("onLoadEnd",{page:t})},onPageRender:function(e,t){c.callbacks.renderPage(c,t)},onPageRenderEnd:function(e,t){c.redraw(),c.triggerEvent("onLoadSuccess",{page:t}),c.triggerEvent("onLoadEnd",{page:t})},onSetCount:function(e,t){c.params.showCounter&&f(t)}}}))})},f=function(e){c.nodes.counter||(c.nodes.counter=cm.node("div",{classes:"pt__gridlist__counter"}),cm.insertFirst(c.nodes.counter,c.nodes.container)),c.nodes.counter.innerHTML=cm.strReplace(c.msg("counter"),{"%count%":e})},v=function(e){var n={};(c.nodes.header=n).container=cm.node("div",{classes:"pt__gridlist pt__gridlist--header"},n.table=cm.node("table",n.head=cm.node("thead",n.title=cm.node("tr")))),c.params.adaptive&&cm.addClass(n.container,"is-adaptive"),cm.forEach(c.params.cols,function(e,t){y(e,t,n.title)}),c.params.renderFilter&&(n.filter=cm.node("tr"),cm.forEach(c.params.cols,function(e,t){w(e,t,n.filter)}),cm.appendChild(n.filter,n.head)),cm.appendChild(n.container,e)},b=function(n,e,t){c.triggerEvent("onRenderStart",{container:t,page:n,data:e}),i(),c.nodes.table&&cm.isParent(t,c.nodes.table)&&cm.remove(c.nodes.table),c.nodes.table=cm.node("div",{classes:"pt__gridlist"},c.nodes.tableInner=cm.node("table",c.nodes.head=cm.node("thead",c.nodes.title=cm.node("tr")),c.nodes.content=cm.node("tbody"))),c.params.adaptive&&cm.addClass(c.nodes.table,"is-adaptive"),c.params.divideTableHeader?(cm.forEach(c.params.cols,function(e,t){r(e,0,c.nodes.title)}),cm.addClass(c.nodes.head,"is-hidden")):(cm.forEach(c.params.cols,function(e,t){y(e,t,c.nodes.title)}),c.params.renderFilter&&(c.nodes.filter=cm.node("tr",{classes:"pt__gridlist__row-filter"}),cm.forEach(c.params.cols,function(e,t){w(e,t,c.nodes.filter)}),cm.appendChild(c.nodes.filter,c.nodes.head)),c.params.hideTableHeader&&cm.addClass(c.nodes.head,"is-hidden")),cm.forEach(e,function(e,t){_(c.rows,e,t+(n-1))}),cm.appendChild(c.nodes.table,t),o(),c.triggerEvent("onRenderEnd",{container:t,page:n,data:e,rows:c.rows})},y=function(e,t,n){(e=c.params.cols[t]=cm.merge({_component:null,width:"auto",access:!0,type:"text",key:"",title:"",titleTooltip:"",sort:c.params.sort,sortKey:"",filterKey:null,classes:[],class:"",target:"_blank",rel:null,tagName:"td",wrap:!1,textOverflow:null,showTitle:null,titleKey:"",titleText:"",altText:"",urlKey:!1,links:[],linksParams:{align:"left"},actions:[],actionsParams:{align:"right"},preventDefault:!0,onClick:!1,onRender:!1},e)).nodes={},e.showTitle=(cm.isBoolean(e.showTitle)?e:c.params).showTitle,e.textOverflow=(cm.isBoolean(e.textOverflow)?e:c.params).textOverflow,e.access&&(e.nodes.container=cm.node("th",{classes:e.classes},e.nodes.inner=cm.node("div",{classes:"inner"})),cm.isEmpty(e.width)||(/%|px|auto/.test(e.width)?e.nodes.container.style.width=e.width:e.nodes.container.style.width=parseFloat(e.width)+"px"),cm.appendChild(e.nodes.container,n),"checkbox"===e.type?(cm.addClass(e.nodes.container,"control"),e.nodes.inner.appendChild(e.nodes.checkbox=cm.node("input",{type:"checkbox",title:c.msg("check_all")})),e.nodes.checkbox.checked=c.isCheckedAll,cm.addEvent(e.nodes.checkbox,"click",function(){c.isCheckedAll?c.unCheckAll():c.checkAll()}),c.nodes.checkbox=e.nodes.checkbox):e.nodes.inner.appendChild(cm.node("span",{title:e.titleTooltip},e.title)),e.sort&&!/icon|empty|actions|links|checkbox/.test(e.type)&&(C(e,t),cm.addEvent(e.nodes.inner,"click",function(){c.sortBy=cm.isEmpty(e.sortKey)?e.key:e.sortKey,c.orderBy="ASC"===c.orderBy?"DESC":"ASC",c.isAjax||F(),c.params.divideTableHeader&&cm.forEach(c.params.cols,C),c.params.pagination?c.components.pagination.rebuild():b(1,c.params.data,c.nodes.container)})),c.triggerEvent("onRenderTitleItem",{nodes:e.nodes,item:e,i:t}))},C=function(e,t){e.access&&!/icon|empty|actions|links|checkbox/.test(e.type)&&(cm.removeClass(e.nodes.container,"sort"),e.sort)&&(cm.addClass(e.nodes.container,"sort"),cm.remove(e.nodes.sort),e.sortKey!==c.sortBy&&e.key!==c.sortBy||(e.nodes.sort=cm.node("div",{classes:c.params.icons.arrow[c.orderBy.toLowerCase()]}),cm.appendChild(e.nodes.sort,e.nodes.inner)))},w=function(e,t,n){e.nodes.filter={},e.access&&(e.nodes.filter.container=cm.node("td",e.nodes.filter.inner=cm.node("div",{classes:"inner"})),cm.appendChild(e.nodes.filter.container,n),c.triggerEvent("onRenderFilterItem",{nodes:e.nodes.filter,item:e,i:t}))},_=function(e,t,n){var a={i:n,index:t[c.params.uniqueKey],data:t,children:[],childrenData:[],isChecked:!1,isParent:!1,isFirstLevel:!0,status:t._status||!1,classes:[],nodes:{cols:[]},cells:[]};a.isFirstLevel=c.rows===e,c.params.groupBy&&(a.childrenData=a.data[c.params.groupBy],a.isParent=!cm.isEmpty(a.childrenData)),a.classes.push(a.isFirstLevel?"is-first-level":"is-child-level"),c.nodes.content.appendChild(a.nodes.container=cm.node("tr",{classes:a.classes})),cm.forEach(c.params.cols,function(e){a.cells.push(E(e,a))}),c.params.groupBy&&cm.forEach(a.childrenData,function(e,t){_(a.children,e,t)}),e.push(a)},E=function(t,n){var a={nodes:{}};if(t.access){switch(a.data=cm.objectPath(t.key,n.data),a.text=cm.isEmpty(a.data)?"":a.data,a.titleData=cm.objectPath(t.titleKey,n.data),a.title=cm.isEmpty(t.titleText)?cm.isEmpty(a.titleData)?a.text:a.titleData:t.titleText,cm.isString(t.classes)&&
1(t.classes=[t.classes]),n.nodes.container.appendChild(a.nodes.container=cm.node(t.tagName,{classes:t.classes})),t.wrap||t.textOverflow?(a.nodes.inner=cm.node("div",{classes:"inner"}),a.nodes.container.appendChild(a.nodes.inner),t.textOverflow&&cm.addClass(a.nodes.inner,"is-nowrap")):a.nodes.inner=a.nodes.container,t.type){case"number":A(t,n,a);break;case"date":P(t,n,a);break;case"icon":k(t,n,a);break;case"url":x(t,n,a);break;case"checkbox":T(t,n,a);break;case"links":R(t,n,a);break;case"actions":H(t,n,a);break;case"empty":break;default:S(t,n,a)}n.status&&M(n,n.status),t.showTitle&&(a.nodes.node?a.nodes.node.title=a.title:a.nodes.inner.title=a.title),cm.isFunction(t.onClick)&&cm.addEvent(a.nodes.node||a.nodes.inner,"click",function(e){t.preventDefault&&cm.preventDefault(e),t.onClick(c,{nodes:a.nodes,col:t,row:n,cell:a})}),cm.isFunction(t.onRender)&&t.onRender(c,{nodes:a.nodes,col:t,row:n,cell:a}),a.nodes.inner.hasChildNodes()||cm.addClass(a.nodes.container,"is-empty")}return a},S=function(e,t,n){cm.isNode(n.text)?cm.appendChild(n.text,n.nodes.inner):n.nodes.inner.innerHTML=n.text},A=function(e,t,n){n.nodes.inner.innerHTML=cm.splitNumber(n.text)},P=function(e,t,n){c.params.dateFormat!==c.params.visibleDateFormat?n.nodes.inner.innerHTML=cm.parseFormatDateTime(n.text,c.params.dateFormat,c.params.visibleDateFormat):n.nodes.inner.innerHTML=n.text},k=function(e,t,n){n.text=cm.decode(n.text),n.href=e.urlKey&&t.data[e.urlKey]?cm.decode(t.data[e.urlKey]):n.text,n.label=cm.isEmpty(e.altText)?n.text:e.altText,cm.isEmpty(n.href)?n.nodes.node=cm.node("div",{classes:e.class,title:n.label}):n.nodes.node=cm.node("a",{classes:e.class,title:n.label,target:e.target,rel:e.rel,href:n.href}),cm.addClass(n.nodes.node,"icon linked inline"),n.nodes.inner.appendChild(n.nodes.node)},x=function(e,t,n){n.text=cm.decode(n.text),n.href=e.urlKey&&t.data[e.urlKey]?cm.decode(t.data[e.urlKey]):n.text,n.label=cm.isEmpty(e.altText)?n.text:e.altText,cm.isEmpty(n.href)||(n.nodes.node=cm.node("a",{target:e.target,rel:e.rel,href:n.href},n.label),n.nodes.inner.appendChild(n.nodes.node))},T=function(e,t,n){cm.addClass(n.nodes.container,"control"),n.nodes.node=cm.node("input",{type:"checkbox"}),n.nodes.inner.appendChild(n.nodes.node),t.nodes.checkbox=n.nodes.node,t.data._checked&&L(t,!1),cm.addEvent(n.nodes.node,"click",function(){(t.isChecked?I:L)(t,!0)})},R=function(t,n,a){a.classes=["pt__links",["pull",t.linksParams.align].join("-"),t.class],a.nodes.node=cm.node("div",{classes:a.classes},a.nodes.itemsList=a.nodes.linksList=cm.node("ul")),cm.getConstructor(c.params.linksMenu.constructor,e=>{a.links=D(t,n,a,"links"),a.controller=new e(cm.merge(c.params.linksMenu.constructorParams,{items:a.links,nodes:{container:a.nodes.node,holder:a.nodes.itemsList}})),0<a.controller.getItems().length&&cm.appendChild(a.nodes.node,a.nodes.inner)})},H=function(t,n,a){a.classes=["pt__links",["pull",t.actionsParams.align].join("-"),t.class],a.nodes.node=cm.node("div",{classes:a.classes}),cm.getConstructor(c.params.actionsMenu.constructor,e=>{a.actions=D(t,n,a,"actions"),a.controller=new e(cm.merge(c.params.actionsMenu.constructorParams,{container:a.nodes.node,items:a.actions,events:{onShow:function(){cm.addClass(n.nodes.container,"highlight")},onHide:function(){cm.removeClass(n.nodes.container,"highlight")}}})),0<a.controller.getItems().length&&cm.appendChild(a.nodes.node,a.nodes.inner)})},D=function(n,a,s,e){var o=[];return cm.forEach(n[e],function(e,t){(e=V(n,a,s,e))&&o.push(e)}),o},V=function(e,t,n,a){a=cm.merge({name:"",label:"",icon:null,access:!0,status:null,classes:[],attr:{},preventDefault:e.preventDefault,data:t.data,dataKey:"data",dataPath:null,constructor:!1,constructorParams:{},callback:null,callbackParams:{}},a);var e=!cm.isArray(n.data)||cm.isEmpty(a.name),s=cm.isArray(n.data)&&cm.inArray(n.data,a.name);
1if(a.access&&(e||s))return cm.forEach(t.data,function(e,t){a.attr=cm.replaceDeep(a.attr,new RegExp([cm.strWrap(t,"%"),cm.strWrap(t,"%25")].join("|"),"g"),e)}),e={rowItem:t,cellItem:n},a.constructor?a.constructorParams=cm.merge(a.constructorParams,e):a.callbackParams=cm.merge(a.callbackParams,e),a},F=function(){var n,a,s,o,r,i;cm.forEach(c.params.cols,function(e){e.key===c.sortBy&&(n=e)}),c.params.data.sort(function(e,t){switch(a=e[c.sortBy],s=t[c.sortBy],n.type){case"html":return o=cm.getTextNodesStr(cm.strToHTML(a)),r=cm.getTextNodesStr(cm.strToHTML(s)),i=o<r?-1:r<o?1:0,"ASC"===c.orderBy?i:-1*i;case"date":return o=cm.parseDate(a,c.params.dateFormat),r=cm.parseDate(s,c.params.dateFormat),"ASC"===c.orderBy?o-r:r-o;case"number":return i=a-s,"ASC"===c.orderBy?i:-1*i;default:return o=a?a.toLowerCase():"",r=s?s.toLowerCase():"",i=o<r?-1:r<o?1:0,"ASC"===c.orderBy?i:-1*i}}),c.triggerEvent("onSort",{sortBy:c.sortBy,orderBy:c.orderBy})},L=function(e,t){e.isChecked||(e.nodes.checkbox&&(e.nodes.checkbox.checked=!0),e.isChecked=!0,e.data._checked=!0,e.status&&cm.removeClass(e.nodes.container,e.status),cm.addClass(e.nodes.container,"active"),c.checked.push(e),(c.checked.length?n:a)(),t&&c.triggerEvent("onCheck",e))},I=function(e,t){e.isChecked&&(e.nodes.checkbox&&(e.nodes.checkbox.checked=!1),e.isChecked=!1,e.data._checked=!1,cm.removeClass(e.nodes.container,"active"),e.status&&cm.addClass(e.nodes.container,e.status),cm.arrayRemove(c.checked,e),(c.checked.length?n:a)(),t)&&c.triggerEvent("onUnCheck",e)},M=function(e,t){e.status=t,e.data._status=t,cm.removeClass(e.nodes.container,c.params.statuses.join(" ")),e.isChecked?cm.addClass(e.nodes.container,"active"):cm.inArray(c.params.statuses,t)&&cm.addClass(e.nodes.container,t)};c.callbacks.paginationAfterPrepare=function(e,t,n){return n.url=cm.strReplace(n.url,{"%sortBy%":e.sortBy,"%orderBy%":e.orderBy,"%orderByLower%":e.orderBy.toLowerCase()}),n.params=cm.objectReplace(n.params,{"%sortBy%":e.sortBy,"%orderBy%":e.orderBy,"%orderByLower%":e.orderBy.toLowerCase()}),n},c.callbacks.filter=function(e,t){return t},c.callbacks.renderPage=function(e,t){e.triggerEvent("onPageRenderStart",{page:t}),e.isAjax||(t.data=e.getStaticPageData(t.page)),!cm.isEmpty(t.data)&&cm.isArray(t.data)&&(t.data=e.callbacks.filter(e,t.data)),e.triggerEvent("onDataFilterEnd",t.data),e.renderPageTable(t),e.triggerEvent("onPageRenderEnd",{page:t})},c.renderPageTable=function(e){cm.isEmpty(e.data)?(c.params.renderEmptyTable&&b(e.page,e.data,e.container),t(e.container,e.message)):b(e.page,e.data,e.container)},c.rebuild=function(){return c.components.pagination&&c.components.pagination.rebuild(),c},c.redraw=function(){return c.components.helper&&c.components.helper.redraw(),c},c.setData=function(e){return d(e),c},c.setAction=function(e,t,n){return c.components.pagination&&c.components.pagination.setAction(e,t,n),c},c.getAction=function(){return c.components.pagination&&c.components.pagination.getAction()||{}},c.getCurrentAction=function(){return c.components.pagination&&c.components.pagination.getCurrentAction()||{}},c.abort=function(){return c.components.pagination&&c.components.pagination.abort(),c},c.getRows=function(){return c.rows},c.check=function(t){return cm.forEach(c.rows,function(e){e.index==t&&L(e,!0)}),c},c.unCheck=function(t){return cm.forEach(c.rows,function(e){e.index==t&&I(e,!0)}),c},c.checkAll=function(){return c.nodes.checkbox&&(c.nodes.checkbox.checked=!0),cm.forEach(c.rows,function(e){L(e)}),c.isCheckedAll||(c.isCheckedAll=!0,c.triggerEvent("onCheckAll")),c},c.unCheckAll=function(){return c.nodes.checkbox&&(c.nodes.checkbox.checked=!1),cm.forEach(c.rows,function(e){I(e)}),c.isCheckedAll&&(c.isCheckedAll=!1,c.triggerEvent("onUnCheckAll")),c},c.getChecked=function(){return c.checked},c.getCheckedData=function(){var t=[];return cm.forEach(c.checked,function(e){t.push(e.data)}),t},c.getCheckedIndexes=function(){var t=[];return cm.forEach(c.checked,function(e){t.push(e.data[c.params.uniqueKey])}),t},c.getStaticPageData=function(e){var t=c.params.perPage*(e-1),e=Math.min(c.params.perPage*e,c.params.data.length);return c.params.data.slice(t,e)},c.setRowStatus=function(t,n){return cm.forEach(c.rows,function(e){e.index==t&&M(e,n)}),c},c.clearRowStatus=function(t){return cm.forEach(c.rows,function(e){e.index==t&&((e=e).status=null,e.data._status=null,cm.removeClass(e.nodes.container,c.params.statuses.join(" ")))}),c},c.getRowsByStatus=function(t){var n=[];return cm.forEach(c.rows,function(e){e.status==t&&n.push(e)}),n},c.getToolbar=function(){return c.components.toolbar},c.destruct=function(){return c.isDestructed||(c.isDestructed=!0,c.removeFromStack(),cm.remove(c.nodes.container)),c},c.remove=function(){return c.params.destructOnRemove&&c.destruct(),cm.remove(c.nodes.container),c},c.setParams(e),c.convertEvents(c.params.events),c.getDataConfig(c.params.node),c.callbacksProcess(),c.sortBy=c.params.sortBy,c.orderBy=c.params.orderBy,c.params.groupBy=cm.isEmpty(c.params.childBy)?c.params.groupBy:c.params.childsBy,c.params.data||=[],!cm.isEmpty(c.params.ajax.url)&&c.params.ajax.enable?(c.isAjax=!0,cm.forEach(["autoSend","showLoader","responseKey","responseCodeKey","responseCountKey","responseMessageKey","responseErrorsKey","ajax"],function(e){void 0!==c.params[e]&&(c.params.paginationParams[e]=c.params[e])}),c.params.pagination=!0):c.params.paginationParams.count=c.params.data.length,c.params.paginationParams.perPage=c.params.perPage,c.params.paginationParams.pageCount=c.params.pageCount,c.params["Com.GridlistHelper"].columns=c.params.columns,c.nodes.container=cm.node("div",{classes:"com__gridlist"}),cm.addClass(c.nodes.container,c.params.className),c.params.adaptive&&cm.addClass(c.nodes.container,"is-adaptive"),c.embedStructure(c.nodes.container),c.params.showBulkActions&&c.params.actions.length&&m(),l(),c.params.customEvents&&cm.customEvent.add(c.params.node,"redraw",()=>c.redraw()),c.addToStack(c.nodes.container),c.triggerEvent("onRender")}),cm.define("Com.GridlistFilter",{extend:"Com.AbstractController",events:["onRenderContentStart","onRenderContent","onRenderContentProcess","onRenderContentEnd"],params:{controllerEvents:!0,renderStructure:!0,renderStructureContent:!0,embedStructureOnRender:!0,embedStructure:"append",controller:null,minLength:0,delay:"cm._config.requestDelay",action:{}},strings:{placeholder:"Type query..."}},function(e){Com.AbstractController.apply(this,arguments)}),cm.getConstructor("Com.GridlistFilter",function(e,t,n){var a=n._inherit;n.construct=function(){return this.requestDelay=null,this.inputEventHandler=this.inputEvent.bind(this),a.prototype.construct.apply(this,arguments),this},n.renderView=function(){var e=this;return e.triggerEvent("onRenderViewStart"),e.nodes.container=cm.node("div",{class:"com__gridlist__filter"}),cm.appendChild(e.nodes.contentContainer,e.nodes.container),e.params.renderStructureContent&&(e.nodes.contentContainer=e.renderContent(),cm.appendChild(e.nodes.contentContainer,e.nodes.container)),e.triggerEvent("onRenderViewProcess"),e.triggerEvent("onRenderViewEnd"),e},n.renderViewModel=function(){return a.prototype.renderViewModel.apply(this,arguments),this.params.controller&&(this.components.c
1ontroller=this.params.controller),this},n.renderContent=function(){var e={};return this.nodes.content=e,this.triggerEvent("onRenderContentStart"),e.container=cm.node("div",{class:"pt__input"},e.input=cm.node("input",{type:"search",autocomplete:"off",placeholder:this.lang("placeholder")}),e.icon=cm.node("div",{class:"icon icon svg__search"})),this.triggerEvent("onRenderContent"),this.triggerEvent("onRenderContentProcess"),cm.addEvent(e.input,"input",this.inputEventHandler),this.triggerEvent("onRenderContentEnd"),e.container},n.inputEvent=function(){var e=this,t=e.nodes.content.input.value,n=cm.clone(e.params.action);e.requestDelay&&clearTimeout(e.requestDelay),e.components.controller&&e.components.controller.abort(),t.length>=e.params.minLength&&(e.requestDelay=setTimeout(function(){e.callbacks.request(e,{config:n,query:t})},e.params.delay))},n.callbacks.prepare=function(e,t){return t.config=e.callbacks.beforePrepare(e,t),t.config=cm.objectReplace(t.config,{"%query%":t.query}),t.config=e.callbacks.afterPrepare(e,t),t.config},n.callbacks.beforePrepare=function(e,t){return t.config},n.callbacks.afterPrepare=function(e,t){return t.config},n.callbacks.request=function(e,t){(t=cm.merge({response:null,data:null,config:null,query:""},t)).config=e.callbacks.prepare(e,t),e.components.controller&&e.components.controller.setAction({params:t.config})},n.reset=function(){return this.nodes.content.input.value="",this.inputEvent(),this}}),cm.define("Com.GridlistHelper",{modules:["Params","Events","Langs","DataConfig","DataNodes","Stack"],events:["onRender","onColumnsChange","onColumnsResize","onEnableEditing","onEnableEditable","onDisableEditing","onDisableEditable"],params:{node:cm.node("div"),name:"",isEditing:!0,customEvents:!0,columns:{isEditing:!1,customEvents:!1,showDrag:!1,ajax:{type:"json",method:"post",url:"",params:""}}}},function(e){var n=this,t=(n.nodes={container:cm.node("div"),thead:cm.node("thead"),items:[]},n.components={},n.isEditing=null,function(){n.nodes.container=n.params.node}),a=function(){n.nodes.thead=n.nodes.container.getElementsByTagName("thead")[0]||n.nodes.thead,n.nodes.items=n.nodes.thead.getElementsByTagName("th"),cm.getConstructor("Com.ColumnsHelper",function(e){n.components.columns=new e(cm.merge(n.params.columns,{node:n.nodes.container,items:n.nodes.items,events:{onDragStart:function(){cm.addClass(n.nodes.container,"is-active")},onDragStop:function(){cm.removeClass(n.nodes.container,"is-active")},onChange:function(e,t){n.triggerEvent("onColumnsChange",t)},onResize:function(e,t){n.triggerEvent("onColumnsResize",t)}}}))}),n.params.customEvents&&(cm.customEvent.add(n.params.node,"redraw",function(){n.redraw()}),cm.customEvent.add(n.params.node,"enableEditable",function(){n.enableEditing()}),cm.customEvent.add(n.params.node,"disableEditable",function(){n.disableEditing()})),n.params.isEditing&&n.enableEditing()};n.enableEditing=function(){return"boolean"==typeof n.isEditing&&n.isEditing||(n.isEditing=!0,cm.addClass(n.params.node,"is-editing is-editable"),n.components.columns&&n.components.columns.enableEditing(),n.triggerEvent("onEnableEditing"),n.triggerEvent("onEnableEditable")),n},n.disableEditing=function(){return"boolean"==typeof n.isEditing&&!n.isEditing||(n.isEditing=!1,cm.removeClass(n.params.node,"is-editing is-editable"),n.components.columns&&n.components.columns.disableEditing(),n.triggerEvent("onDisableEditing"),n.triggerEvent("onDisableEditable")),n},n.redraw=function(){return n.components.columns&&n.components.columns.redraw(),n},n.setParams(e),n.convertEvents(n.params.events),n.getDataNodes(n.params.node),n.getDataConfig(n.params.node),t(),a(),n.addToStack(n.nodes.container),n.triggerEvent("onRender")}),cm.define("Com.HelpBubble",{extend:"Com.AbstractController",params:{renderStructure:!1,embedStructureOnRender:!1,controllerEvents:!0,target:null,title:null,titleAlign:"left",content:null,type:"tooltip",showIcon:!0,showLabel:!1,tooltipConstructor:"Com.Tooltip",tooltipParams:{hold:!0,targetEvent:["click","hover"],className:"com__help-bubble__tooltip"},containerConstructor:"Com.DialogContainer",containerParams:{renderTitle:!0,destructOnClose:!0}}},function(e){Com.AbstractController.apply(this,arguments)}),cm.getConstructor("Com.HelpBubble",function(e,t,n,a){n.onValidateParams=function(){switch(this.params.align){case"left":this.params.tooltipParams.left=0;break;case"right":this.params.tooltipParams.left="targetWidth - selfWidth"}}
1,n.onDestruct=function(){this.components.container&&cm.isFunction(this.components.container.destruct)&&this.components.container.destruct(),this.components.tooltip&&cm.isFunction(this.components.tooltip.destruct)&&this.components.tooltip.destruct()},n.renderView=function(){var e=this;e.nodes.container=cm.node("span",{class:"com__help-bubble"},e.nodes.button=cm.node("a",{class:"com__help-bubble__title"}),e.nodes.content=cm.node("span",{class:"com__help-bubble__content"})),cm.addClass(e.nodes.container,["pull",e.params.align].join("-")),e.params.showIcon&&(e.nodes.icon=cm.node("span",{class:"icon default linked"}),cm.appendChild(e.nodes.icon,e.nodes.button)),e.params.showLabel&&(e.nodes.label=cm.node("span",{class:"label"},e.params.title),cm.appendChild(e.nodes.label,e.nodes.button))},n.renderViewModel=function(){var t=this;a.prototype.renderViewModel.apply(t,arguments),cm.isEmpty(t.params.content)||t.set(t.params.content),"container"===t.params.type?cm.getConstructor(t.params.containerConstructor,function(e){t.components.container=new e(cm.merge(t.params.containerParams,{node:t.nodes.button,title:t.params.title,titleAlign:t.params.titleAlign,content:t.nodes.content}))}):cm.getConstructor(t.params.tooltipConstructor,function(e){t.components.tooltip=new e(t.params.tooltipParams),t.components.tooltip.setTarget(t.nodes.button).setContent(t.nodes.content)})},n.set=function(e){return cm.isNode(this.nodes.content)||(this.nodes.content=cm.node("div")),cm.clearNode(this.nodes.content),cm.isString(e)||cm.isNumber(e)?this.nodes.content.innerHTML=e:cm.appendNodes(e,this.nodes.content),this}}),cm.define("Com.ImageBox",{extend:"Com.AbstractController",params:{renderStructure:!1,embedStructureOnRender:!1,controllerEvents:!0,customEvents:!0,animated:!1,effect:"none",zoom:!1,scrollNode:window,galleryPopup:{constructor:"Com.GalleryPopup",constructorParams:{showCounter:!1}}}},function(){Com.AbstractController.apply(this,arguments)}),cm.getConstructor("Com.ImageBox",function(e,t,n,a){n.onConstructStart=function(){this.nodes={item:{},buttons:{preview:cm.node("div")}},this.dimensions={},this.pageDimensions={},this.isProcessed=!1,this.animProcessHandler=this.animProcess.bind(this)},n.onRedraw=function(){this.params.animated&&(this.animRestore(),this.animProcess())},n.renderViewModel=function(){var t=this;a.prototype.renderViewModel.apply(t,arguments),t.params.animated&&(cm.addClass(t.params.node,"cm-animate"),cm.addClass(t.params.node,["pre",t.params.effect].join("-")),cm.addEvent(t.params.scrollNode,"scroll",t.animProcessHandler),t.animProcess()),t.params.zoom&&(cm.getConstructor(t.params.galleryPopup.constructor,function(e){t.components.popup=new e(t.params.galleryPopup.constructorParams)}),t.components.popup.collectItem(t.nodes.item),cm.addEvent(t.nodes.buttons.preview,"click",t.components.popup.openHandler)),cm.customEvent.add(t.params.node,"redraw",function(){t.redraw()})},n.getDimensions=function(){this.dimensions=cm.getRect(this.params.node)},n.getPageDimensions=function(){this.pageDimensions=cm.getPageSize()},n.animProcess=function(){var e=this;e.isProcessed||(e.getDimensions(),e.getPageDimensions(),e.dimensions.height<e.pageDimensions.winHeight?0<=e.dimensions.top&&e.dimensions.bottom<=e.pageDimensions.winHeight&&e.animSet():(e.dimensions.top<0&&e.dimensions.bottom>=e.pageDimensions.winHeight/2||e.dimensions.bottom>e.pageDimensions.winHeight&&e.dimensions.top<=e.pageDimensions.winHeight/2)&&e.animSet())},n.animSet=function(){this.isProcessed=!0,cm.addClass(this.params.node,"animate__animated"),cm.addClass(this.params.node,["animate",this.params.effect].join("__"))},n.animRestore=function(){this.isProcessed=!1,cm.removeClass(this.params.node,"animate__animated"),cm.removeClass(this.params.node,["animate",this.params.effect].join("__"))}}),cm.define("Com.ImagePreviewContainer",{extend:"Com.AbstractContainer",params:{constructor:"Com.GalleryPopup",params:{showCounter:!1,showTitle:!0},placeholder:!1,types:{video:cm._config.fileTypes.video,embed:cm._config.fileTypes.embed}}},function(){Com.AbstractContainer.apply(this,arguments)}),cm.getConstructor("Com.ImagePreviewContainer",function(e,t,n,a){n.onRenderControllerProcess=function(){return this.setController(),this},n.set=function(e){return this.clear(),this.setData(e),this.setController(),this}
1,n.clear=function(){return this.components.controller?.clear(),this},n.setData=function(e){return this.item={type:e.type,src:e.url,mime:e.mime||e.type,title:e.name},cm.isEmpty(this.item.mime)||(this.params.types.video.test(this.item.mime)&&(this.item.type="video"),this.params.types.embed.test(this.item.mime)&&(this.item.type="iframe")),this},n.setController=function(){return this.components.controller?.add(this.item),this}}),cm.define("Com.Menu",{extend:"Com.AbstractController",events:["onShow","onHide"],params:{controllerEvents:!0,renderStructure:!1,embedStructureOnRender:!1,embedStructure:"append",modifiers:["link"],items:[],item:{preventDefault:!0},icon:{icon:"cm-i__chevron-down",classes:["cm-i","xx-small"]},tooltip:{enable:!0,constructor:"Com.Tooltip",constructorParams:{className:"com__menu-tooltip",theme:null,hold:!0,delay:0,ariaRole:"menu",top:"targetHeight",left:0,adaptiveFrom:null,adaptiveTop:null,adaptiveLeft:null,minWidth:"targetWidth",targetEvent:"click",preventDefault:!0,stopPropagation:!0,hideOnReClick:!0,hideOnOut:!0}}},strings:{label:"Actions"}},function(e){Com.AbstractController.apply(this,arguments)}),cm.getConstructor("Com.Menu",function(e,t,n,a){n.construct=function(){this.nodes={holder:cm.node("div"),button:cm.node("div"),target:cm.node("div")},this.items=[],this.currentIndex=null,this.previousIndex=null,a.prototype.construct.apply(this,arguments)},n.setAttributes=function(){let t=this;a.prototype.setAttributes.apply(t,arguments),cm.forEach(t.params.modifiers,e=>{cm.addClass(t.nodes.container,"com__menu--"+e)})},n.renderView=function(){this.nodes.container=cm.node("div",{classes:"com__menu",title:this.msg("label")},cm.node("div",{classes:"label"},this.msg("label")),this.nodes.icon=this.renderIconView(),this.nodes.target=cm.node("div",{classes:["pt__menu","pt__menu--tooltip"]},this.nodes.holder=cm.node("ul",{classes:"pt__menu-dropdown"}))),this.nodes.button=this.nodes.container},n.renderIconView=function(){var e=cm.extend(this.params.icon.classes,[this.params.icon.icon]);return cm.node("div",{classes:e})},n.renderViewModel=function(){a.prototype.renderViewModel.apply(this,arguments),this.renderItems(this.params.items),this.params.tooltip.enable&&this.renderTooltip()},n.renderTooltip=function(){let t=this;cm.getConstructor(t.params.tooltip.constructor,e=>{t.components.tooltip=new e(cm.merge(t.params.tooltip.constructorParams,{target:t.nodes.container||t.nodes.button,content:t.nodes.target,events:{onShowStart:()=>t.afterShow(),onHideStart:()=>t.afterHide()}}))}),t.nodes.button.setAttribute("role","button"),t.nodes.button.setAttribute("tabindex","0"),t.nodes.button.setAttribute("aria-haspopup","true"),t.nodes.button.setAttribute("aria-controls","menu"),t.nodes.button.setAttribute("aria-expanded","false"),cm.addEvent(t.nodes.button,"focus",t.afterFocus.bind(t)),cm.addEvent(t.nodes.button,"blur",t.afterBlur.bind(t)),cm.addEvent(t.nodes.button,"keydown",t.afterKeyPress.bind(t))},n.afterFocus=function(){cm.addClass(this.nodes.button,"highlight"),cm.addClass(this.nodes.icon,"highlight")},n.afterBlur=function(){cm.removeClass(this.nodes.button,"highlight"),cm.removeClass(this.nodes.icon,"highlight"),this.components.tooltip.isOwnEventTarget()||this.hide()},n.afterShow=function(){cm.addClass(this.nodes.button,"active"),cm.addClass(this.nodes.icon,"active"),this.nodes.button.setAttribute("aria-expanded","true"),this.nodes.button.focus();var e=this.components.tooltip.getLastTargetEvent();"keypress"===e?.type&&this.selectItem(this.findFirstIndex()),this.triggerEvent("onShow")},n.afterHide=function(){cm.removeClass(this.nodes.button,"active"),cm.removeClass(this.nodes.icon,"active"),this.nodes.button.setAttribute("aria-expanded","false"),this.nodes.button.focus(),this.unselectItem(this.currentIndex),this.triggerEvent("onHide")},n.afterKeyPress=function(e){let t=this;var n;t.components.tooltip.isShow&&t.items.filter(e=>!e.params.hidden).length&&(n={ArrowUp:()=>t.selectItem(t.findPreviousIndex(t.currentIndex)),ArrowDown:()=>t.selectItem(t.findNextIndex(t.currentIndex)),Home:()=>t.selectItem(t.findFirstIndex()),End:()=>t.selectItem(t.findLastIndex()),Space:()=>t.triggerItemAction(t.currentIndex),Enter:()=>t.triggerItemAction(t.currentIndex)})[e.code]&&(e.preventDefault(),n[e.code]())},n.findFirstIndex=function(){return this.items.findIndex(e=>!e.params.hidden)},n.findLastIndex=function(){return this.items.findLastIndex(e=>!e.params.hidden)},n.findPreviousIndex=function(e){if(!cm.isNumber(e))return this.findLastIndex();let t=(e-1+this.items.length)%this.items.length;for(;this.getItem(t).params.hidden;)t=(t-1+this.items.length)%this.items.length;return t},n.findNextIndex=function(e){if(!cm.isNumber(e))return this.findFirstIndex();let t=(e+1)%this.items.length;for(;this.getItem(t).params.hidden;)t=(t+1)%this.items.length;return t},n.reArrangeItems=function(){let t=this;cm.forEach(t.items,e=>{e.params.hidden?cm.remove(e.nodes.container):cm.appendChild(e.nodes.container,t.nodes.holder)})},n.renderItems=function(e){let t=this;cm.forEach(e,e=>t.renderItem(e))},n.renderItem=function(e){let t=this;var n=cm.merge({name:"",label:"",icon:null,access:!0,status:null,hidden:!1,classes:[],attr:{},data:null,dataKey:"data",dataPath:null,preventDefault:!0,constructor:!1,constructorParams:{},callback:null,callbackParams:{},afterRender:null},t.params.item);let a={nodes:{},params:cm.merge(n,e)};cm.isFunction(a.params.access)&&(a.params.access=a.params.access(a.params)),a.params.access&&(a.params.label=t.validateItemLabel(a,a.params.label),a.params.attr.classes=cm.merge(a.params.classes,a.params.attr.classes),a.nodes.container=cm.node("li",a.nodes.link=cm.node("a",a.params.attr)),cm.isEmpty(a.params.label)||(a.nodes.label=cm.node("span",{classes:"label"},a.params.label),cm.appendChild(a.nodes.label,a.nodes.link)),cm.isNode(a.params.icon)&&(a.nodes.icon=a.params.icon.cloneNode(!0),cm.insertFirst(a.nodes.icon,a.nodes.link),cm.addClass(a.nodes.container,"has-icon")),cm.isEmpty(a.params.status)||cm.addClass(a.nodes.container,a.params.status),(a.params.constructor||cm.isFunction(a.params.callback))&&(a.nodes.link.setAttribute("role","button"),a.nodes.link.setAttribute("tabindex",0)),t.params.tooltip.enable&&(cm.addEvent(a.nodes.link,"mouseenter",()=>t.selectItem(a)),cm.addEvent(a.nodes.link,"mouseleave",()=>t.unselectItem(a))),a.params.constructor?t.renderItemController(a):t.renderItemAction(a),cm.isFunction(a.params.afterRender)&&a.params.afterRender(a),a.params.hidden?cm.addClass(a.nodes.container,"is-
1hidden"):cm.appendChild(a.nodes.container,t.nodes.holder),t.items.push(a))},n.validateItemLabel=function(e,t){return cm.isEmpty(t)?null:cm.isFunction(t)?t(this.getItemActionParams(e,e.params.constructor?e.params.constructorParams:e.params.callbackParams)):t},n.renderItemController=function(n){let a=this;cm.getConstructor(n.params.constructor,e=>{var t=cm.merge(n.params.constructorParams,a.getItemActionParams(n,n.params.constructorParams,{events:{onRenderControllerEnd:()=>a.hide(!1)}}));n.controller=new e(t)})},n.renderItemAction=function(n){let a=this;cm.click.add(n.nodes.link,e=>{var t;n.params.preventDefault&&cm.preventDefault(e),cm.isFunction(n.params.callback)&&(t=cm.merge(n.params.callbackParams,a.getItemActionParams(n,n.params.callbackParams)),n.params.callback(e,t)),a.hide(!1)})},n.getItemActionParams=function(e,t,n){return cm.merge({node:e.nodes.link,actionItem:e,[e.params.dataKey]:this.getItemActionData(e,t)},n)},n.getItemActionData=function(e,t){var n=cm.reducePath(e.params.dataPath,e.params.data);return t[e.params.dataKey]||n},n.triggerItemAction=function(e){(e=this.getItem(e))&&cm.triggerEvent(e.nodes.link,"click")},n.selectItem=function(e){(e=this.getItem(e))&&(this.unselectItem(this.currentIndex),this.currentIndex=cm.arrayIndex(this.items,e),cm.addClass(e.nodes.link,"highlight"))},n.unselectItem=function(e){(e=this.getItem(e))&&(cm.arrayIndex(this.items,e)===this.currentIndex&&(this.previousIndex=this.currentIndex,this.currentIndex=null),cm.removeClass(e.nodes.link,"highlight"))},n.toggleItemVisibility=function(e,t){(e=this.getItem(e))&&(e.params.hidden=!t,cm.toggleClass(e.nodes.container,"is-hidden",!t),this.reArrangeItems())},n.show=function(){return this.components.tooltip?.show(),this},n.hide=function(){return this.components.tooltip?.hide(),this},n.addItem=function(e){return this.renderItem(e),this},n.getItem=function(t){return cm.isNumber(t)?this.items[t]:cm.isString(t)?this.items.find(e=>e.params.name===t):cm.isObject(t)?t:null},n.getItems=function(){return this.items},n.getContainer=function(){return this.nodes.container},n.getNodes=function(e){return this.nodes[e]||this.nodes}}),cm.define("Com.MessageParser",{params:{maxDepth:10}},function(){}),cm.getConstructor("Com.MessageParser",function(e,t,n){n.handlers={msg:{handler:"parseMessageReference",description:"Message reference: {#msg:Component|key}"},var:{handler:"parseVariableReference",description:"Variable reference: {#var:path.to.variable}"},plural:{handler:"parsePluralReference",description:"Plural reference: {#plural:number|one|many}"},formatnum:{handler:"parseFormatnumReference",description:"Formatnum reference: {#formatnum:number}"}},n.registerHandler=function(e,t,n=""){this.handlers[e]={handler:t,description:n}},n.findBalancedBraces=function(t,e=0){var n=[];let a=e;for(;a<t.length;)if("{"===t[a]){let e=1;var s=a;for(a++;a<t.length&&0<e;)"{"===t[a]?e++:"}"===t[a]&&e--,a++;0===e?n.push({full:t.substring(s,a),content:t.substring(s+1,a-1),start:s,end:a}):console.warn("Unmatched opening brace at position "+s)}else a++;return n},n.parseKeyword=function(e,t,n){var a,s;return e.startsWith("#")?-1===(a=e.indexOf(":"))?(console.warn("Invalid keyword format: "+e),`{${e}}`):(a=e.substring(1,a),(s=this.handlers[a])?"function"!=typeof this[s=s.handler]?(console.error(`Handler method ${s} not found for keyword: `+a),`{${e}}`):this[s](e,t,n):(console.warn("Unknown keyword: "+a),`{${e}}`)):cm.reducePath(e,t)},n.parse=function(e,n={},a=0){if("string"!=typeof e||a>this.params.maxDepth)return e;var s=this.findBalancedBraces(e);if(0===s.length)return e;let o=e;for(let t=s.length-1;0<=t;t--){var r=s[t];let e=this.parseKeyword(r.content,n,a);cm.isArray(e)&&(e=cm.joinIntl(e)),o=o.substring(0,r.start)+e+o.substring(r.end)}return o},n.parseMessageReference=function(t,e,n){try{var a,s,o,r=t.substring("#msg:".length).split("|");return 2!==r.length?(console.warn("Invalid message reference format: "+t),`{${t}}`):([a,s]=r,null==(o=cm.getMessage(a,s))?(console.warn(`Message not found: ${a}|`+s),`{${t}}`):this.parse(o,e,n+1))}catch(e){return console.error(`Error parsing message reference ${t}:`,e),`{${t}}`}}
1,n.parseVariableReference=function(t,e,n){try{var a=t.substring("#var:".length),s=cm.reducePath(a,window);return null==s?(console.warn("Variable not found: "+a),`{${t}}`):this.parse(String(s),e,n+1)}catch(e){return console.error(`Error parsing variable reference ${t}:`,e),`{${t}}`}},n.parsePluralReference=function(t,n,a){let s=this;try{var e,o=t.substring("#plural:".length).split("|");return o.length<2?(console.warn("Invalid plural reference format: "+t),`{${t}}`):(e=s.parse(o.shift(),n,a+1),o.map(e=>s.parse(e,n,a+1)),cm.plural(e,o))}catch(e){return console.error(`Error parsing plural reference ${t}:`,e),`{${t}}`}},n.parseFormatnumReference=function(t,n,a){let s=this;try{var e,o=t.substring("#formatnum:".length).split("|");return o.length<1?(console.warn("Invalid formatnum reference format: "+t),`{${t}}`):(e=s.parse(o.shift(),n,a+1),o.map(e=>s.parse(e,n,a+1)),cm.formatNumber(e,o))}catch(e){return console.error(`Error parsing plural reference ${t}:`,e),`{${t}}`}}}),cm.define("Com.MultiField",{extend:"Com.AbstractController",events:["onItemAdd","onItemAddEnd","onItemRemove","onItemRemoveEnd","onItemShow","onItemShowEnd","onItemHide","onItemHideEnd","onItemProcess","onItemProcessEnd","onItemSort","onItemIndexChange"],params:{renderStructure:!1,embedStructure:"append",embedStructureOnRender:!1,mode:"create",sortable:!0,showControls:!0,showList:!0,renderItems:0,max:0,template:null,templateAttributeReplace:!1,templateAttribute:"name",duration:"cm._config.animDurationShort",theme:"",icons:{drag:"icon drag linked",add:"icon add linked",remove:"icon remove linked"},"Com.Sortable":{process:!1}},strings:{add:"Add",remove:"Remove"}},function(e){Com.AbstractController.apply(this,arguments)}),cm.getConstructor("Com.MultiField",function(e,t,n,s){n.construct=function(){this.nodes={container:cm.node("div"),content:cm.node("div"),toolbar:{container:cm.node("div"),add:cm.node("div"),buttons:[]},items:[]},this.components={},this.items=[],this.buttons=[],this.isToolbarVisible=!0,s.prototype.construct.apply(this,arguments)},n.renderView=function(){var e=this;e.triggerEvent("onRenderViewStart"),e.nodes.container=cm.node("div",{class:"com__multifield"}),e.nodes.content=cm.node("div",{class:"com__multifield__content"}),e.params.showList&&cm.appendChild(e.nodes.content,e.nodes.container),e.params.showControls&&(e.nodes.toolbarContainer=e.renderToolbarView(),cm.appendChild(e.nodes.toolbarContainer,e.nodes.container)),e.triggerEvent("onRenderViewProcess"),e.triggerEvent("onRenderViewEnd")},n.renderToolbarView=function(){var t=this,e={};return e.container=cm.node("div",{class:"com__multifield__toolbar"},e.content=cm.node("div",{class:"com__multifield__item"},e.add=cm.node("div",{class:t.params.icons.add,title:t.lang("add")}))),"create"===t.params.mode?cm.addEvent(e.add,"click",function(e){cm.preventDefault(e),t.renderItem()}):cm.remove(t.nodes.toolbar.add),(t.nodes.toolbarView=e).container},n.renderViewModel=function(){var e,a=this;s.prototype.renderViewModel.apply(a,arguments),a.params.sortable&&cm.getConstructor("Com.Sortable",function(e,t){a.components.sortable=new e(a.params[t]),a.components.sortable.addEvent("onSort",function(e,t){var n=a.items.find(function(e){return e.container===t.node});n&&a.sortItem(n,t.index)}),a.components.sortable.addGroup(a.nodes.content)}),a.params.renderStructure||a.processCollectedView(),"create"===a.params.mode&&(e=Math.max(a.params.renderItems-a.items.length,0),cm.forEach(e,function(e){a.renderItem()}))},n.processCollectedView=function(){var t=this;t.nodes.toolbarContainer=t.nodes.toolbar.container,"create"===t.params.mode?cm.addEvent(t.nodes.toolbar.add,"click",function(e){cm.preventDefault(e),t.renderItem()}):(cm.remove(t.nodes.toolbar.add),cm.forEach(t.nodes.toolbar.buttons,function(e){t.processButtons(e)})),cm.forEach(t.nodes.items,function(e){t.processItem(e)})},n.setAttributes=function(){s.prototype.setAttributes.apply(this,arguments),cm.addClass(this.nodes.container,this.params.theme)},n.processButtons=function(t){var n=this;t=cm.merge({id:null,visible:null},t),t=cm.merge(t,n.getNodeDataConfig(t.container)),cm.addEvent(t.container,"click",function(e){cm.preventDefault(e);e=n.getItemById(t.id);e&&!e.visible&&n.showItem(e)}),n.buttons.push(t)},n.toggleToolbarVisibility=function(e){var t,n=this;n.params.showControls&&((t=n.getButtonById(e.id))&&!e.visible&&n.showButton(t),"create"===n.params.mode?0<n.params.max&&n.items.length===n.params.max?n.hideToolbar():n.showToolbar():n.isAllItemsVisible()?n.hideToolbar():n.showToolbar(),t)&&e.visible&&n.hideButton(t)},n.showButton=function(e){e.visible=!0,cm.removeClass(e.container,"is-
1hidden")},n.hideButton=function(e){e.visible=!1,cm.addClass(e.container,"is-hidden")},n.showToolbar=function(){var e=this;return e.isToolbarVisible||(e.isToolbarVisible=!0,e.nodes.toolbarContainer.style.overflow="hidden",cm.transition(e.nodes.toolbarContainer,{properties:{height:e.nodes.toolbarContainer.scrollHeight+"px",opacity:1},duration:e.params.duration,easing:cm._config.motionSmooth,clear:!0,onStop:function(){e.nodes.toolbarContainer.style.overflow=""}})),e},n.hideToolbar=function(){return this.isToolbarVisible&&(this.isToolbarVisible=!1,this.nodes.toolbarContainer.style.overflow="hidden",cm.transition(this.nodes.toolbarContainer,{properties:{height:"0px",opacity:0},duration:this.params.duration,easing:cm._config.motionSmooth})),this},n.renderItem=function(e,t){var n=this;(0===n.params.max||n.items.length<n.params.max)&&(e=cm.merge({id:null,showControls:null,sortable:null,visible:null},e),t=cm.merge({triggerEvents:!0,immediately:!1,callback:function(){}},t),cm.isBoolean(e.showControls)||(e.showControls=n.params.showControls),cm.isBoolean(e.sortable)||(e.sortable=n.params.sortable),e.container=cm.node("div",{class:"com__multifield__item","data-node":"items:[]:container"},e.content=e.field=cm.node("div",{class:"field","data-node":"field"})),n.renderItemTemplate(n.params.template,e),n.params.showControls&&e.showControls&&(e.remove=cm.node("div",{class:n.params.icons.remove,title:n.lang("remove"),"data-node":"remove"}),cm.appendChild(e.remove,e.container)),n.params.sortable&&e.sortable&&(e.drag=cm.node("div",{class:n.params.icons.drag,"data-node":"drag"}),n.params.showControls?cm.insertFirst(e.drag,e.container):cm.appendChild(e.drag,e.container)),cm.appendChild(e.container,n.nodes.content),t.triggerEvents&&n.triggerEvent("onItemAdd",e),n.processItem(e,{triggerEvents:t.triggerEvents,immediately:t.immediately,callback:function(e){t.triggerEvents&&n.triggerEvent("onItemAddEnd",e),t.callback(e)}}))},n.processItem=function(t,e){var n=this;t=cm.merge({id:null,fieldForEnable:null,showControls:null,sortable:null,visible:null},t),e=cm.merge({triggerEvents:!0,immediately:!1,callback:function(){}},e),t=cm.merge(t,n.getNodeDataConfig(t.container)),cm.isBoolean(t.showControls)||(t.showControls=n.params.showControls),cm.isBoolean(t.sortable)||(t.sortable=n.params.sortable),cm.isBoolean(t.visible)||(t["field-hidden-visible"]&&!cm.isEmpty(t["field-hidden-visible"].value)?t.visible="1"===t["field-hidden-visible"].value:t.visible=!0),n.params.showControls&&t.showControls?cm.addEvent(t.remove,"click",function(e){cm.preventDefault(e),"create"===n.params.mode?n.deleteItem(t):n.hideItem(t)}):cm.remove(t.remove),n.params.sortable&&t.sortable?n.components.sortable.addItem(t.container,n.nodes.content):cm.remove(t.drag),n.items.push(t),n.resetIndexes(),e.triggerEvents&&n.triggerEvent("onItemProcess",t),t.visible?n.showItem(t,{triggerEvents:!0,immediately:e.immediately,callback:function(){e.triggerEvents&&n.triggerEvent("onItemProcessEnd",t),e.callback(t)}}):n.hideItem(t,{triggerEvents:!0,immediately:e.immediately,callback:function(){e.triggerEvents&&n.triggerEvent("onItemProcessEnd",t),e.callback(t)}})},n.deleteItem=function(e,t){var n=this;t=cm.merge({triggerEvents:!0,immediately:!1,callback:function(){}},t),n.params.sortable&&e.sortable&&n.components.sortable.removeItem(e.container),n.items=cm.arrayRemove(n.items,e),n.resetIndexes(),t.triggerEvents&&n.triggerEvent("onItemRemove",e),n.hideItem(e,{triggerEvents:t.triggerEvents,immediately:t.immediately,callback:function(){cm.remove(e.container),t.triggerEvents&&n.triggerEvent("onItemRemoveEnd",e),t.callback(e)}})},n.hideItem=function(e,t){var n=this;t=cm.merge({triggerEvents:!0,immediately:!1,callback:function(){}},t),e.visible=!1,e["field-hidden-visible"]&&(e["field-hidden-visible"].value=0),t.triggerEvents&&n.triggerEvent("onItemHide",e),n.hideItemVisibility(e,{triggerEvents:t.triggerEvents,immediately:t.immediately,callback:function(){t.triggerEvents&&n.triggerEvent("onItemHideEnd",e),t.callback(e)}}),n.toggleToolbarVisibility(e)},n.hideItemVisibility=function(e,t){t=cm.merge({callback:function(){},immediately:!1,triggerEvents:!0},t),e.container.style.overflow="hidden",e.container.style.height=e.container.scrollHeight+"px",cm.transition(e.container,{immediately:t.immediately,properties:{height:"0px",opacity:0}
1,duration:this.params.duration,easing:cm._config.motionSmooth,onStop:function(){t.callback(e)}})},n.showItem=function(e,t){var n=this;t=cm.merge({triggerEvents:!0,immediately:!1,callback:function(){}},t),e.visible=!0,e["field-hidden-visible"]&&(e["field-hidden-visible"].value=1),t.triggerEvents&&n.triggerEvent("onItemShow",e),n.showItemVisibility(e,{triggerEvents:t.triggerEvents,immediately:t.immediately,callback:function(){t.triggerEvents&&n.triggerEvent("onItemShowEnd",e),t.callback(e)}}),n.toggleToolbarVisibility(e)},n.showItemVisibility=function(e,t){t=cm.merge({triggerEvents:!0,immediately:!1,callback:function(){}},t),e.container.style.overflow="hidden",e.container.style.height="0px",cm.transition(e.container,{immediately:t.immediately,properties:{height:e.container.scrollHeight+"px",opacity:1},duration:this.params.duration,easing:cm._config.motionSmooth,clear:!0,onStop:function(){t.callback(e)}})},n.sortItem=function(e,t){this.items.splice(this.items.indexOf(e),1),this.items.splice(t,0,e),this.resetIndexes(),this.triggerEvent("onItemSort",e)},n.resetIndexes=function(){var n=this;cm.forEach(n.items,function(e,t){e.index!==t&&(e.previousIndex=e.index,e.index=t,n.params.templateAttributeReplace&&cm.processDataAttributes(e.field,n.params.templateAttribute,{"%index%":t}),e["field-hidden-index"]&&(e["field-hidden-index"].value=t),n.triggerEvent("onItemIndexChange",e))})},n.setTemplate=function(e){return this.params.template=e,this},n.renderItemTemplate=function(e,t){cm.isEmpty(e)||(e=cm.isString(e)?cm.strToHTML(e):cm.clone(e,!0),cm.appendNodes(e,t.field))},n.clear=function(e){for(;this.items.length;)this.deleteItem(this.items[0],e);return this},n.addItem=function(e,t){return this.renderItem(e,t),this},n.removeItem=function(e,t){return cm.isNumber(e)&&this.items[e]?this.deleteItem(this.items[e],t):cm.inArray(this.items,e)&&this.deleteItem(e,t),this},n.removeItemById=function(e,t){e=this.getItemById(e);return e&&this.deleteItem(e,t),this},n.getItem=function(e){return this.items[e]||null},n.getItemById=function(t){if(!cm.isEmpty(t))return this.items.find(function(e){return e.id===t})},n.getItems=function(){return this.items},n.getButtonById=function(t){if(!cm.isEmpty(t))return this.buttons.find(function(e){return e.id===t})},n.getButtons=function(){return this.buttons},n.isAllItemsVisible=function(){var e=this.items.filter(function(e){return e.visible});return this.items.length===e.length}}),cm.define("Com.Notifications",{extend:"Com.AbstractController",events:["onAdd","onRemove","onClear"],params:{renderStructure:!0,embedStructureOnRender:!0,embedStructure:"append",modifiers:[],closable:!0,items:[],iconClasses:["icon","small","linked"],"Com.ToggleBox":{toggleTitle:!1,className:null,duration:"cm._config.animDuration"}},strings:{close:"Close",more:"Read more"}},function(){Com.AbstractController.apply(this,arguments)}),cm.getConstructor("Com.Notifications",function(e,t,n,a){n.construct=function(){this.items=[],a.prototype.construct.apply(this,arguments)},n.renderView=function(){this.nodes.container=cm.node("div",{classes:["com__notifications","is-hidden"],role:"region","aria-live":"polite"},this.nodes.list=cm.node("ul")),cm.forEach(this.params.items,this.add.bind(this))},n.setAttributes=function(){let t=this;a.prototype.setAttributes.apply(t,arguments),cm.forEach(t.params.modifiers,e=>{cm.addClass(t.nodes.container,"com__notifications--"+e)})},n.clear=function(){for(;this.items.length;)this.remove(this.items[0]);return this.triggerEvent("onClear"),this},n.add=function(t){let n=this;return(t=cm.merge({label:"",type:"warning",messages:[],collapsed:!0,closable:n.params.closable,classes:[],modifiers:[],nodes:{}},t)).classes=cm.extend(t.classes,[t.type,"com__notifications__item"]),cm.forEach(t.modifiers,e=>{t.classes.push("com__notifications__item--"+e)}),t.nodes.container=cm.node("li",{classes:t.classes},t.nodes.descr=cm.node("div",{classes:"descr"}),t.nodes.messages=cm.node("div",{classes:"messages"},t.nodes.messagesList=cm.node("ul"))),t.closable&&(t.iconClasses=cm.clone(n.params.iconClasses),t.iconClasses.push(["svg__close",t.type].join("-")),t.nodes.close=cm.node("div",{classes:t.iconClasses,title:n.lang("close"),role:"button",tabindex:0}),cm.click.add(t.nodes.close,()=>
1n.remove(t)),cm.insertFirst(t.nodes.close,t.nodes.container)),cm.isNode(t.label)||cm.isTextNode(t.label)||(t.label=cm.node("div",{innerHTML:t.label})),cm.appendChild(t.label,t.nodes.descr),cm.isEmpty(t.messages)||(t.nodes.button=cm.node("a",{classes:"more"},n.lang("more")),cm.insertFirst(t.nodes.button,t.nodes.descr),cm.forEach(t.messages,e=>{cm.appendChild(cm.node("li",e),t.nodes.messagesList)}),cm.getConstructor("Com.ToggleBox",function(e){t.controller=new e(cm.merge(n.params["Com.ToggleBox"],{nodes:{container:t.nodes.container,button:t.nodes.button,target:t.nodes.messages}}))})),cm.appendChild(t.nodes.container,n.nodes.list),cm.removeClass(n.nodes.container,"is-hidden"),n.items.push(t),n.triggerEvent("onAdd",t),n},n.remove=function(e){return cm.remove(e.nodes.container),cm.arrayRemove(this.items,e),0===this.items.length&&cm.addClass(this.nodes.container,"is-hidden"),this.triggerEvent("onRemove",e),this},n.getLength=function(){return this.items.length},n.getContainer=function(){return this.nodes.container}}),cm.define("Com.OldBrowserAlert",{modules:["Params","Events","Langs","Storage","Stack"],events:["onRender"],params:{name:"default",remember:!0,versions:{IE:10,FF:31,Chrome:40,Safari:6,Opera:26}},strings:{title:"Thank you for visiting our site!",descr:"It seems that you are using an outdated browser <b>(%browser% %version%)</b>. As a result, we cannot provide you with the best user experience while visiting our site. Please upgrade your <b>%browser%</b> to version <b>%minimum_version%</b> or above, or use another standards based browser such as Firefox, Chrome or Safari, by clicking on the icons below.",continue:"Skip for now"}},function(e){var n=this,a=Com.UA.get(),t=(n.nodes={},n.components={},function(){cm.forEach(n.params.versions,function(e,t){Com.UA.is(t)&&Com.UA.isVersion()<e&&(n.params.langs.descr=n.lang("descr",{"%browser%":a.full_name,"%version%":a.full_version,"%minimum_version%":e}),n.params.remember&&(n.params.remember,n.storageRead("isShow"))||s())})}),s=function(){n.nodes.container=cm.node("div",{class:"com__oldbrowser-alert"},cm.node("div",{class:"b-descr"},cm.node("p",{innerHTML:n.lang("descr")})),cm.node("ul",{class:"b-browsers"},cm.node("li",cm.node("a",{class:"icon linked chrome",title:"Google Chrome",href:"http://www.google.com/chrome/",target:"_blank"})),cm.node("li",cm.node("a",{class:"icon linked firefox",title:"Mozilla Firefox",href:"http://www.mozilla.com/",target:"_blank"})),cm.node("li",cm.node("a",{class:"icon linked safari",title:"Apple Safari",href:"http://www.apple.com/safari/",target:"_blank"})),cm.node("li",cm.node("a",{class:"icon linked msie",title:"Microsoft Internet Explorer",href:"http://ie.microsoft.com/",target:"_blank"}))),cm.node("div",{class:"form"},cm.node("div",{class:"btn-wrap pull-center"},n.nodes.button=cm.node("input",{type:"button",value:n.lang("continue")})))),cm.getConstructor("Com.Dialog",function(e){n.components.dialog=new e({title:n.lang("title"),content:n.nodes.container,autoOpen:!1,width:500,events:{onClose:function(){n.params.remember&&n.storageWrite("isShow",!0)}}}),cm.addEvent(n.nodes.button,"click",n.components.dialog.close),n.components.dialog.open()})};n.setParams(e),n.convertEvents(n.params.events),n.addToStack(),t(),n.triggerEvent("onRender")}),cm.define("Com.Overlay",{modules:["Params","Events","Langs","Stack"],events:["onRender","onOpenStart","onOpen","onOpenEnd","onCloseStart","onClose","onCloseEnd"],params:{name:"",container:"document.body",appendMode:"appendChild",theme:"default",className:"",position:"fixed",lazy:!1,delay:"cm._config.lazyDelay",content:null,showSpinner:!0,spinnerSize:"default",showContent:!0,showProgress:!1,autoOpen:!0,autoClose:!1,removeOnClose:!0,destructOnRemove:!1,transition:"ease",duration:"cm._config.animDurationLong"}},function(e){function n(){o.triggerEvent("onOpen").triggerEvent("onOpenEnd")}function a(){o.triggerEvent("onClose").triggerEvent("onCloseEnd"),o.params.removeOnClose&&o.remove()}function s(e,t){o.isOpen=!0,t=cm.isFunction(t)?t:function(){},e&&cm.addClass(o.nodes.container,"is-immediately"),cm.inDOM(o.nodes.container)||cm[o.params.appendMode](o.nodes.container,o.params.container),o.triggerEvent("onOpenStart"),o.nodes.container.ariaBusy="true",cm.addClass(o.nodes.container,"is-open",!0),o.openInterval&&clearTimeout(o.openInterval),o.openInterval=e?setTimeout(function(){cm.removeClass(o.nodes.container,"is-immediately"),n(),t()},5):setTimeout(function(){n(),t()},o.params.duration+5)}var o=this;o.nodes={},o.currentTheme=null,o.isDestructed=!1,o.isOpen=!1,o.isShowSpinner=!1,o.isShowContent=!1,o.openInterval=null,o.delayInterval=null;
1o.open=function(e,t){return o.isOpen||(o.params.lazy&&!e?(o.delayInterval&&clearTimeout(o.delayInterval),o.delayInterval=setTimeout(function(){s(e,t)},o.params.delay)):s(e,t)),o},o.close=function(e,t){var n;return o.openInterval&&clearTimeout(o.openInterval),o.delayInterval&&clearTimeout(o.delayInterval),o.isOpen&&(e=e,n=t,o.isOpen=!1,n=cm.isFunction(n)?n:function(){},e&&cm.addClass(o.nodes.container,"is-immediately"),o.triggerEvent("onCloseStart"),o.nodes.container.ariaBusy="false",cm.removeClass(o.nodes.container,"is-open"),o.openInterval&&clearTimeout(o.openInterval),o.openInterval=e?setTimeout(function(){cm.removeClass(o.nodes.container,"is-immediately"),a(),n()},5):setTimeout(function(){a(),n()},o.params.duration+5)),o},o.toggle=function(e){return e?o.open():o.close(),o},o.remove=function(){return o.isOpen?o.close(function(){o.params.removeOnClose||o.remove()}):(o.params.destructOnRemove&&o.destruct(),cm.remove(o.nodes.container)),o},o.setTheme=function(e){return o.currentTheme&&cm.removeClass(o.nodes.container,["theme",o.currentTheme].join("-")),e&&cm.addClass(o.nodes.container,["theme",e].join("-")),o.currentTheme=e,o},o.showSpinner=function(){return o.isShowSpinner=!0,cm.addClass(o.nodes.spinner,"is-show"),o},o.hideSpinner=function(){return o.isShowSpinner=!1,cm.removeClass(o.nodes.spinner,"is-show"),o},o.setContent=function(e){return cm.isEmpty(e)?cm.clearNode(o.nodes.content):(cm.isNode(e)||(e=e.toString(),e=cm.node("div",{class:"inner",innerHTML:e})),cm.appendChild(e,o.nodes.content)),o},o.showContent=function(){return o.isShowContent=!0,cm.addClass(o.nodes.content,"is-show"),o},o.hideContent=function(){return o.isShowContent=!1,cm.removeClass(o.nodes.content,"is-show"),o},o.showProgress=function(){return cm.addClass(o.nodes.progress,"is-show"),o},o.hideProgress=function(){return cm.removeClass(o.nodes.progress,"is-show"),o},o.setProgress=function(e,t){return o.nodes.progress.max=e,o.nodes.progress.value=t,o.params.showProgress&&o.showProgress(),o},o.embed=function(e,t){return t=cm.isUndefined(t)?o.params.appendMode:t,cm.isNode(e)&&(o.params.container=e,o.params.appendMode=t,cm.inDOM(o.nodes.container))&&cm[o.params.appendMode](o.nodes.container,o.params.container),o},o.destruct=function(){return o.isDestructed||(o.isDestructed=!0,o.removeFromStack(),cm.remove(o.nodes.container)),o},o.bindControllerEvents=function(){cm.forEach(o._raw.events,function(e){o[e]||(o[e]=function(){}),o[e+"Handler"]||(o[e+"Handler"]=o[e].bind(o)),o.addEvent(e,o[e+"Handler"])})},o.getNodes=function(e){return o.nodes[e]||o.nodes},o.openHandler=o.open.bind(o),o.closeHandler=o.close.bind(o),o.toggleHandler=o.toggle.bind(o),o.params.controllerEvents&&o.bindControllerEvents(),o.params.duration=cm.getTransitionDurationFromLESS("PtOverlay-Duration",o.params.duration),o.setParams(e),o.convertEvents(o.params.events),o.params.position=cm.inArray(["static","relative","absolute","fixed"],o.params.position)?o.params.position:"fixed",o.nodes.container=cm.node("div",{class:"com__overlay pt__overlay","aria-busy":"false","aria-live":"assertive"},o.nodes.spinner=cm.node("div",{class:["overlay__spinner",["size",o.params.spinnerSize].join("--")]}),o.nodes.content=cm.node("div",{class:"overlay__content"}),o.nodes.progress=cm.node("progress",{class:"overlay__progress",value:0,min:0,max:100})),cm.addClass(o.nodes.container,o.params.className),cm.addClass(o.nodes.container,["transition",o.params.transition].join("-")),o.nodes.container.style.position=o.params.position,cm.isEmpty(o.params.content)||o.setContent(o.params.content),o.params.showSpinner&&o.showSpinner(),o.params.showContent&&o.showContent(),o.setTheme(o.params.theme),o.addToStack(o.nodes.container),o.triggerEvent("onRender"),o.params.autoOpen&&o.open()}),cm.define("Com.Pagination",{extend:"Com.AbstractController",events:["onRebuild","onStart","onAbort","onError","onPageRender","onPageRenderEnd","onPageRenderError","onPageSwitched","onPageReady","onEnd","onSetCount"],params:{controllerEvents:!0,renderStructure:!1,embedStructureOnRender:!1,embedStructure:"append",scrollNode:window,data:[],count:0,perPage:0,startPage:1,startPageToken:"",pageCount:0,autoSend:!0,showLoader:!0,loaderDelay:"cm._config.loadDelay",barPosition:"bottom",barAlign:"left",barC
1ountLR:1,barCountM:1,switchManually:!1,animateSwitch:!1,animateDuration:"cm._config.animDuration",animatePrevious:!1,pageTag:"div",pageAttributes:{class:"com__pagination__page"},responseCountKey:"count",responseKey:"data",responseCodeKey:"code",responseErrorsKey:"errors",responseMessageKey:"message",responseHTML:!1,cache:!0,ajax:{type:"json",method:"get",url:"",params:""},overlayConstructor:"Com.Overlay",overlayParams:{lazy:!0,position:"absolute",autoOpen:!1,removeOnClose:!0}},strings:{bar:{title:"Pagination navigation",prev:"Previous",next:"Next"},server_error:"{#var:cm._strings.common.server_error}"}},function(e){Com.AbstractController.apply(this,arguments)}),cm.getConstructor("Com.Pagination",function(e,t,n,a){n.construct=function(){var e=this;e.nodes={container:cm.node("div"),content:cm.node("div"),pages:cm.node("div"),bar:[]},e.components={},e.animations={},e.pages={},e.ajaxHandler=null,e.currentAction=null,e.isAjax=!1,e.isProcess=!1,e.isRendering=!1,e.page=null,e.pageToken=null,e.currentPage=null,e.previousPage=null,e.pageCount=0,e.nextHanlder=e.next.bind(e),e.prevHanlder=e.prev.bind(e),a.prototype.construct.apply(e,arguments)},n.onConstructEnd=function(){this.params.autoSend&&this.set(this.params.startPage)},n.getLESSVariables=function(){this.params.animateDuration=cm.getTransitionDurationFromLESS("ComPagination-Duration",this.params.animateDuration)},n.validateParams=function(){var e=this;e.triggerEvent("onValidateParamsStart"),e.triggerEvent("onValidateParams"),e.triggerEvent("onValidateParamsProcess"),cm.isEmpty(e.params.ajax.url)?(cm.isEmpty(e.params.data)||(e.params.count=e.params.data.length),e.params.showLoader=!1):e.isAjax=!0,0===e.params.pageCount&&e.params.count&&e.params.perPage?e.pageCount=Math.ceil(e.params.count/e.params.perPage):e.pageCount=e.params.pageCount,e.setToken(e.params.startPage,e.params.startPageToken),e.triggerEvent("onValidateParamsEnd")},n.renderView=function(){var e=this;e.nodes.container=cm.node("div",{class:"com__pagination"},e.nodes.content=cm.node("div",{class:"com__pagination__content"},e.nodes.pages=cm.node("div",{class:"com__pagination__pages"}))),/top|both/.test(e.params.barPosition)&&e.nodes.bar.push(e.callbacks.renderBar(e,{align:e.params.barAlign,position:"top"})),/bottom|both/.test(e.params.barPosition)&&e.nodes.bar.push(e.callbacks.renderBar(e,{align:e.params.barAlign,position:"bottom"}))},n.renderViewModel=function(){var t=this;a.prototype.renderViewModel.apply(t,arguments),t.resetStyles(),cm.getConstructor(t.params.overlayConstructor,function(e){t.components.loader=new e(cm.merge(t.params.overlayParams,{container:t.nodes.content}))}),t.params.animateSwitch&&cm.addClass(t.nodes.container,"is-animated"),t.animations.content=new cm.Animation(t.nodes.content)},n.resetStyles=function(){cm.clearNode(this.nodes.pages)},n.callbacks.prepare=function(e,t){return(t=e.callbacks.beforePrepare(e,t)).url=cm.strReplace(t.url,{"%perPage
1%":e.params.perPage,"%limit%":e.params.perPage,"%page%":e.page,"%offset%":(e.page-1)*e.params.perPage,"%token%":e.pageToken,"%baseUrl%":cm._baseUrl}),t.params=cm.objectReplace(t.params,{"%perPage%":e.params.perPage,"%limit%":e.params.perPage,"%page%":e.page,"%offset%":(e.page-1)*e.params.perPage,"%token%":e.pageToken,"%baseUrl%":cm._baseUrl}),t=e.callbacks.afterPrepare(e,t)},n.callbacks.beforePrepare=function(e,t){return t},n.callbacks.afterPrepare=function(e,t){return t},n.callbacks.request=function(t,n){return n=t.callbacks.prepare(t,n),t.currentAction=n,cm.ajax(cm.merge(n,{onStart:function(){t.callbacks.start(t)},onSuccess:function(e){t.callbacks.response(t,n,e)},onError:function(e){t.callbacks.error(t,n,e)},onAbort:function(){t.callbacks.abort(t,n)},onEnd:function(){t.callbacks.end(t)}}))},n.callbacks.filter=function(e,t,n){var a=[],s=cm.reducePath(e.params.responseErrorsKey,n),o=cm.reducePath(e.params.responseKey,n),n=cm.reducePath(e.params.responseCountKey,n);return cm.isEmpty(s)&&(cm.isEmpty(o)||(a=o),cm.isEmpty(n)||e.setCount(n)),a},n.callbacks.response=function(e,t,n,a,s,o){e.setPage(),n=n&&e.callbacks.filter(e,t,n),e.callbacks.render(e,n,a,s,o)},n.callbacks.error=function(e,t,n){var a,s,o;cm.isEmpty(n)||(a=cm.reducePath(e.params.responseCodeKey,n),s=cm.reducePath(e.params.responseErrorsKey,n),o=cm.reducePath(e.params.responseMessageKey,n)),e.triggerEvent("onError",{response:n,code:a,errors:s,message:o}),e.callbacks.response(e,t,null,s,o,a)},n.callbacks.abort=function(e,t){e.triggerEvent("onAbort")},n.callbacks.data=function(e,t){var n,a,s;e.callbacks.start(e),e.setPage(),cm.isEmpty(t)||0===e.params.perPage?e.callbacks.render(e,t):0<e.params.perPage&&(n=t.length,a=(e.page-1)*e.params.perPage,s=e.page*e.params.perPage,a<n)&&(t=t.slice(a,Math.min(s,n)),e.callbacks.render(e,t)),e.callbacks.end(e)},n.callbacks.cached=function(e,t){e.callbacks.start(e),e.setPage(),e.callbacks.append(e,t),e.params.switchManually||e.callbacks.switchPage(e,t),e.callbacks.end(e)},n.callbacks.renderContainer=function(e,t){return cm.node(e.params.pageTag,e.params.pageAttributes)},n.callbacks.render=function(e,t,n,a,s){e.isRendering=!0;s={page:e.page,token:e.pageToken,pages:e.nodes.pages,container:cm.node(e.params.pageTag),data:t,code:s,errors:n,message:a,total:e.getCount(),isVisible:!0,isRendered:!0,isError:!t};cm.isEmpty(s.message)&&(s.message=s.errors),s.container=e.callbacks.renderContainer(e,s),e.pages[e.page]=s,e.triggerEvent("onPageRender",s),s.data?e.callbacks.renderPage(e,s):e.callbacks.renderError(e,s),e.callbacks.append(e,s),e.triggerEvent("onPageRenderEnd",s),e.params.switchManually||e.callbacks.switchPage(e,s)},n.callbacks.renderPage=function(e,t){e.params.responseHTML&&(e=cm.strToHTML(t.data),cm.appendNodes(e,t.container))},n.callbacks.renderError=function(e,t){e.params.responseHTML&&t.container.appendChild(cm.node("div",{class:"cm__empty"},e.msgParse("server_error"))),e.triggerEvent("onPageRenderError",t)},n.callbacks.append=function(e,t){cm.appendChild(t.container,e.nodes.pages),cm.addClass(t.container,"is-visible",!0),e.triggerEvent("onPageReady",t)},n.callbacks.switchPage=function(e,t){var n=cm.getRect(e.nodes.content),a=cm.getRect(t.container);e.previousPage&&e.callbacks.hidePage(e,e.pages[e.previousPage]),e.params.animateSwitch?(e.nodes.content.style.overflow="hidden",e.nodes.content.style.height=[n.height,"px"].join(""),e.animations.content.go({style:{height:[a.height,"px"].join("")},duration:e.params.animateDuration,anim:"smooth",onStop:function(){e.nodes.content.style.overflow="visible",e.nodes.content.style.height="auto",e.isRendering=!1,e.triggerEvent("onPageSwitched",t)}})):(e.isRendering=!1,e.triggerEvent("onPageSwitched",t))},n.callbacks.hidePage=function(e,t){t.isVisible=!1,e.params.animateSwitch?e.params.animatePrevious?(cm.removeClass(t.container,"is-visible"),setTimeout(function(){cm.remove(t.container)},e.params.animateDuration)):setTimeout(function(){cm.remove(t.container),cm.removeClass(t.container,"is-visible")},e.params.animateDuration):(cm.remove(t.container),cm.removeClass(t.container,"is-visible"))},n.callbacks.renderBar=function(e,t){t=cm.merge({align:"left",position:"bottom"},t);var n={};switch(n.container=cm.node("div",{class:"com__pagination__bar","aria-label":e.msg("bar.title")},n.items=cm.node("ul")),cm.addClass(n.container,["pull",t.align].join("-")),t.position){case"top":cm.insertFirst(n.container,e.nodes.container);break;case"bottom":cm.insertLast(n.container,e.nodes.container)}return n},n.callbacks.rebuildBars=function(t){cm.forEach(t.nodes.bar,function(e){t.callbacks.rebuildBar(t,e)})},n.callbacks.rebuildBar=function(e,t){cm.clearNode(t.items),e.pageCount<2?cm.addClass(t.container,"is-
1hidden"):(cm.removeClass(t.container,"is-hidden"),e.callbacks.renderBarItems(e,t))},n.callbacks.renderBarItems=function(t,n){var a=!1;t.callbacks.renderBarArrow(t,n,{title:t.msg("bar.prev"),classes:["prev"],linkClasses:["cm-i__chevron-left","has-icon"],callback:t.prevHanlder}),cm.forEach(t.pageCount,function(e){++e===t.page?(t.callbacks.renderBarItem(t,n,{page:e,isActive:!0}),a=!0):e<=t.params.barCountLR||t.page&&e>=t.page-t.params.barCountM&&e<=t.page+t.params.barCountM||e>t.pageCount-t.params.barCountLR?(a=!0,t.callbacks.renderBarItem(t,n,{page:e,isActive:!1})):a&&(a=!1,t.callbacks.renderBarPoints(t,n,{}))}),t.callbacks.renderBarArrow(t,n,{title:t.msg("bar.next"),classes:["next"],linkClasses:["cm-i__chevron-right","has-icon"],callback:t.nextHanlder})},n.callbacks.renderBarArrow=function(e,t,n){(n=cm.merge({text:"",title:"",classes:[],linkClasses:[],callback:function(){}},n)).container=cm.node("li",{class:n.classes},n.link=cm.node("a",{class:n.linkClasses,role:"button",tabindex:"0",title:n.title},n.text)),cm.click.add(n.link,function(e){cm.preventDefault(e),n.callback()}),t.items.appendChild(n.container)},n.callbacks.renderBarPoints=function(e,t,n){(n=cm.merge({text:"...",className:"points"},n)).container=cm.node("li",{class:n.className,"aria-hidden":"true"},n.text),t.items.appendChild(n.container)},n.callbacks.renderBarItem=function(t,e,n){(n=cm.merge({page:null,isActive:!1},n)).container=cm.node("li",n.link=cm.node("a",{role:"button",tabindex:"0"},n.page)),n.isActive&&(n.link.setAttribute("aria-current","page"),cm.addClass(n.container,"active")),cm.click.add(n.link,function(e){cm.preventDefault(e),t.set(n.page)}),e.items.appendChild(n.container)},n.callbacks.start=function(e){e.isProcess=!0,e.params.showLoader&&e.components.loader&&e.components.loader.open(),cm.addClass(e.nodes.container,"is-loading"),e.triggerEvent("onStart")},n.callbacks.end=function(e){e.isProcess=!1,e.params.showLoader&&e.components.loader&&e.components.loader.close(),cm.removeClass(e.nodes.container,"is-loading"),e.triggerEvent("onEnd")},n.rebuild=function(e){var t=this;return t.isProcess&&t.abort(),t.pages={},t.page=null,t.pageToken=null,t.currentPage=null,t.previousPage=null,t.pageCount=0,cm.isEmpty(e)||t.setParams(e),t.validateParams(),t.resetStyles(),t.triggerEvent("onRebuild"),t.set(t.params.startPage),t},n.set=function(e){var t=this;return t.isProcess&&t.abort(),t.pageCount&&!(e<=t.pageCount)||t.isProcess||t.isRendering||(t.page=e,t.pageToken=t.pages[t.page]?t.pages[t.page].token:"",t.callbacks.rebuildBars(t),t.currentPage&&e===t.currentPage)||(t.params.cache&&t.pages[t.page]&&t.pages[t.page].isRendered?t.callbacks.cached(t,t.pages[t.page]):t.isAjax?(e=cm.clone(t.params.ajax),t.ajaxHandler=t.callbacks.request(t,e)):t.callbacks.data(t,t.params.data)),t},n.next=function(){return this.set(this.pageCount===this.currentPage?1:this.currentPage+1),this},n.prev=function(){return this.set(this.currentPage-1||this.pageCount),this},n.setToken=function(e,t){return this.pages[e]||(this.pages[e]={}),this.pages[e].token=t,this},n.setCount=function(e){var t=this;return cm.isUndefined(e)||(e=parseInt(e.toString())),cm.isNumber(e)&&e!==t.params.count&&(t.params.count=e,0===t.params.pageCount&&t.params.count&&t.params.perPage?t.pageCount=Math.ceil(t.params.count/t.params.perPage):t.pageCount=t.params.pageCount,t.callbacks.rebuildBars(t),t.triggerEvent("onSetCount",e)),t},n.getCount=function(){return this.params.count},n.setAction=function(e,t,n){var a=this;switch(t=cm.inArray(["raw","update","current"],t)?t:"current"){case"raw":a.params.ajax=cm.merge(a._raw.params.ajax,e);break;case"current":a.params.ajax=cm.merge(a.params.ajax,e);break;case"update":a.params.ajax=cm.merge(a._update.params.ajax,e)}return n&&(a._update.params.ajax=cm.clone(a.params.ajax)),a.rebuild(),a},n.getAction=function(){return this.params.ajax},n.getCurrentAction=function(){return this.currentAction},n.setPage=function(){return this.previousPage=this.currentPage,this.currentPage=this.page,this},n.abort=function(){return this.ajaxHandler&&this.ajaxHandler.abort&&this.ajaxHandler.abort(),this},n.isOwnNode=n.isParent=function(e,t){return cm.isParent(this.nodes.container,e,t)}}),cm.define("Com.Palette",{modules:["Params","Events","Langs","Structure","DataConfig","Stack"],require:["tinycolor"],events:["onRenderStart","onRender","onDraw","onSet","onSelect","onChange"],params:{node:cm.node("div"),container:null,name:"",embedStructure:"replace",value:"transparent",defaultValue:"rgb(255, 255, 255)",setOnInit:!0,"Com.TintRange":{direction:"vertical",theme:"theme--arrows",setHiddenInput:!1},"Com.OpacityRange":{direction:"vertical",theme:"theme--arrows",setHiddenInput:!1}},strings:{new:"new",previous:"previous",select:"Select",hue:"Hue",opacity:"Opacity",hex:"HEX"}},function(e){function t(){var e=tinycolor(cm.clone(a.previousValue));a.nodes.previewPrev.style.backgroundColor=e.toHslString()}var n,a=this,s=(a.nodes={},a.components={},a.value=null,a.previousValue=null,function(){var e=a.get(),t=cm.toFixed(100*a.value.a,0);a.components.opacity.setColor(e),a.components.opacity.set(t,!1),a.components.opacity.redraw()}),o=function(){var e=a.nodes.inputHEX.value,e=cm.removeSpaces(e),e=(/^#/.test(e)?"":"#")+e;e=cm.reduceText(e,7,!1),a.nodes.inputHEX.value=e,c(e,!0,{setInput:!1})},r=function(e){13==(e=cm.getEvent(e)).keyCode&&(e=a.nodes.inputHEX.value,c(e,!0),i())},i=function(){d(),a.triggerEvent("onSelect",a.value),h()},c=function(e,t,n){cm.isEmpty(e)?e=a.params.defaultValue:"transparent"==e&&(e={h:360,s:0,v:1,a:0}),a.value=tinycolor(e).toHsv(),a.redraw(!0,n),t&&a.triggerEvent("onSet",a.value)},l=function(){p(),u(),m(),a.triggerEvent("onSet",a.value)},d=function(){a.value?a.previousValue=cm.clone(a.value):cm.isEmpty(a.params.value)?a.previousValue=tinycolor(a.params.defaultValue).toHsv():a.previousValue=tinycolor(a.params.value).toHsv(),t()},m=function(){tinycolor(cm.clone(a.value)).isDark()?cm.replaceClass(a.nodes.paletteDrag,"is-light","is-dark"):cm.replaceClass(a.nodes.paletteDrag,"is-dark","is-light")},p=function(){var e=tinycolor(cm.clone(a.value));a.nodes.previewNew.style.backgroundColor=e.toHslString()},u=function(){var e=tinycolor(cm.clone(a.value));a.nodes.inputHEX.value=e.toHexString()},h=function(){JSON.stringify(a.value)===JSON.stringify(a.previousValue)&&a.triggerEvent("onChange",a.value)},g=function(){var e;n.rect(0,0,100,100),n.fillStyle="hsl("+a.value.h+", 100%, 50%)",n.fill(),e=n.createLinearGradient(0,0,100,0),(n.fillStyle=e).addColorStop(0,"rgba(255, 255, 255, 1)"),e.addColorStop(1,"rgba(255, 255, 255, 0)"),n.fillRect(0,0,100,100),e=n.createLinearGradient(0,0,0,100),(n.fillStyle=e).addColorStop(0,"rgba(0, 0, 0, 0)"),e.addColorStop(1,"rgba(0, 0, 0, 1)"),n.fillRect(0,0,100,100)};a.set=function(e,t,n){return t=!!cm.isUndefined(t)||t,n=cm.isUndefined(t)?{}:n,c(e,t,n),d(),a},a.get=function(e){var t=tinycolor(cm.clone(a.value));switch(e){case"rgb":t=t.toRgbString();break;case"hsl":t=t.toHslString();break;case"hsv":case"hsb":t=t.toHsvString();break;default:t=t.toHexString()}return t},a.getRaw=function(e){var t=tinycolor(cm.clone(a.value));return t="hsl"===e?t.toHsl():t},a.redraw=function(e,t){var n;return e=!!cm.isUndefined(e)||e,t=cm.isUndefined(e)?{}:t,t=cm.merge({setInput:!0},t),s(),n=cm.toFixed(a.value.h,0),a.components.tint.set(n,!1),a.components.tint.redraw(),n={left:(n=a.components.paletteDrag.getDimensions()).limiter.absoluteWidth/100*(100*a.value.s),top:n.limiter.absoluteHeight-n.limiter.absoluteHeight/100*(100*a.value.v)},a.components.paletteDrag.setPosition(n,!1),p(),m(),g(),t.setInput&&u(),e&&a.triggerEvent("onDraw"),a},a.isLight=function(){return tinycolor(cm.clone(a.value)).isLight()},a.isDark=function(){return tinycolor(cm.clone(a.value)).isDark()},a.setParams(e),a.convertEvents(a.params.events),a.getDataConfig(a.params.node),a.addToStack(a.params.node),a.triggerEvent("onRenderStart"),a.nodes.container=cm.node("div",{class:"com__palette"},a.nodes.inner=cm.node("div",{class:"inner"},cm.node("div",{class:"b-palette"},a.nodes.paletteZone=cm.node("div",{class:"inner"},a.nodes.paletteDrag=cm.node("div",{class:"drag"}
1),a.nodes.paletteCanvas=cm.node("canvas",{width:"100%",height:"100%"}))),cm.node("div",{class:"b-range",title:a.lang("hue")},a.nodes.tintZone=cm.node("div",{class:"inner"})),cm.node("div",{class:"b-range b-opacity",title:a.lang("opacity")},a.nodes.opacityZone=cm.node("div",{class:"inner"})),cm.node("div",{class:"b-stuff"},cm.node("div",{class:"inner"},cm.node("div",{class:"b-preview-color"},cm.node("div",{class:"b-title"},a.lang("new")),cm.node("div",{class:"b-colors"},a.nodes.previewNew=cm.node("div",{class:"b-color"}),a.nodes.previewPrev=cm.node("div",{class:"b-color"})),cm.node("div",{class:"b-title"},a.lang("previous"))),cm.node("div",{class:"b-bottom"},cm.node("div",{class:"b-preview-inputs"},a.nodes.inputHEX=cm.node("input",{type:"text",title:a.lang("hex")})),cm.node("div",{class:"b-buttons"},a.nodes.buttonSelect=cm.node("div",{class:"button button-primary is-wide"},a.lang("select")))))))),n=a.nodes.paletteCanvas.getContext("2d"),cm.addEvent(a.nodes.inputHEX,"input",o),cm.addEvent(a.nodes.inputHEX,"keypress",r),cm.addEvent(a.nodes.buttonSelect,"click",i),a.embedStructure(a.nodes.container),a.components.paletteDrag=new Com.Draggable({target:a.nodes.paletteZone,node:a.nodes.paletteDrag,limiter:a.nodes.paletteZone,events:{onSelect:function(e,t){e=e.getDimensions();a.value.v=cm.toFixed((100-100/e.limiter.absoluteHeight*t.top)/100,2),a.value.s=cm.toFixed(100/e.limiter.absoluteWidth*t.left/100,2),0===a.value.a&&(a.value.a=1),l(),s()}}}),cm.getConstructor("Com.TintRange",function(e,t){a.components.tint=new e(cm.merge(a.params[t],{container:a.nodes.tintZone})),a.components.tint.addEvent("onSelect",function(e,t){a.value.h=t,0===a.value.a&&(a.value.a=1),l(),s(),g()})}),cm.getConstructor("Com.OpacityRange",function(e,t){a.components.opacity=new e(cm.merge(a.params[t],{container:a.nodes.opacityZone})),a.components.opacity.addEvent("onSelect",function(e,t){a.value.a=cm.toFixed(t/100,2),l()})}),a.addToStack(a.nodes.container),a.triggerEvent("onRender"),a.params.setOnInit&&a.set(a.params.value,!1)}),cm.define("Com.Request",{modules:["Params","Events","Langs","Stack","Structure"],events:["onRenderStart","onRender","onStart","onEnd","onError","onAbort","onSuccess","onContentRenderStart","onContentRender","onContentRenderEnd"],params:{node:cm.node("div"),container:null,name:"",embedStructure:"append",wrapContent:!0,swapContentOnError:!0,renderContentOnSuccess:!0,className:"",autoSend:!1,promise:!1,successOnEmptyData:!1,responseKey:"data",responseErrorsKey:"errors",responseMessageKey:"message",responseCodeKey:"code",responseHTML:!0,responseHTMLKey:"data",responseStatusKey:"data.success",responseContainer:null,showLoader:!0,ajax:{type:"json",method:"get",variables:{},variablesMap:{},url:"",params:""},animateDuration:"cm._config.animDuration",overlayContainer:"document.body",overlayConstructor:"Com.Overlay",overlayParams:{lazy:!0,autoOpen:!1,removeOnClose:!0,showSpinner:!0,showContent:!1,position:"absolute",theme:"light"}},strings:{server_error:"{#var:cm._strings.common.server_error}"}},function(e){var t=this;t.nodes={},t.animations={},t.components={},t.requestData={},t.responseData={},t.previousResponseData={},t.isProcess=!1,t.isError=!1,t.isRendering=!1,t.construct(e)}),cm.getConstructor("Com.Request",function(e,t,n){n.construct=function(e){var t=this;return t.destructHandler=t.destruct.bind(t),t.requestHandler=t.request.bind(t),t.sendHandler=t.send.bind(t),t.setParams(e),t.convertEvents(t.params.events),t.validateParams(),t.addToStack(t.params.node),t.triggerEvent("onRenderStart"),t.render(),t.addToStack(t.nodes.container),t.triggerEvent("onRender"),t.params.autoSend&&t.send(),t},n.validateParams=function(){cm.isUndefined(this.params.showOverlay)||(this.params.showLoader=this.params.showOverlay)},n.destruct=function(){return this.isDestructed||(this.isDestructed=!0,this.components.overlay&&this.components.overlay.destruct(),this.removeFromStack()),this},n.send=function(){if(this.isProcess&&this.abort(),!this.isProcess&&!this.isRendering){if(this.params.promise)return new Promise(this.requestHandler);this.request()}return this},n.get=function(){return this.responseData},n.render=function(){var t=this;return cm.isEmpty(t.params.responseHTMLKey)&&(t.params.responseHTMLKey=t.params.responseKey),t.renderView(),t.params.wrapContent&&cm.isNode(t.params.container)&&cm.appendNodes(t.params.container.childNodes,t.nodes.inner),t.setAttributes(),t.params.responseHTML?t.params.overlayParams.container=t.params.overlayParams.container||t.params.overlayContainer||t.nodes.container||document.body:t.params.overlayParams.container=t.params.overlayParams.container||t.params.overlayContainer||document.body,t.params.showLoader&&cm.getConstructor(t.params.overlayConstructor,function(e){t.components.overlay=new e(t.params.overlayParams)}
1),t.embedStructure(t.nodes.container),t},n.renderView=function(){return this.nodes.container=cm.node("div",{class:"com__request"},this.nodes.inner=cm.node("div",{class:"inner"})),this},n.setAttributes=function(){return cm.addClass(this.nodes.container,this.params.className),this.animations.container=new cm.Animation(this.nodes.container),this},n.setAction=function(e,t,n){switch(t=cm.inArray(["raw","update","current"],t)?t:"current"){case"raw":this.params.ajax=cm.merge(this._raw.params.ajax,e);break;case"current":this.params.ajax=cm.merge(this.params.ajax,e);break;case"update":this.params.ajax=cm.merge(this._update.params.ajax,e)}return n&&(this._update.params.ajax=cm.clone(this.params.ajax)),this},n.setVariables=function(e,t,n){switch(t=cm.inArray(["raw","update","current"],t)?t:"current"){case"raw":this.params.ajax.variables=cm.merge(this._raw.params.ajax.variables,e);break;case"current":this.params.ajax.variables=cm.merge(this.params.ajax.variables,e);break;case"update":this.params.ajax.variables=cm.merge(this._update.params.ajax.variables,e)}return n&&(this._update.params.ajax.variables=cm.clone(this.params.ajax.variables)),this},n.request=function(n,a){var s=this;return s.prepare(),s.components.ajax=cm.ajax(cm.merge(s.requestData,{onStart:function(){s.start()},onSuccess:function(e,t){t=e instanceof ProgressEvent?e:t,s.response("success",e,t,n)},onError:function(e,t){t=e instanceof ProgressEvent?e:t,s.response("error",e,t,a)},onAbort:function(){s.aborted()},onEnd:function(){s.end()}})),s},n.prepare=function(){var e=this;return e.isError=!1,e.requestData=cm.clone(e.params.ajax),e.requestData.url=cm.strReplace(e.requestData.url,e.params.variables),e.requestData.params=cm.objectReplace(e.requestData.params,e.params.variables),e.previousResponseData=cm.clone(e.responseData),e.responseData={request:e.requestData},e},n.abort=function(){return this.components.ajax&&this.components.ajax.abort&&this.components.ajax.abort(),this},n.start=function(){return this.isProcess=!0,this.params.showLoader&&this.components.overlay&&this.components.overlay.open(),this.triggerEvent("onStart"),this},n.end=function(){return this.isProcess=!1,this.params.showLoader&&this.components.overlay&&this.components.overlay.close(),this.triggerEvent("onEnd"),this},n.filter=function(){var e=this;cm.isEmpty(e.responseData.response)||(e.responseData.errors=cm.reducePath(e.params.responseErrorsKey,e.responseData.response),e.responseData.message=cm.reducePath(e.params.responseMessageKey,e.responseData.response),e.responseData.code=cm.reducePath(e.params.responseCodeKey,e.responseData.response),e.responseData.status=cm.reducePath(e.params.responseStatusKey,e.responseData.response),e.responseData.data=cm.reducePath(e.params.responseKey,e.responseData.response),e.responseData.html=cm.reducePath(e.params.responseHTMLKey,e.responseData.response)),cm.isEmpty(e.responseData.status)&&(e.responseData.status=!1),cm.isEmpty(e.responseData.data)&&(e.responseData.data=[]),e.responseData.filtered=e.responseData.data},n.response=function(e,t,n,a){var s=this;return n instanceof ProgressEvent&&(s.responseData.target=n.target),s.responseData.response=t,s.responseData.callback=a,s.filter(),"success"!==e||!s.params.successOnEmptyData&&cm.isEmpty(s.responseData.data)&&!s.responseData.status?s.error():s.success(),s},n.error=function(){return this.isError=!0,this.responseData.isError=!0,this.renderError(),this.triggerEvent("onError",this.responseData),cm.isFunction(this.responseData.callback)&&this.responseData.callback(this.responseData),this},n.success=function(){var e=this;return e.isError=!1,e.responseData.isError=!1,e.responseData.status&&(e.responseData.status,!e.params.renderContentOnSuccess)||e.renderResponse(),e.triggerEvent("onSuccess",e.responseData),cm.isFunction(e.responseData.callback)&&e.responseData.callback(e.responseData),e},n.aborted=function(){return this.triggerEvent("onAbort"),this},n.renderTemporary=function(e){var t=cm.node("div",{class:"com__request__temporary"});return e&&cm.addClass(t,"is-show"),t},n.renderResponse=function(){var e;return this.params.responseHTML&&(e=cm.strToHTML(this.responseData.html),this.renderContent(e)),this},n.renderContent=function(e){var t,n=this;return cm.isNode(n.params.responseContainer)?(n.triggerEvent("onContentRenderStart",e),cm.clearNode(n.params.responseContainer),cm.appendNodes(e,n.params.responseContainer),n.triggerEvent("onContentRender",e),n.triggerEvent("onContentRenderEnd",e)):cm.isNode(n.params.container)?(t=n.renderTemporary(!1),cm.appendNodes(e,t),n.appendResponse(t)):(n.triggerEvent("onContentRenderStart",e),n.triggerEvent("onContentRender",e),n.triggerEvent("onContentRenderEnd",e)),n},n.renderError=function(){var e,t,n=this;return n.params.responseHTML&&(t=cm.node("div",{class:"cm__empty"},n.msgParse("server_error")),cm.isNode(n.params.responseContainer)?(n.triggerEvent("onContentRenderStart",t),n.params.swapContentOnError?(cm.clearNode(n.params.responseContainer),cm.appendChild(t,n.params.responseContainer)):(cm.remove(n.nodes.error),n.nodes.error=t,cm.insertFirst(n.nodes.error,n.params.responseContainer)),n.triggerEvent("onContentRender",t),n.triggerEvent("onContentRenderEnd",t)):cm.isNode(n.params.container)?(e=n.renderTemporary(),cm.appendChild(t,e),n.params.swapContentOnError?n.appendResponse(e):n.appendError(e)):(n.triggerEvent("onContentRenderStart",t),n.triggerEvent("onContentRender",t),n.triggerEvent("onContentRenderEnd",t))),n},n.appendError=function(e){var t=this;return t.isRendering=!0,t.triggerEvent("onContentRenderStart",e),cm.remove(t.no
1des.error),t.nodes.error=e,cm.addClass(t.nodes.error,"is-show"),t.nodes.temporary?cm.insertFirst(t.nodes.error,t.nodes.temporary):cm.insertFirst(t.nodes.error,t.nodes.inner),cm.addClass(t.nodes.container,"is-show is-loaded",!0),t.isRendering=!1,t.triggerEvent("onContentRender",e),t.triggerEvent("onContentRenderEnd",e),t},n.appendResponse=function(e){var t,n=this;return n.isRendering=!0,n.triggerEvent("onContentRenderStart",e),n.nodes.temporary||(n.nodes.temporary=n.renderTemporary(!1),cm.appendNodes(n.nodes.inner.childNodes,n.nodes.temporary),cm.appendChild(n.nodes.temporary,n.nodes.inner),cm.customEvent.trigger(n.nodes.temporary,"destruct",{direction:"child",self:!1})),cm.removeClass(n.nodes.temporary,"is-show",!0),cm.appendChild(e,n.nodes.inner),cm.addClass(e,"is-show",!0),cm.removeClass(n.nodes.container,"is-loaded",!0),cm.addClass(n.nodes.container,"is-show",!0),n.triggerEvent("onContentRender",n.nodes.temporary),t=e.offsetHeight,n.animations.container.go({style:{height:[t,"px"].join("")},duration:n.params.animateDuration,anim:"smooth",onStop:function(){cm.remove(n.nodes.temporary),n.nodes.temporary=e,n.nodes.container.style.height="",cm.addClass(n.nodes.container,"is-loaded",!0),n.isRendering=!1,n.triggerEvent("onContentRenderEnd",n.nodes.temporary)}}),n}}),cm.define("Com.Router",{extend:"Com.AbstractController",events:["onChangeStart","onChange","onChangeEnd"],params:{renderStructure:!1,embedStructureOnRender:!1,controllerEvents:!0,customEvents:!0,route:null,addLeadPoint:!0,catchRouteErrors:!1,summonRouteOnError:!1},strings:{errors:{constructor_error:'An error has occurred in the route "{route}" constructor "{constructor}".',constructor_not_found:'Route "{route}" constructor "{constructor}" is not defined.'}}},function(){Com.AbstractController.apply(this,arguments)}),cm.getConstructor("Com.Router",function(e,t,n,a){n.construct=function(){var e=this;e.routes={},e.routesBinds={},e.dataStorage={},e.current=null,e.previous=null,e.windowClickEventHandler=e.windowClickEvent.bind(e),e.popstateEventHandler=e.popstateEvent.bind(e),e.hashchangeEventHandler=e.hashchangeEvent.bind(e),a.prototype.construct.apply(e,arguments)},n.onSetEvents=function(){cm.addEvent(window,"click",this.windowClickEventHandler),cm.addEvent(window,"popstate",this.popstateEventHandler),cm.addEvent(window,"hashchange",this.hashchangeEventHandler)},n.onUnsetEvents=function(){cm.removeEvent(window,"click",this.windowClickEventHandler),cm.removeEvent(window,"popstate",this.popstateEventHandler),cm.removeEvent(window,"hashchange",this.hashchangeEventHandler)},n.windowClickEvent=function(e){var t;e.button||e.metaKey||e.ctrlKey||(t=this.getTargetLink(cm.getEventTarget(e)))&&"true"!==t.dataset.noRouteProcess&&(cm.preventDefault(e),this.processLink(t))},n.getTargetLink=function(e){return!!cm.isElementNode(e)&&(cm.isTagName(e,"a")&&"_blank"!==e.target&&-1!==this.prepareUrl(e.href).indexOf(this.prepareBaseUrl())?e:this.getTargetLink(e.parentNode))},n.popstateEvent=function(e){e=e.state;e&&this.processRoute(e)},n.hashchangeEvent=function(e){var t=this,n=cm.isEmpty(window.location.hash)?null:window.location.hash.slice(1);t.current.hash=n,t.current.pathHash=t.prepareHash(t.current.path,t.current.hash),t.current.href=t.prepareHash(t.current.location,t.current.hash),t.current.state=cm.clone(t.current.state),t.current.state.hash=n,t.current.state.pathHash=t.current.pathHash,t.current.state.href=t.current.href,window.history.replaceState(t.current.state,"",t.current.state.href)},n.processLink=function(e){var t=e.dataset.preventDefault,n=("true"===t&&cm.errorLog({type:"attention",name:"Com.Router:processLink",message:'Link data attribute "preventDefault" is deprecated. Use "noRoute" instead.'}),e.getAttribute("href")),e=e.dataset.noRoute;cm.isEmpty(n)||"true"===t||"true"===e||(t=this.prepareRoute(n),this.pushRoute(t))},n.pushRoute=function(e,t){e={route:(e=cm.isEmpty(e)?this.current.route:e).route,hash:e.hash,parameters:e.parameters,match:[],params:cm.merge({processRoute:!0,pushState:!0,replaceState:!1},t)};e.path=this.preparePath(e.route,e.parameters),e.location=this.prepareHref(e.route,e.parameters),e.pathHash=this.prepareHash(e.path,e.hash),e.href=this.prepareHash(e.location,e.hash),e.originParameters=e.parameters;try{e.parameters=Object.fromEntries(new URLSearchParams(e.originParameters))}catch{}e.data=this.getStorageData(e.route,e,e.params.data),cm.setBodyScrollTop(0),e.params.replaceState?window.history.replaceState(e,"",e.location):e.params.pushState&&window.history.pushState(e,"",e.location),e.params.processRoute&&this.processRoute(e),cm.isEmpty(e.hash)||(window.location.hash=e.hash)},n.processRoute=function(e){var t=cm.clone(e);this.destructRoute(this.current);let n=this.getStateMatchedRoute(t);cm.isEmpty(n)&&(n={hasAccess:!0,route:"error",item:this.get("error")}),(t=cm.merge(n.item,t)).state=e,n.match&&(t.captures=this.mapCaptures(t.map,n.match)),cm.isEmpty(n.redirect)?this.constructRoute(t):cm.isArray(n.redirect)?this.redirect.apply(this,n.redirect):this.redirect(n.redirect,null,{urlParam
1s:t.urlParams,captures:t.captures,parameters:t.parameters,data:t.data})},n.getStateMatchedRoute=function(a){let s=this,o;return cm.forEach(s.routes,(e,t)=>{var n=a.route.match(e.regexp);n&&(e=cm.clone(e),a.match.push(e),(t={roure:t,item:e,match:n,redirect:s.getRouteRedirect(e),access:s.checkRouteAccess(e)}).redirect||t.access)&&(o=t)}),o},n.destructRoute=function(e){return(this.previous=e)&&(e.constructor?e.controller?.destruct?.():(e.onDestruct(e),e.callback(e))),this},n.constructRoute=function(e){let n=this;n.triggerEvent("onChangeStart",e),n.current=e;let a;return cm.isEmpty(e.constructor)||(cm.isObject(e.constructor)?cm.forEach(e.constructor,(e,t)=>{n.checkRoleAccess(t)&&(a=e)}):a=e.constructor),a?n.constructRouteController(e,a):(e.onConstruct(e),e.callback(e)),n.triggerEvent("onChange",e),n.triggerEvent("onChangeEnd",e),n},n.constructRouteController=function(s,e){let o=this;if(o.params.catchRouteErrors){let t,n,a={"{route}":s.route,"{constructor}":e};var r=cm.getConstructor(e,e=>{try{s.controller=new e(cm.merge(s.constructorParams,{container:o.params.container,route:s})),s.controller.triggerEvent("onConstructComplete")}catch(e){t=e,n=o.msg("errors.constructor_error",a)}});cm.isEmpty(r)&&(n=o.msg("errors.constructor_not_found",a)),cm.isEmpty(n)||(cm.errorLog({type:"error",name:"Com.Router",message:n}),console.error(t),o.params.summonRouteOnError&&o.summon("error",null,{data:{code:1404,message:n,error:t}}))}else cm.getConstructor(e,e=>{s.controller=new e(cm.merge(s.constructorParams,{container:o.params.container,route:s})),s.controller.triggerEvent("onConstructComplete")})},n.getRouteRedirect=function(e){let n=this,a;return cm.isEmpty(e.redirectTo)||(cm.isObject(e.redirectTo)?cm.forEach(e.redirectTo,(e,t)=>{n.checkRoleAccess(t)&&(a=e)}):a=e.redirectTo),a=cm.isFunction(a)?a(e):a},n.prepareUrl=function(e){return e.replace(new RegExp("^(http|https):"),"").replace(new RegExp("^//www\\."),"//")},n.prepareBaseUrl=function(e){var t=new RegExp("^www.").test(window.location.host),n=this.prepareUrl(cm._baseUrl);return e&&t?n.replace(new RegExp("^//"),"//www."):n},n.prepareRoute=function(e){var t=this.prepareBaseUrl(),t=(e=this.prepareUrl(e).replace(new RegExp("^"+t),"").replace(new RegExp("^\\."),""),(e=/^(\/|\.\/)/.test(e)?e:"/"+e).split("#")),e=t[0].split("?");return{route:e[0],parameters:e[1],hash:t[1]}},n.prepareHref=function(e,t){e=e.replace(new RegExp("^\\."),"");var n=this.prepareBaseUrl(!0),n=window.location.protocol+n+e;return this.preparePath(n,t)},n.preparePath=function(e,t){return e=cm.isEmpty(t)?e:[e,t].join("?")},n.prepareHash=function(e,t){return e=cm.isEmpty(t)?e:[e,t].join("#")},n.prepareExternalHref=function(e,t,n,a){return a=cm.merge({parameters:null},a),cm.isObject(a.parameters)&&(a.parameters=cm.obj2URI(a.parameters)),e=this.fillCaptures(e,n),e=this.preparePath(e,a.parameters),this.prepareHash(e,t)},n.getMap=function(e){var t,n=/({(\w+)})/g,a={};let s=0;for(;t=n.exec(e);)s++,t[2]&&(a[s]=t[2]);return a},n.mapCaptures=function(e,n){let a={};return cm.forEach(e,(e,t)=>{a[e]=n[t]}),a},n.fillCaptures=function(e,t){return cm.fillVariables(e,t)},n.prepareRouteRegExp=function(t){return new RegExp("^"+t.route.replace(/({(\w+)})/g,function(){var e=arguments[2];return t.patterns[e]||(cm.isFunction(t.pattern)?t.pattern(arguments):t.pattern)})+"$")},n.checkRouteAccess=function(e){return!!e&&this.checkRoleAccess(e.access)},n.checkRoleAccess=function(e){return!0},n.getStorageData=function(e,t,n){let a={};return t&&(a=cm.merge(a,t.data)),this.dataStorage[e]&&(a=cm.merge(a,this.dataStorage[e]),this.dataStorage={}),a=cm.merge(a,n)},n.embed=function(e){this.params.container=e},n.add=function(t,e){let n=this;e=cm.merge({type:"internal",route:t,originRoute:t,name:null,access:"all",pattern:"([^\\/]+?)",patterns:{},regexp:null,map:[],captures:{},href:null,redirectTo:null,data:{},urlParams:{},constructor:!1,constructorParams:{},callback:function(){},onConstruct:function(){},onDestruct:function(){}},e);return e.regexp=n.prepareRouteRegExp(e),e.map=n.getMap(t),cm.isString(e.name)?n.routesBinds[e.name]=t:cm.isArray(e.name)&&cm.forEach(e.name,e=>{n.routesBinds[e]=t}),n.routes[t]=e,n},n.get=function(e){return this.routesBinds[e]&&(e=this.routesBinds[e]),this.routes[e]},n.getURL=function(e,t,n,a){if(!cm.isEmpty(e)){a=cm.merge({data:null,parameters:null},a),cm.isObject(a.parameters)&&(a.parameters=cm.obj2URI(a.parameters));var s=this.get(e);if(s){if("external"===s.type)return this.prepareExternalHref(s.href,t,n,a);e=s.route}return e=this.fillCaptures(e,n),/^(\/|\.\/)/.test(e)||(e="/"+e),this.dataStorage[e]=a.data,this.params.addLeadPoint&&!/^\./.test(e)&&(e="."+e),e=this.preparePath(e,a.parameters),this.prepareHash(e,t)}},n.getFullURL=function(e,t,n,a){return this.prepareHref(this.getURL(e,t,n,a))},n.getRedirect=function(e){e=this.get(e);if(e)return this.getRouteRedirect(e)},n.getCurrent=function(){return this.current},n.getPrevious=function(){return this.previous},n.checkAccess=function(e){e=this.get(e);return this.checkRouteAccess(e)}
1,n.set=function(e,t,n){n=cm.merge({urlParams:null,parameters:null,captures:null,data:null,assignLocation:!1,replaceLocation:!1},n);var a=this.get(e),a=(a&&"external"===a.type&&(n.assignLocation=!0),cm.isEmpty(n.urlParams)?n.captures:n.urlParams),s={data:n.data,parameters:n.parameters},e=this.getURL(e,t,a,s);return this.setURL(e,t,n),this},n.setURL=function(e,t,n){return(n=cm.merge({assignLocation:!1,replaceLocation:!1},n)).replaceLocation?window.history.replaceState(this.current.state,"",e):n.assignLocation?window.location.assign(e):(e=this.prepareRoute(e),this.pushRoute(e,n)),this},n.summon=function(e,t,n){var a=this;return n=cm.merge({data:{}},n),a.routesBinds[e]&&(e=a.routesBinds[e]),a.routes[e]&&(e=a.routes[e],(e=cm.clone(e)).params=cm.merge(e.params,n),e.data=a.getStorageData(e.route,e,n.data),a.current&&(e.route=a.current.route),a.destructRoute(a.current),a.constructRoute(e)),a},n.redirect=function(e,t,n){return n=cm.merge(n,{pushState:!1,replaceState:!0}),this.set(e,t,n),this},n.remove=function(e){let t=this;var n;return t.routesBinds[e]&&(e=t.routesBinds[e]),t.routes[e]&&(n=t.routes[e],cm.isString(n.name)?delete t.routesBinds[n.name]:cm.isArray(n.name)&&cm.forEach(n.name,function(e){delete t.routesBinds[e]}),delete t.routes[e]),t},n.start=function(e,t,n){return e=cm.isUndefined(e)?this.params.route:e,n=cm.merge({pushState:!1,replaceState:!0},n),cm.isEmpty(e)?this.setURL(window.location.href,t,n):this.set(e,t,n),this}}),cm.define("Com.Scroll",{extend:"Com.AbstractController",events:["onScroll","onScrollStart","onScrollEnd"],params:{controllerEvents:!0,renderStructure:!1,embedStructureOnRender:!1,step:15,time:50,duration:300}},function(){Com.AbstractController.apply(this,arguments)}),cm.getConstructor("Com.Scroll",function(e,t,n,a){n.construct=function(){this.nodes={left:cm.node("div"),right:cm.node("div"),up:cm.node("div"),down:cm.node("div"),scroll:cm.node("div")},a.prototype.construct.apply(this,arguments)},n.renderViewModel=function(){var e=this;a.prototype.renderViewModel.apply(e,arguments),e.components.animation=new cm.Animation(e.nodes.scroll),e.nodes.scroll.scrollTop=0,e.nodes.scroll.scrollLeft=0,cm.addEvent(e.nodes.up,"mousedown",e.startMoveUp.bind(e)),cm.addEvent(e.nodes.up,"mouseup",e.endAnimation.bind(e)),cm.addEvent(e.nodes.up,"mouseout",e.endAnimation.bind(e)),cm.addEvent(e.nodes.down,"mousedown",e.startMoveDown.bind(e)),cm.addEvent(e.nodes.down,"mouseup",e.endAnimation.bind(e)),cm.addEvent(e.nodes.down,"mouseout",e.endAnimation.bind(e)),cm.addEvent(e.nodes.left,"mousedown",e.startMoveLeft.bind(e)),cm.addEvent(e.nodes.left,"mouseup",e.endAnimation.bind(e)),cm.addEvent(e.nodes.left,"mouseout",e.endAnimation.bind(e)),cm.addEvent(e.nodes.right,"mousedown",e.startMoveRight.bind(e)),cm.addEvent(e.nodes.right,"mouseup",e.endAnimation.bind(e)),cm.addEvent(e.nodes.right,"mouseout",e.endAnimation.bind(e))},n.startMoveUp=function(){this.endAnimation(),this.animationInterval=setInterval(this.moveUp.bind(this),this.params.time),this.moveUp()},n.startMoveDown=function(){this.endAnimation(),this.animationInterval=setInterval(this.moveDown.bind(this),this.params.time),this.moveDown()},n.startMoveLeft=function(){this.endAnimation(),this.animationInterval=setInterval(this.moveLeft.bind(this),this.params.time),this.moveLeft()},n.startMoveRight=function(){this.endAnimation(),this.animationInterval=setInterval(this.moveRight.bind(this),this.params.time),this.moveRight()},n.endAnimation=function(){this.animationInterval&&clearInterval(this.animationInterval)},n.moveUp=function(){var e=Math.max(this.nodes.scroll.scrollTop-this.params.step,0);this.components.animation.go({style:{scrollTop:e},duration:this.params.time,anim:"simple"})},n.moveDown=function(){var e=Math.min(this.nodes.scroll.scrollTop+this.params.step,this.nodes.scroll.scrollHeight-this.nodes.scroll.offsetHeight);this.components.animation.go({style:{scrollTop:e},duration:this.params.time,anim:"simple"})},n.moveLeft=function(){var e=Math.max(this.nodes.scroll.scrollLeft-this.params.step,0);this.components.animation.go({style:{scrollLeft:e},duration:this.params.time,anim:"simple"})}
1,n.moveRight=function(){var e=Math.min(this.nodes.scroll.scrollLeft+this.params.step,this.nodes.scroll.scrollWidth-this.nodes.scroll.offsetWidth);this.components.animation.go({style:{scrollLeft:e},duration:this.params.time,anim:"simple"})},n.scrollY=function(e){e=Math.max(Math.min(e,this.nodes.scroll.scrollHeight-this.nodes.scroll.offsetHeight),0);return this.components.animation.go({style:{scrollTop:e},duration:this.params.duration,anim:"smooth"}),this},n.scrollX=function(e){e=Math.max(Math.min(e,this.nodes.scroll.scrollWidth-this.nodes.scroll.offsetWidth),0);return this.components.animation.go({style:{scrollLeft:e},duration:this.params.duration,anim:"smooth"}),this}}),cm.define("Com.Slider",{modules:["Params","Langs","Events","DataConfig","DataNodes","Structure","Stack"],events:["onRender","onChangeStart","onChange","onPause","onStart","onEnableEditing","onEnableEditable","onDisableEditing","onDisableEditable"],params:{node:cm.node("div"),name:"",container:!1,className:null,customEvents:!0,renderStructure:!1,isEditing:!1,time:500,delay:4e3,effect:"fade",transition:"smooth",height:"auto",minHeight:48,items:[],slideshow:!0,cycle:!0,direction:"forward",pauseOnHover:!0,pauseOnScroll:!0,setInitial:!0,setOnClick:!1,fadePrevious:!1,controls:!0,controlsType:"partial",controlsClasses:[],buttons:!0,numericButtons:!1,arrows:!0,hasBar:!1,barDirection:"horizontal",scroller:{constructor:"Com.Scroll",constructorParams:{step:25,time:25}}}
1,strings:{prev:"Previous",next:"Next"}},function(e){function t(){u(),A()}function n(){A()}var a,s,o=this,r={},i=(o.nodes={container:cm.node("div"),inner:cm.node("div"),slides:cm.node("div"),slidesInner:cm.node("ul"),next:cm.node("div"),prev:cm.node("div"),buttonsBar:cm.node("div"),buttons:cm.node("ul"),items:[],"layout-inner":cm.node("div"),"bar-inner":cm.node("div"),"bar-items":[]},o.anim={},o.items=[],o.itemsLength=0,o.effect=null,o.direction="next",o.current=null,o.previous=null,o.paused=!1,o.pausedOutside=!1,o.isProcess=!1,o.isEditing=null,o.isDestructed=null,function(){o.params.time=cm.getTransitionDurationFromLESS("ComSlider-Duration",o.params.time)}),c=function(){cm.isNode(o.params.node)&&(o.params.name=o.params.node.getAttribute("name")||o.params.name,o.isEditing=cm.hasClass(o.params.node,"is-editing")),o.params.effect=Com.SliderEffects[o.params.effect]?o.params.effect:"fade",o.params.transition=cm.inArray(["smooth","simple","acceleration","inhibition"],o.params.transition)?o.params.transition:"smooth",o.params.direction=cm.inArray(["forward","backward","random"],o.params.direction)?o.params.direction:"forward",!0===o.params.setInitial&&"random"===o.params.direction&&(o.params.setInitial="random"),(!o.params.delay||o.params.delay<=0)&&(o.params.slideshow=!1),o.params.height=cm.inArray(["auto","max","slide"],o.params.height)?o.params.height:"auto",o.params.minHeight&&isNaN(o.params.minHeight)&&(s=P(o.params.minHeight),o.params.minHeight=parseFloat(o.params.minHeight))},l=function(){o.params.renderStructure?d():cm.isNode(o.nodes.container)||(o.nodes.container=o.params.node),cm.addClass(o.nodes.container,o.params.className),cm.forEach(o.nodes.items,f),cm.forEach(o.params.items,f),o.params.controls?cm.addClass(o.nodes.container,"has-controls"):(cm.addClass(o.nodes.controls,"is-hidden"),o.nodes.controls.setAttribute("aria-hidden",!0)),cm.inArray(["full","partial","small"],o.params.controlsType)&&cm.addClass(o.nodes.controls,["is",o.params.controlsType].join("-")),cm.addClass(o.nodes.controls,o.params.controlsClasses),o.params.arrows&&(cm.click.add(o.nodes.next,function(e){cm.preventDefault(e),o.next()}),cm.click.add(o.nodes.prev,function(e){cm.preventDefault(e),o.prev()})),C(o.params.arrows),o.params.buttons&&cm.forEach(o.items,b),(!o.params.buttons||o.itemsLength<2)&&(cm.addClass(o.nodes.buttonsBar,"is-hidden"),o.nodes.buttonsBar.setAttribute("aria-hidden",!0)),o.nodes.inner.style.transition=[o.params.time,"ms"].join(""),/max|slide/.test(o.params.height)&&cm.addClass(o.nodes.container,"is-adaptive-content"),o.params.slideshow&&o.params.pauseOnHover&&(cm.addEvent(o.nodes.container,"mouseover",function(e){e=cm.getEvent(e);e=cm.getObjToEvent(e);cm.isParent(o.nodes.container,e,!0)||E()}),cm.addEvent(o.nodes.container,"mouseout",function(e){e=cm.getEvent(e);e=cm.getObjToEvent(e);cm.isParent(o.nodes.container,e,!0)||_()})),A(),o.anim.slides=new cm.Animation(o.nodes.slides),o.anim.slidesInner=new cm.Animation(o.nodes.slidesInner)},d=function(){o.nodes.container=cm.node("div",{classes:"com__slider"},o.nodes.inner=cm.node("div",{classes:"inner"},o.nodes.size=cm.node("div",{classes:"size"}),o.nodes.slides=cm.node("div",{classes:"slides"},o.nodes.slidesInner=cm.node("ul")),o.nodes.controls=cm.node("div",{classes:"com__gallery-controls"},cm.node("div",{classes:"inner"},o.nodes.prev=cm.node("div",{classes:"bar-arrow prev",title:o.msg("prev"),role:"button",tabindex:0},cm.node("div",{classes:"icon default prev"})),o.nodes.next=cm.node("div",{classes:"bar-arrow next",title:o.msg("next"),role:"button",tabindex:0},cm.node("div",{classes:"icon default next"})),o.nodes.buttonsBar=cm.node("div",{classes:"bar-buttons"},o.nodes.buttons=cm.node("ul")))))),o.embedStructure(o.nodes.container)},m=function(){cm.addEvent(window,"resize",o.redrawHandler),cm.addEvent(window,"scroll",o.scrollHandler),o.params.customEvents&&(cm.customEvent.add(o.nodes.container,"redraw",o.redrawHandler),cm.customEvent.add(o.nodes.container,"enableEditable",o.enableEditingHandler),cm.customEvent.add(o.nodes.container,"disableEditable",o.disableEditingHandler),cm.customEvent.add(o.nodes.container,"destruct",o.destructHandler))},p=function(){o.params.hasBar&&(o.nodes.ComScroll=cm.getNodes(o.params.node).ComScroll,cm.getConstructor(o.params.scroller.constructor,function(e){r.scroll=ne
1w e(cm.merge(o.params.scroller.constructorParams,{nodes:o.nodes.ComScroll}))}))},u=function(){switch(o.params.height){case"max":h();break;case"slide":g()}},h=function(){var t=0;cm.forEach(o.items,function(e){t=Math.max(t,cm.getRealHeight(e.nodes.container,"offsetRelative")),e.nodes.inner&&(t=Math.max(t,cm.getRealHeight(e.nodes.inner,"offsetRelative")))}),(t="%"===s?Math.max(t,o.nodes.inner.offsetWidth/100*o.params.minHeight):Math.max(t,o.params.minHeight))!==o.nodes.inner.offsetHeight&&(o.nodes.inner.style.height=[t,"px"].join(""))},g=function(){var e,t=0;null!==o.current&&(e=o.items[o.current],t=Math.max(t,cm.getRealHeight(e.nodes.container,"offsetRelative")),e.nodes.inner)&&(t=Math.max(t,cm.getRealHeight(e.nodes.inner,"offsetRelative"))),(t="%"===s?Math.max(t,o.nodes.inner.offsetWidth/100*o.params.minHeight):Math.max(t,o.params.minHeight))!==o.nodes.inner.offsetHeight&&(o.nodes.inner.style.height=[t,"px"].join(""))},f=function(e){e={index:o.items.length,nodes:e},cm.isEmpty(e.image)&&(e.image=cm.getData(e.nodes.container,"image")),o.params.hasBar&&(e.bar=o.nodes["bar-items"][e.index],e.bar.title=e.bar.link&&e.bar.link.getAttribute("title")||"",e.bar.src=e.bar.link&&e.bar.link.getAttribute("href")||""),v(e)},v=function(t){t=cm.merge({isImageSet:!0,index:o.items.length,image:null,nodes:{container:cm.node("li"),inner:null}},t),cm.isEmpty(t.image)||(t.isImageSet=!1),t.nodes.container.setAttribute("aria-hidden",!0),cm.addClass(t.nodes.container,"is-ready"),o.params.hasBar&&cm.click.add(t.bar.link,function(e){cm.preventDefault(e),y(t.index)}),t.anim=new cm.Animation(t.nodes.container),o.params.setOnClick&&cm.click.add(t.nodes.container,function(e){cm.preventDefault(e),y(t.index)}),!o.params.renderStructure&&cm.hasParentNode(t.nodes.container)||cm.appendChild(t.nodes.container,o.nodes.slidesInner),o.items.push(t),o.itemsLength=o.items.length},b=function(t){o.nodes.buttons.appendChild(t.nodes.button=cm.node("li")),o.params.numericButtons&&(t.nodes.button.innerHTML=t.index+1),cm.click.add(t.nodes.button,function(e){cm.preventDefault(e),o.direction=t.index<=o.current?"next":"prev",y(t.index)})},y=function(e){var t,n;o.isProcess||(o.isProcess=!0,o.params.slideshow&&S(),t=o.items[e],n=o.items[o.current],o.previous=o.current,o.current=e,o.triggerEvent("onChangeStart",{current:t,previous:n}),n&&o.params.buttons&&cm.removeClass(n.nodes.button,"active"),t.isImageSet||cm.isEmpty(t.image)||(t.isImageSet=!0,t.nodes.container.style.backgroundImage='url("'+t.image+'")'),o.params.buttons&&cm.addClass(t.nodes.button,"active"),o.params.arrows&&C(),o.params.hasBar&&w(t,n),Com.SliderEffects[o.effect](o,t,n,function(){o.isProcess=!1,o.triggerEvent("onChange",{current:t,previous:n}),cm.customEvent.trigger(t.nodes.container,"redraw",{direction:"child",self:!1})}),u())},C=function(e){var t=!1!==e&&(o.params.cycle||o.itemsLength<2?1<o.itemsLength:0<o.current),t=(o.nodes.prev.disabled=!t,o.nodes.prev.setAttribute("aria-disabled",!t),cm.toggleClass(o.nodes.prev,"is-hidden",!t),!1!==e&&(o.params.cycle||o.itemsLength<2?1<o.itemsLength:o.current<o.itemsLength-1));o.nodes.next.disabled=!t,o.nodes.next.setAttribute("aria-disabled",!t),cm.toggleClass(o.nodes.next,"is-hidden",!t)},w=function(e,t){t&&cm.removeClass(t.bar.container,"active"),cm.addClass(e.bar.container,"active"),"vertical"===o.params.barDirection?(t=e.bar.container.offsetTop-o.nodes["layout-inner"].offsetHeight/2+e.bar.container.offsetHeight/2,r.scroll.scrollY(t)):(t=e.bar.container.offsetLeft-o.nodes["layout-inner"].offsetWidth/2+e.bar.container.offsetWidth/2,r.scroll.scrollX(t))},_=function(){o.paused&&!o.pausedOutside&&(o.paused=!1,a=setTimeout(function(){switch(o.params.direction){case"random":y(o.getRandomIndex());break;case"backward":o.prev();break;case"forward":o.next()}},o.params.delay),o.triggerEvent("onStart"))},E=function(){o.paused||(o.paused=!0,a&&clearTimeout(a),o.triggerEvent("onPause"))},S=function(){o.paused||o.pausedOutside||(E(),_())},A=function(){var e;o.params.slideshow&&o.params.pauseOnScroll&&(e=cm.getRect(o.nodes.container),(cm.inRange(0,cm._pageSize.winHeight,e.top,e.bottom)?_:E)())},P=function(e){e=e.match(/\d+(\D*)/);return e?e[1]:""};o.enableEditing=function(){return"boolean"==typeof o.isEditing&&o.isEditing||(o.isEditing=!0,cm.addClass(o.nodes.container,"is-editing is-editable"),o.enableEditMode(),o.triggerEvent("onEnableEditing"),o.triggerEvent("onEnableEditable")),o},o.disableEditing=function(){return"boolean"==typeof o.isEditing&&!o.isEditing||(o.isEditing=!1,cm.removeClass(o.nodes.container,"is-editing is-editable"),o.disableEditMode(),o.triggerEvent("onDisableEditing"),o.triggerEvent("onDisableEditable")),o},o.destruct=function(){return this.isDestructed||(this.isDestructed=!0,cm.removeEvent(window,"resize",o.redrawHandler),cm.removeEvent(window,"scroll",o.scrollHandler),o.params.customEvents&&(cm.customEvent.remove(o.nodes.container,"redraw",o.redrawHandler),cm.customEvent.remove(o.nodes.container,"enableEditable",o.enableEditingHandler),cm.customEvent.remove(o.nodes.container,"disableEditable",o.disableEditingHandler),cm.customEvent.remove(o.nodes.container,"destruct",o.destructHandler)),this.removeFromStack()),this},o.redraw=function(){return animFrame(t),o},o.scroll=function(){return animFrame(n),o},o.set=function(e){return o.items[e]&&y(e),o},o.setInitial=function(e){return e=cm.isNumber(e)?o.items[e]?e:0:cm.isString(e)&&"random"===e?o.getRandomIndex():0,o.set(e),o},o.get=function(e){return o.items[e]||null},o.getRandomIndex=function(){if(o.items.length<=1)return 0;for(var e=0;(e=cm.rand(0,o.items.length-1))===o.current;);return e},o.next=function(){o.direction="next";var e=o.current+1===o.items.length?0:o.current+1;return y(e),o},o.prev=function(){o.direction="prev";var e=0===o.current?o.items.length-1:o.current-1;return y(e),o},o.pause=function(){return o.pausedOutside=!0,E(),o},o.start=function(){return o.pausedOutside=!1,_(),o},o.enableEditMode=function(){o.pause(),cm.addClass(o.nodes.container,"is-editable"),o.setEffect("edit")},o.disableEditMode=function(){o.start(),cm.removeClass(o.nodes.container,"is-editable"),o.restoreEffect()},o.setEffect=function(e){return o.current=null,o.previous=null,cm.removeClass(o.nodes.slides,["effect",o.effect].join("-")),o.nodes.slidesInner.scrollLeft=0,cm.forEach(o.items,function(e){e.nodes.container.style.display="",e.nodes.container.style.opacity="",e.nodes.container.style.left="",e.nodes.container.style.zIndex=""}),o.effect=Com.SliderEffects[e]?e:"fade",cm.addClass(o.nodes.slides,["effect",o.effect].join("-")),o.isEditing?o.setInitial(0):!1!==o.params.setInitial&&o.setInitial(o.params.setInitial),u(),o},o.restoreEffect=function(){return o.setEffect(o.params.effect),o},o.redrawHandler=o.redraw.bind(o),o.scrollHandler=o.scroll.bind(o),o.destructHandler=o.destruct.bind(o),o.enableEditingHandler=o.enableEditing.bind(o),o.disableEditingHandler=o.disableEditing.bind(o),i(),o.setParams(e),o.convertEvents(o.params.events),o.getDataNodes(o.params.node),o.getDataConfig(o.params.node),c(),l(),p(),m(),o.setEffect(o.params.effect),o.addToStack(o.nodes.container),o.params.isEditing&&o.enableEditing(),o.triggerEvent("onRender")}),Com.SliderEffects={},Com.SliderEffects.none=function(e,t,n,a){n&&t!==n&&(n.nodes.container.setAttribute("aria-hidden",!0),n.nodes.container.style.display="none",n.nodes.container.style.zIndex=1),t.nodes.container.setAttribute("aria-hidden",!1),t.nodes.container.style.zIndex=2,t.nodes.container.style.display="block",a()},Com.SliderEffects.edit=function(e,t,n,a){n&&t!==n&&(n.nodes.container.setAttribute("aria-hidden",!0),n.nodes.container.style.display="none",n.nodes.container.style.zIndex=1),t.nodes.container.setAttribute("aria-hidden",!1),t.nodes.container.style.zIndex=2,t.nodes.container.style.display="block",a()},Com.SliderEffects.fade=function(e,t,n,a){let s=e=>{e.nodes.container.style.display="none",e.nodes.container.style.zIndex=1,e.nodes.container.style.opacity=0,e.nodes.container.setAttribute("aria-hidden",!0)};var o=e=>{e.nodes.container.style.zIndex=2,e.nodes.container.style.opacity=1,e.nodes.container.style.display="block",e.nodes.container.setAttribute("aria-hidden",!1)};n&&t!==n?(n&&(n.nodes.container.setAttribute("aria-hidden",!0),n.nodes.container.style.zIndex=1,e.params.fadePrevious?n.anim.go({style:{opacity:0}
1,duration:e.params.time,anim:e.params.transition,onStop:()=>s(n)}):setTimeout(()=>s(n),e.params.time)),o(t),t.nodes.container.style.opacity=0,t.anim.go({style:{opacity:1},duration:e.params.time,anim:e.params.transition,onStop:a})):(o(t),a())},Com.SliderEffects["fade-out"]=function(e,t,n,a){var s=e=>{e.nodes.container.style.zIndex=2,e.nodes.container.style.opacity=1,e.nodes.container.style.display="block",e.nodes.container.setAttribute("aria-hidden",!1)};n&&t!==n?(n&&(n.nodes.container.setAttribute("aria-hidden",!0),n.nodes.container.style.zIndex=1,n.anim.go({style:{opacity:0},duration:e.params.time,anim:e.params.transition,onStop:()=>{var e;(e=n).nodes.container.style.display="none",e.nodes.container.style.zIndex=1,e.nodes.container.style.opacity=0,e.nodes.container.setAttribute("aria-hidden",!0)}})),s(t),t.nodes.container.style.opacity=0,t.anim.go({style:{opacity:1},duration:e.params.time,anim:e.params.transition,onStop:a})):(s(t),a())},Com.SliderEffects.push=function(e,t,n,a){n&&t!==n&&n.nodes.container.setAttribute("aria-hidden",!0),t.nodes.container.setAttribute("aria-hidden",!1),e.anim.slidesInner.go({style:{scrollLeft:t.nodes.container.offsetLeft},duration:e.params.time,anim:e.params.transition,onStop:a})},Com.SliderEffects.pull=function(e,t,n,a){var s=e=>{e.nodes.container.style.zIndex=2,e.nodes.container.style.left=0,e.nodes.container.style.display="block",e.nodes.container.setAttribute("aria-hidden",!1)};n&&t!==n?(n&&(n.nodes.container.setAttribute("aria-hidden",!0),n.nodes.container.style.zIndex=1,n.anim.go({style:{left:"next"===e.direction?"-100%":"100%"},duration:e.params.time,anim:e.params.transition,onStop:()=>{var e;(e=n).nodes.container.style.zIndex=1,e.nodes.container.style.left="100%",e.nodes.container.style.display="none",e.nodes.container.setAttribute("aria-hidden",!0)}})),s(t),"next"===e.direction?t.nodes.container.style.left="100%":"prev"===e.direction&&(t.nodes.container.style.left="-100%"),t.anim.go({style:{left:"0%"},duration:e.params.time,anim:e.params.transition,onStop:a})):(s(t),a())},Com.SliderEffects["pull-overlap"]=function(e,t,n,a){var s=e=>{e.nodes.container.style.zIndex=2,e.nodes.container.style.left=0,e.nodes.container.style.display="block",e.nodes.container.setAttribute("aria-hidden",!1)};n&&t!==n?(n&&(n.nodes.container.setAttribute("aria-hidden",!0),n.nodes.container.style.zIndex=1,setTimeout(()=>{var e;(e=n).nodes.container.style.zIndex=1,e.nodes.container.style.left="100%",e.nodes.container.style.display="none",e.nodes.container.setAttribute("aria-hidden",!0)},e.params.time)),s(t),"next"===e.direction?t.nodes.container.style.left="100%":"prev"===e.direction&&(t.nodes.container.style.left="-100%"),t.anim.go({style:{left:"0%"},duration:e.params.time,anim:e.params.transition,onStop:a})):(s(t),a())},Com.SliderEffects["pull-parallax"]=function(e,t,n,a){var s=e=>{e.nodes.container.style.zIndex=2,e.nodes.container.style.left=0,e.nodes.container.style.display="block",e.nodes.container.setAttribute("aria-hidden",!1)};n&&t!==n?(n&&(n.nodes.container.setAttribute("aria-hidden",!0),n.nodes.container.style.zIndex=1,n.anim.go({style:{left:"next"===e.direction?"-50%":"50%"},duration:e.params.time,anim:e.params.transition,onStop:()=>{var e;(e=n).nodes.container.style.zIndex=1,e.nodes.container.style.left="100%",e.nodes.container.style.display="none",e.nodes.container.setAttribute("aria-hidden",!0)}})),s(t),"next"===e.direction?t.nodes.container.style.left="100%":"prev"===e.direction&&(t.nodes.container.style.left="-100%"),t.anim.go({style:{left:"0%"},duration:e.params.time,anim:e.params.transition,onStop:a})):(s(t),a())},Com.SliderEffects["pull-parallax-css"]=function(e,t,n,a){var s=e=>{e.nodes.container.style.zIndex=2,cm.setCSSTranslate(e.nodes.container,"0%",0,0),e.nodes.container.style.display="block",e.nodes.container.setAttribute("aria-hidden",!1)};n&&t!==n?(n&&(n.nodes.container.setAttribute("aria-hidden",!0),n.nodes.container.style.zIndex=1,cm.transition(n.nodes.container,{properties:{transform:"translateX("+("next"===e.direction?"-50%":"50%")+")"},duration:e.params.time,delayOut:30,onStop:()=>{var e;(e=n).nodes.container.style.zIndex=1,cm.setCSSTranslate(e.nodes.container,"100%",0,0),e.nodes.container.style.display="none",e.nodes.container.setAttribute("aria-hidden",!0)}})),s(t),"next"===e.direction?cm.setCSSTranslate(t.nodes.container,"100%",0,0):"prev"===e.direction&&cm.setCSSTranslate(t.nodes.container,"-100%",0,0),cm.transition(t.nodes.container,{properties:{transform:"translateX(0%)"},duration:e.params.time,delayOut:30,onStop:a})):(s(t),a())},Com.SliderEffects.custom=function(t,e,n,a){var s=e=>{cm.addClass(e.nodes.container,"active",!0),cm.removeClass(e.nodes.container,"show",!0),cm.removeClass(e.nodes.container,t.direction,!0),e.nodes.container.setAttribute("aria-hidden",!1)};n&&e!==n?(n&&(n.nodes.container.setAttribute("aria-hidden",!0),cm.addClass(n.nodes.container,"hide",!0),cm.addClass(n.nodes.container,t.direction,!0)),n&&(cm.addClass(e.nodes.container,"show"),cm.addClass(e.nodes.container,t.direction)),s(e),setTimeout(()=>{n&&(cm.removeClass(n.nodes.container,t.direction),cm.removeClass(n.nodes.container,"active hide")),a()},t.params.time)):(s(e),a())},cm.define("Com.Sortable",{modules:["Params","Events","DataConfig","DataNodes"],events:["onRender","onRemove","onStart","onSort"],params:{node:cm.node("div"),process:!0,"Com.Draganddrop":{draggableContainer:"selfParent",direction:"vertical",limit:!0,scroll:!1,animateRemove:!1,removeNode:!1}}},function(e){var a=this,t=(a.components={},a.nodes={groups:[]},function(e,t){a.triggerEvent("onStart",t)}),n=function(e,t){a.triggerEvent("onRemove",t)},s=function(e,t){a.triggerEvent("onSort",t)},o=function(t){t.container&&(a.addGroup(t.container),t.items)&&cm.forEach(t.items,function(e){r(e,t)})},r=function(e,t){a.addItem(e.container,t.container),e.groups&&cm.forEach(e.groups,o)};a.addGroup=function(e){return a.components.dd.registerArea(e),a},a.removeGroup=function(e){return a.components.dd.removeArea(e),a},a.addItem=function(e,t){var n=cm.getNodes(e);return n.items[0].drag&&n.items[0].drag.setAttribute("data-com-draganddrop","drag"),a.components.dd.registerDraggable(e,t),a},a.removeItem=function(e){return a.components.dd.removeDraggable(e),a},a.setParams(e),a.convertEvents(a.params.events),a.getDataNodes(a.params.node),a.getDataConfig(a.params.node),a.components.dd=new Com.Draganddrop(a.params["Com.Draganddrop"]).addEvent("onDragStart",t).addEvent("onRemove",n).addEvent("onDrop",s),a.params.process&&cm.forEach(a.nodes.groups,o),a.triggerEvent("onRender")}),cm.define("Com.Spacer",{modules:["Params","Events","DataConfig","Stack"],required:["Com.Draggable"],events:["onRender","onChange","onResize","onEnableEditing","onEnableEditable","onDisableEditing","onDisableEditable"],params:{node:cm.node("div"),name:"",height:0,minHeight:0,isEditing:!0,customEvents:!0,"Com.Draggable":{direction:"vertical"}}},function(e){function n(e,t){s.value=Math.max(e,s.params.minHeight),a(),i(),t&&(s.triggerEvent("onChange",{height:s.value}),s.triggerEvent("onResize",{height:s.value}))}function a(){s.params.node.style.height=[s.value,"px"].join(""),s.nodes.dragContainer.style.top=[s.params.node.offsetHeight,"px"].join("")}var s=this,t=(s.isEditing=null,s.components={},s.nodes={},s.value=0,function(){cm.addClass(document.body,"pt__drag__body--vertical"),cm.addClass(s.params.node,"is-active"),cm.addClass(s.nodes.drag,"is-active"),cm.addClass(s.nodes.ruler,"is-active")}),o=function(){s.params.node.style.height=[s.value,"px"].join(""),i(),s.triggerEvent("onChange",{height:s.value})},r=function(){cm.removeClass(document.body,"pt__drag__body--vertical"),cm.removeClass(s.params.node,"is-active"),cm.removeClass(s.nodes.drag,"is-active"),cm.removeClass(s.nodes.ruler,"is-active"),s.triggerEvent("onResize",{height:s.value})},i=function(){s.nodes.rulerCounter.innerHTML=[s.value," px"].join("")};s.enableEditing=function(){return"boolean"==typeof s.isEditing&&s.isEditing||(s.isEditing=!0,cm.addClass(s.params.node,"is-editing is-editable"),s.redraw(),s.triggerEvent("onEnableEditing"),s.triggerEvent("onEnableEditable")),s},s.disableEditing=function(){return"boolean"==typeof s.isEditing&&!s.isEditing||(s.isEditing=!1,cm.removeClass(s.params.node,"is-editing is-editable"),s.triggerEvent("onDisableEditing"),s.triggerEvent("onDisableEditable")),s},s.redraw=function(){return a(),s},s.set=function(e,t){return t=void 0===t||t,isNaN(e)||n(e,t),s},s.get=function(){return s.value},s.setParams(e),s.convertEvents(s.params.events),s.getDataConfig(s.params.node),cm.isNode(s.params.node)&&(s.params.name=s.params.node.getAttribute("name")||s.params.name),s.params["Com.Draggable"].minY=s.params.minHeight,s.nodes.dragContainer=cm.node("div",{class:"com__spacer__chassis"},s.nodes.drag=cm.node("div",{class:"pt__drag is-vertical"},cm.node("div",{class:"line"}),cm.node("div",{class:"drag"},cm.node("div",{class:"icon draggable"})))),s.nodes.rulerContainer=cm.node("div",{class:"com__spacer__ruler"},s.nodes.ruler=cm.node("div",{class:"pt__ruler is-vertical is-small"},cm.node("div",{class:"line line-top"}),s.nodes.rulerCounter=cm.node("div",{class:"counter"}),cm.node("div",{class:"line line-bottom"}))),s.params.node.appendChild(s.nodes.dragContainer),s.params.node.appendChild(s.nodes.rulerContainer),cm.addEvent(window,"resize",function(){s.redraw()}),s.params.customEvents&&(cm.customEvent.add(s.params.node,"redraw",function(){s.redraw()}),cm.customEvent.add(s.params.node,"enableEditable",function(){s.enableEditing()}),cm.customEvent.add(s.params.node,"disableEditable",function(){s.disableEditing()})),s.components.draggable=new Com.Draggable(cm.merge(s.params["Com.Draggable"],{node:s.nodes.dragContainer,events:{onStart:t,onSelect:function(e,t){s.value=t.top,o()},onStop:r}})),n(parseFloat(s.params.height),!1),s.params.isEditing&&s.enableEditing(),s.addToStack(s.params.node),s.triggerEvent("onRender")}),Com.Elements.Tabset={},Com.GetTabset=function(e){return Com.Elements.Tabset[e]||null},cm.define("Com.Tabset",{modules:["Params","Events","DataConfig","DataNodes","Stack","Structure"],events:["onRender","onTabShowStart","onTabShow","onTabHideStart","onTabHide"],params:{node:cm.node("div"),container:null,name:"",embedStructure:"replace",toggleOnHashChange:!0,renderOnInit:!0,removeOnDestruct:!0,customEvents:!0,setInitialTab:!0,setInitialTabImmediately:!0,unsetOnReClick:!1,active:null,className:"",adaptive:!0,tabsAlign:"left",tabsPosition:"top",tabsFlexible:!1,tabsWidth:256,showTabs:!0,showTabsTitle:!0,animateSwitch:!0,calculateMaxHeight:!1,animateDuration:"cm._
1config.animDuration",tabs:[],icons:{menu:"icon default linked"}}},function(e){function t(){l.params.toggleOnHashChange&&cm.addEvent(window,"hashchange",i),s()}function n(t,e){var n={};return n.container=cm.node("li",n.a=cm.node("a",n.title=cm.node("div",{class:"title"},t.title))),e&&(cm.isNode(t.image)?n.image=t.image:cm.isEmpty(t.image)||(n.image=cm.node("div",{class:"image"},cm.node("img",{src:t.image,alt:""}))),n.image&&cm.insertFirst(n.image,n.a),l.params.showTabsTitle)&&n.a.setAttribute("title",cm.cutHTML(t.title)),cm.addEvent(n.a,"click",function(e){e=cm.getEvent(e),cm.preventDefault(e),l.params.unsetOnReClick&&l.active===t.id?l.unset():l.params.toggleOnHashChange?window.location.hash=t.id:m(t.id),g()}),n}function a(e){e.id===l.active&&l.tabsListing[0]&&m(l.tabsListing[0]),cm.remove(e.tab.container),cm.remove(e.menu.container),cm.remove(e.content),l.tabsListing=cm.arrayRemove(l.tabsListing,e),delete l.tabs[e.id]}function s(){var e=l.params.setInitialTab?v():l.params.active;b(e)&&m(e)}function o(e){e.content.style.display="block",cm.addClass(e.tab.container,"active"),cm.addClass(e.menu.container,"active"),cm.addClass(e.content,"active",!0),l.nodes.headerTitleText.innerHTML=e.title,(l.isInitial||!l.params.animateSwitch||l.params.calculateMaxHeight?(l.params.calculateMaxHeight&&y(),l.previous&&(l.tabs[l.previous].content.style.display="none"),p):f)()}function r(e){(e=l.tabs[e])&&(e.onHideStart(l,e),l.triggerEvent("onTabHideStart",e),e.isHide=!0,cm.removeClass(e.tab.container,"active"),cm.removeClass(e.menu.container,"active"),cm.removeClass(e.content,"active"),e.onHide(l,e),l.triggerEvent("onTabHide",e))}function i(){var e=window.location.hash.slice(1);b(e)&&m(e)}function c(e){if(e&&l.tabs[e])return l.tabs[e]}var l=this,d=(l.nodes={tabs:[]},l.anim={},l.tabs={},l.tabsListing=[],l.active=!1,l.previous=!1,l.isInitial=null,l.isProcess=!1,l.isDestructed=!1,l.isMenuShown=!1,function(e){l.tabs[e.id]&&a(l.tabs[e.id]),e=cm.merge({id:"",title:"",content:cm.node("li"),image:null,isHide:!0,constructor:!1,constructorParams:{},onShowStart:function(e,t){},onShow:function(e,t){},onHideStart:function(e,t){},onHide:function(e,t){}},e),cm.isEmpty(e.image)||cm.isNode(e.image)||(e.image=cm.strReplace(e.image,{"%baseUrl%":cm._baseUrl})),e.tab=n(e,!0),e.menu=n(e,!1),cm.removeClass(e.content,"active"),l.nodes.headerUL.appendChild(e.tab.container),l.nodes.headerMenuUL.appendChild(e.menu.container),l.nodes.contentUL.appendChild(e.content),l.tabsListing.push(e),l.tabs[e.id]=e}),m=function(e){var t=l.tabs[e];t&&e!==l.active&&!l.isProcess&&(l.isProcess=!0,r(l.active),l.previous=l.active,l.active=e,cm.isBoolean(l.isInitial)?l.isInitial=!1:l.isInitial=!l.previous&&l.params.setInitialTabImmediately&&l.params.setInitialTab,t.isHide=!1,t.onShowStart(l,t),l.triggerEvent("onTabShowStart",t),t.constructor&&(t.controller?t.controller.refresh&&t.controller.refresh():cm.getConstructor(t.constructor,function(e){t.controller=new e(cm.merge(t.constructorParams,{container:t.content}))})),o(t))},p=function(){var e=l.tabs[l.active];e?(e.onShow(l,e),l.triggerEvent("onTabShow",e),l.isProcess=!1,cm.customEvent.trigger(e.content,"redraw",{direction:"child",self:!1})):l.isProcess=!1},u=function(){(l.isMenuShown?g:h)()},h=function(){l.isMenuShown=!0,cm.replaceClass(l.nodes.headerMenu,"is-hide","is-show")},g=function(){l.isMenuShown=!1,cm.replaceClass(l.nodes.headerMenu,"is-show","is-hide")},f=function(){var e=0,t=0;l.previous&&(e=cm.getRealHeight(l.tabs[l.previous].content,"offsetRelative")),l.active&&(t=cm.getRealHeight(l.tabs[l.active].content,"offsetRelative")),l.nodes.contentUL.style.overflow="hidden",l.nodes.contentUL.style.height=[e,"px"].join(""),cm.onSchedule(function(){l.nodes.contentUL.style.height=[t,"px"].join(""),setTimeout(function(){l.previous&&(l.tabs[l.previous].content.style.display="none"),l.nodes.contentUL.style.overflow="visible",l.nodes.contentUL.style.height="auto",p()},l.params.animateDuration)})},v=function(){var e;return cm.isEmpty(l.tabsListing)||cm.isEmpty(l.tabs)?null:l.params.toggleOnHashChange&&(e=window.location.hash.slice(1),b(e))||(e=l.params.active,b(e))?e:l.tabsListing[0].id},b=function(e){return!!c(e)},y=function(){var t=0;cm.forEach(l.tabs,function(e){t=Math.max(t,cm.getRealHeight(e.content,"offsetRelative"))}),t!==l.nodes.contentUL.offsetHeight&&(l.nodes.contentUL.style.minHeight=[t,"px"].join(""),cm.forEach(l.tabs,function(e){e.content.style.minHeight=[t,"px"].join("")}))},C=function(){l.params.calculateMaxHeight&&y()},w=function(e){e=cm.getEventTarget(e);cm.isParent(l.nodes.headerMenu,e,!0)||g()};l.render=function(){return t(),l},l.reset=function(){return s(),l},l.destruct=function(){return l.isDestructed||(l.isDestructed=!0,cm.customEvent.trigger(l.nodes.container,"destruct",{direction:"child",self:!1}),l.params.customEvents&&cm.customEvent.remove(l.nodes.container,"destruct",l.de
1struct),l.params.removeOnDestruct&&l.remove(),l.removeFromStack()),l},l.set=function(e){return b(e)&&m(e),l},l.setByIndex=function(e){return(e=l.tabsListing[e])&&m(e.id),l},l.unset=function(){return l.previous=l.active,l.active=null,r(l.previous),f(),l.previous=null,l.active=null,l.params.toggleOnHashChange&&(window.location.hash=""),l},l.reset=function(){return s(),l},l.get=c,l.getTabs=function(){return l.tabs},l.getActiveTab=function(){return l.tabs[l.active]},l.addTab=function(e){return e&&e.id&&d(e),l},l.addTabs=function(e){return(cm.isArray(e)||cm.isObject(e))&&cm.forEach(e,l.addTab),l},l.removeTab=function(e){return e&&l.tabs[e]&&a(l.tabs[e]),l},l.setEvents=function(e){return e&&(l.tabs=cm.merge(l.tabs,e)),l},l.remove=function(){return cm.removeEvent(window,"hashchange",i),cm.removeEvent(window,"resize",C),cm.removeEvent(window,"click",w),cm.remove(l.nodes.container),l},l.getNodes=function(e){return l.nodes[e]||l.nodes},l.params.animateDuration=cm.getTransitionDurationFromLESS("ComTabset-Duration",l.params.animateDuration),l.params.tabsWidth=cm.getLESSVariable("ComTabset-Column-Width",l.params.tabsWidth,!0),l.setParams(e),l.convertEvents(l.params.events),l.getDataNodes(l.params.node,l.params.nodesDataMarker,!1),l.getDataConfig(l.params.node),cm.inArray(["top","right","bottom","left"],l.params.tabsPosition)||(l.params.tabsPosition="top"),cm.inArray(["left","center","right","justify"],l.params.tabsAlign)||(l.params.tabsAlign="left"),cm.isNumber(l.params.tabsWidth)&&(l.params.tabsWidth=[l.params.tabsWidth,"px"].join("")),l.nodes.container=cm.node("div",{class:"com__tabset"},l.nodes.content=cm.node("div",{class:"com__tabset__content"},l.nodes.contentUL=cm.node("ul"))),l.nodes.headerTitle=cm.node("div",{class:"com__tabset__head-title"},l.nodes.headerTitleText=cm.node("div",{class:"com__tabset__head-text"}),l.nodes.headerMenu=cm.node("div",{class:"com__tabset__head-menu pt__menu is-manual is-hide"},l.nodes.headerMenuButton=cm.node("div",{class:l.params.icons.menu}),l.nodes.headerMenuUL=cm.node("ul",{class:"pt__menu-dropdown"}))),l.nodes.headerTabs=cm.node("div",{class:"com__tabset__head-tabs"},l.nodes.headerUL=cm.node("ul")),l.params.adaptive&&cm.addClass(l.nodes.container,"is-adaptive"),l.params.animateSwitch&&cm.addClass(l.nodes.content,"is-animated"),cm.addEvent(l.nodes.headerMenuButton,"click",u),/left|right/.test(l.params.tabsPosition)&&(l.nodes.headerTabs.style.width=l.params.tabsWidth,l.nodes.content.style.width=["calc(100% - ",l.params.tabsWidth,")"].join("")),l.params.showTabs&&(cm.insertBefore(l.nodes.headerTitle,l.nodes.content),/bottom|right/.test(l.params.tabsPosition)?cm.insertAfter(l.nodes.headerTabs,l.nodes.content):cm.insertBefore(l.nodes.headerTabs,l.nodes.content)),cm.forEach(l.nodes.tabs,function(e){d(cm.merge({content:e.container},l.getNodeDataConfig(e.container)))}),cm.forEach(l.params.tabs,function(e){d(e)}),cm.addClass(l.nodes.container,["is-tabs",l.params.tabsPosition].join("-")),/top|bottom/.test(l.params.tabsPosition)&&cm.addClass(l.nodes.container,["is-tabs-pull",l.params.tabsAlign].join("-")),l.params.tabsFlexible&&cm.addClass(l.nodes.container,"is-tabs-flexible"),cm.isEmpty(l.params.className)||cm.addClass(l.nodes.container,l.params.className),l.params.node.id&&(l.nodes.container.id=l.params.node.id),l.embedStructure(l.nodes.container),cm.addEvent(window,"resize",C),cm.addEvent(window,"click",w),l.addToStack(l.nodes.container),l.params.customEvents&&cm.customEvent.add(l.nodes.container,"destruct",l.destruct),l.triggerEvent("onRender"),l.params.renderOnInit&&t()}),cm.define("Com.Tabset2",{extend:"Com.TabsetHelper",params:{controllerEvents:!0,renderStructure:!0,embedStructureOnRender:!0,embedStructure:"replace",removeOnDestruct:!0,toggleOnHashChange:!0,targetEvent:"click",documentNode:window,items:[],active:null,setInitialTab:!0,setInitialTabImmediately:!0,hidePreviousTab:["onTabShowEnd","onUnset"],processTabs:!1,showMenu:!0,renderTabView:!0,tabsHolderTagName:"ul",tabsAlign:"left",tabsPosition:"top",tabsFlexible:!1,tabsWidth:256,showTabs:!0,showTabsTitle:!0,setTabsHash:!1,showContent:!0,switchManually:!1,animateSwitch:!0,animateHeight:!0,animateDuration:"cm._
1config.animateDuration",calculateMaxHeight:!1,showLoader:!0,responseKey:"data",responseHTML:!0,cache:!1,ajax:{type:"json",method:"get",url:"",params:""},useLessVariables:!0,adaptive:!0,className:"",icons:{menu:"icon default linked"},overlayConstructor:"Com.Overlay",overlayParams:{position:"absolute",lazy:!0,autoOpen:!1,removeOnClose:!0}}},function(e){Com.TabsetHelper.apply(this,arguments)}),cm.getConstructor("Com.Tabset2",function(e,t,n,o){n.onConstructStart=function(){this.isMenuShown=!1,this.toggleMenuHandler=this.toggleMenu.bind(this),this.windowClickHandler=this.windowClick.bind(this)},n.onGetLESSVariablesProcess=function(){this.params.useLessVariables&&(this.params.animateDuration=cm.getTransitionDurationFromLESS("ComTabset-Duration",this.params.animateDuration),this.params.tabsWidth=cm.getLESSVariable("ComTabset-Column-Width",this.params.tabsWidth,!0))},n.onValidateParams=function(){cm.isNode(this.params.node)&&this.collectTabs()},n.onSetEvents=function(){o.prototype.onSetEvents.apply(this,arguments),cm.addEvent(this.params.documentNode,"click",this.windowClickHandler)},n.onUnsetEvents=function(){o.prototype.onUnsetEvents.apply(this,arguments),cm.removeEvent(this.params.documentNode,"click",this.windowClickHandler)},n.renderView=function(){var e=this;e.triggerEvent("onRenderViewStart"),e.renderViewStructure(),e.triggerEvent("onRenderViewProcess"),e.params.adaptive&&cm.addClass(e.nodes.container,"is-adaptive"),/left|right/.test(e.params.tabsPosition)&&(e.nodes.headerTabs.style.width=e.params.tabsWidth,e.nodes.content.style.width=["calc(100% - ",e.params.tabsWidth,")"].join("")),cm.addClass(e.nodes.container,["is-tabs",e.params.tabsPosition].join("-")),/top|bottom/.test(e.params.tabsPosition)&&cm.addClass(e.nodes.container,["is-tabs-pull",e.params.tabsAlign].join("-")),e.params.tabsFlexible&&cm.addClass(e.nodes.container,"is-tabs-flexible"),e.params.animateSwitch&&cm.addClass(e.nodes.content,["is-animated","is-animated2"]),e.params.showContent&&cm.appendChild(e.nodes.content,e.nodes.inner),e.params.showTabs&&(e.params.showContent?(e.params.showMenu&&cm.insertBefore(e.nodes.headerTitle,e.nodes.content),/bottom|right/.test(e.params.tabsPosition)?cm.insertAfter(e.nodes.headerTabs,e.nodes.content):cm.insertBefore(e.nodes.headerTabs,e.nodes.content)):(e.params.showMenu&&cm.appendChild(e.nodes.headerTitle,e.nodes.inner),cm.appendChild(e.nodes.headerTabs,e.nodes.inner))),e.triggerEvent("onRenderViewEnd")},n.renderViewStructure=function(){var e=this;e.nodes.container=e.nodes.inner=cm.node("div",{classes:"com__tabset"}),e.nodes.content=cm.node("div",{classes:"com__tabset__content"},e.nodes.contentUL=cm.node("ul",{classes:"inner"})),e.nodes.headerTitle=cm.node("div",{classes:"com__tabset__head-title"},e.nodes.headerTitleText=cm.node("div",{classes:"com__tabset__head-text"}),e.nodes.headerMenu=cm.node("div",{classes:"com__tabset__head-menu pt__menu is-manual is-hide"},e.nodes.headerMenuButton=cm.node("div",{classes:e.params.icons.menu}),e.nodes.headerMenuUL=cm.node("ul",{classes:"pt__menu-dropdown",role:"tablist"}))),e.nodes.headerTabs=cm.node("div",{classes:"com__tabset__head-tabs"},e.nodes.headerUL=cm.node(e.params.tabsHolderTagName,{classes:"inner",role:"tablist"}))},n.renderViewModel=function(){o.prototype.renderViewModel.apply(this,arguments),cm.addEvent(this.nodes.headerMenuButton,"click",this.toggleMenuHandler)},n.collectTabs=function(){var t=this;cm.forEach(t.nodes.tabs,function(e){cm.isNode(e.container)&&(cm.removeClass(e.content,"active"),t.params.items.push(cm.merge({content:e.container},t.getNodeDataConfig(e.container))))})},n.renderTabView=function(e){e.label=this.renderTabLink(e,"label"),e.menu=this.renderTabLink(e,"menu"),e.tab=this.renderTabContent(e),this.setTabLinkAttributes(e,e.label),this.setTabLinkAttributes(e,e.menu),this.setTabContentAttributes(e,e.tab),cm.appendChild(e.label.container,this.nodes.headerUL),cm.appendChild(e.menu.container,this.nodes.headerMenuUL),cm.appendChild(e.tab.container,this.nodes.contentUL)},n.renderTabContent=function(e){var t={};return t.container=cm.node("li",t.inner=cm.node("div",{classes:["com__tabset__panel","com__tabset__panel--"+e.contentName]},e.content)),t},n.setTabContentAttributes=function(e,t){t.container.setAttribute("id",e.tabName),t.container.setAttribute("role","tabpanel"),t.container.setAttribute("tabindex","0"),t.container.setAttribute("aria-labelledby",e.labelName),t.container.setAttribute("hidden",!1)},n.renderTabLink=function(e,t){var n={};return n.container=cm.node("li",n.link=cm.node("a",n.title=cm.node("div",{classes:"title"}))),cm.isNode(e.title)?(e.title=cm.clone(e.title,!0),cm.appendChild(e.title,n.title)):n.title.innerHTML=e.title,"label"===t&&(cm.isNode(e.image)?n.image=e.image:cm.isEmpty(e.image)||(n.image=cm.node("div",{classes:"image"},cm.node("img",{src:e.image,alt:""}))),n.image)&&cm.insertFirst(n.image,n.link),n},n.setTabLinkAttributes=function(e,t){var n;t.container.setAttribute("id",e.labelName),t.container.setAttribute("role","tab"),t.container.setAttribute("tabindex","0"),t.container.setAttribute("aria-controls",e.tabName),t.container.setAttribute("aria-selected","false"),this.params.showTabsTitle&&(t.container.title=cm.cutHTML(e.title)),t.link&&(t.link.setAttribute("role","presentation"),t.link.setAttribute("tabindex","-1"),this.params.setTabsHash)&&((n=new URL(window.location)).hash=e.id,t.link.href=n.href,t.link.setAttribute("data-prevent-default","true"))},n.toggleMenu=function(){this.isMenuShown?this.hideMenu():this.showMenu()},n.showMenu=function(){this.isMenuShown||(this.isMenuShown=!0,cm.replaceClass(this.nodes.headerMenu,"is-hide","is-show"))},n.hideMenu=function(){this.isMenuShown&&(this.isMenuShown=!1,cm.replaceClass(this.nodes.headerMenu,"is-show","is-hide"))},n.onLabelTarget=function(e,t){e.hideMenu()},n.tabChangeStart=function(e){var t=this.current,t=this.items[t];clearTimeout(e.switchInt),t&&(this.params.animateSwitch&&(this.nodes.contentUL.style.overflow="clip",this.params.animateHeight)&&(this.nodes.contentUL.style.height=t.tab.inner.offsetHeight+"px"),t.menu.container.setAttribute("aria-selected","false"),t.label.container.setAttribute("aria-selected","false")),this.nodes.headerTitleText.innerHTML=e.title,e.menu.container.setAttribute("aria-selected","true"),e.label.container.setAttribute("aria-selected","true"),e.tab.container.setAttribute("tabindex","0"),e.tab.container.hidden=!1,e.tab.container.style.display="block",o.prototype.tabChangeStart.apply(this,arguments)},n.tabShowEnd=function(e,t){var n,a,s=this;
1e.id===s.current&&(t=cm.merge({redrawContent:!0,triggerEvents:!0},t),n=s.previous,(a=s.items[n])&&a.id!==e.id?s.params.animateSwitch?(s.redrawTabContent(e),s.params.animateHeight&&(s.nodes.contentUL.style.height=e.tab.inner.offsetHeight+"px"),a.switchInt=setTimeout(function(){s.tabHideEnd(a,{action:"onTabShowEnd"}),s.nodes.contentUL.style.overflow="",s.nodes.contentUL.style.height="",t.redrawContent=!1,o.prototype.tabShowEnd.call(s,e,t)},s.params.animateDuration)):(s.tabHideEnd(a,{action:"onTabShowEnd"}),o.prototype.tabShowEnd.call(s,e,t)):o.prototype.tabShowEnd.call(s,e,t))},n.tabHideEnd=function(e,t){!0!==this.params.hidePreviousTab&&!cm.inArray(this.params.hidePreviousTab,t.action)||(e.tab.container.setAttribute("tabindex","-1"),e.tab.container.hidden=!0,e.tab.container.style.display="none",o.prototype.tabHideEnd.apply(this,arguments))},n.windowClick=function(e){e=cm.getEventTarget(e);cm.isParent(this.nodes.headerMenu,e,!0)||this.hideMenu()},n.reset=function(){return this.setInitialTab(),this}}),cm.define("Com.Timer",{extend:"Com.AbstractController",events:["onRender","onStart","onTick","onEnd"],params:{renderStructure:!1,embedStructureOnRender:!1,count:0}},function(){Com.AbstractController.apply(this,arguments)}),cm.getConstructor("Com.Timer",function(e,t,n,a){n.onConstructStart=function(){this.left=0,this.pass=0,this.isProcess=!1,this.animationFrameId=null},n.onDestructStart=function(){this.stop()},n.renderViewModel=function(){this.left=this.params.count,this.start()},n.getLeftTime=function(){var e=this.left,t=Math.floor(e/864e5),n=Math.floor(e/36e5),a=Math.floor(e/6e4),e=Math.floor(e/1e3);return{d_total:t,h_total:n,m_total:a,s_total:e,d:t,h:n%24,m:a%60,s:e%60}},n.start=function(){let t=this.left,n=Date.now(),a=(this.isProcess=!0,this.triggerEvent("onStart",this.getLeftTime()),()=>{var e;this.isProcess&&(e=Date.now(),this.left=Math.max(t-(e-n),0),this.pass=this.params.count-this.left,e=this.getLeftTime(),this.triggerEvent("onTick",e),0===this.left?(this.stop(),this.triggerEvent("onEnd",e)):this.animationFrameId=requestAnimationFrame(a))});return a(),this},n.stop=function(){return this.isProcess=!1,null!==this.animationFrameId&&(cancelAnimationFrame(this.animationFrameId),this.animationFrameId=null),this}}),cm.define("Com.ToggleBox",{extend:"Com.AbstractController",events:["onShowStart","onShow","onHideStart","onHide"],params:{controllerEvents:!0,customEvents:!0,renderStructure:!1,embedStructureOnRender:!1,embedStructure:"replace",duration:"cm._config.animDurationLong",remember:!1,className:"has-title-bg is-base is-hide",modifiers:[],eventNode:"title",toggleTitle:!1,title:!1,content:!1,icon:["default"]},strings:{show:"Show",hide:"Hide"}},function(){Com.AbstractController.apply(this,arguments)}),cm.getConstructor("Com.ToggleBox",function(e,t,n,a){n.construct=function(){this.nodes={container:cm.node("div"),button:cm.node("div"),target:cm.node("div"),title:cm.node("div")},this.targetHeight=0,this.targetTransition=0,this.isProcess=null,this.isCollapsed=null,a.prototype.construct.apply(this,arguments)},n.onValidateParams=function(){this.params.renderStructure&&(this.params.embedStructureOnRender=!1,this.params.title||(this.params.title="",this.params.toggleTitle=!0))},n.renderView=function(){var e=this;e.triggerEvent("onRenderViewStart"),e.nodes.container=cm.node("dl",{classes:"com__togglebox"},e.nodes.titleContainer=cm.node("dt",e.nodes.button=e.nodes.icon=cm.node("span",{classes:["icon","animated","linked"]}),e.nodes.title=cm.node("span",{classes:"title"})),e.nodes.target=cm.node("dd",e.nodes.content=cm.node("div",{classes:"inner"}))),e.triggerEvent("onRenderViewProcess"),e.triggerEvent("onRenderViewEnd")},n.setAttributes=function(){let e=this;e.params.renderStructure&&e.setViewAttributes(),e.nodes.toggle="title"===e.params.eventNode&&e.nodes.titleContainer?e.nodes.titleContainer:e.nodes.button,cm.click.add(e.nodes.toggle,()=>e.toggle()),e.nodes.container.setAttribute("role","group"),e.nodes.toggle.setAttribute("tabindex","0"),e.nodes.toggle.setAttribute("role","button")},n.setViewAttributes=function(){let t=this;cm.addClass(t.nodes.container,t.params.className),cm.forEach(t.params.modifiers,e=>{cm.addClass(t.nodes.container,"com__togglebox--"+e)}),"button"===t.params.eventNode&&cm.addClass(t.nodes.container,"has-hover-icon")}
1,n.setViewContent=function(){this.setIcon(this.params.icon),this.setTitle(this.params.title),this.params.content?this.setContent(this.params.content):this.setContent(this.params.node)},n.renderViewModel=function(){var e,t=this;a.prototype.renderViewModel.apply(t,arguments),t.params.renderStructure&&(t.appendView(),t.setViewContent()),t.isCollapsed=cm.hasClass(t.nodes.container,"is-hide")||!cm.hasClass(t.nodes.container,"is-show"),t.params.remember&&(e=t.storageRead("isCollapsed"),t.isCollapsed=null!==e?e:t.isCollapsed),t.toggle(!t.isCollapsed,!0)},n.beforeExpand=function(){var e=this;e.isProcess||(e.isProcess=!0,e.nodes.target.style.height="auto",e.nodes.target.style.display="block",cm.customEvent.trigger(e.nodes.target,"redraw",{direction:"child",self:!1}),e.targetHeight=cm.getRealHeight(e.nodes.target,"offset","current"),e.nodes.target.style.overflow="hidden",e.nodes.target.style.height=0,e.nodes.target.style.opacity)||(e.nodes.target.style.opacity=0)},n.afterExpand=function(){this.nodes.target.style.overflow="visible",this.nodes.target.style.height="auto",this.nodes.target.style.opacity=1,cm.customEvent.trigger(this.nodes.target,"redraw",{direction:"child",self:!1}),this.isProcess=!1,this.triggerEvent("onShow")},n.beforeCollapse=function(){this.isProcess||(this.isProcess=!0,this.nodes.target.style.overflow="hidden",this.nodes.target.style.opacity||(this.nodes.target.style.opacity=1),this.targetHeight=cm.getRealHeight(this.nodes.target,"offset","current"),this.nodes.target.style.height=this.targetHeight+"px")},n.afterCollapse=function(){this.nodes.target.style.display="none",this.nodes.target.style.height=0,this.nodes.target.style.opacity=0,this.isProcess=!1,this.triggerEvent("onHide")},n.setTitle=function(e){if(this.nodes.title)return cm.clearNode(this.nodes.title),cm.isString(e)||cm.isNumber(e)?this.nodes.title.innerHTML=e:cm.appendNodes(e,this.nodes.title),this.params.title=e,this},n.setContent=function(e){var t=this.nodes.content||this.nodes.target;if(t)return cm.clearNode(t),cm.isString(e)||cm.isNumber(e)?t.innerHTML=e:cm.appendNodes(e,t),this.params.conetnt=e,this},n.setIcon=function(e){var t=this;if(t.nodes.icon)return cm.clearNode(t.nodes.icon),(cm.isString(t.params.icon)||cm.isArray(t.params.icon))&&cm.removeClass(t.nodes.icon,t.params.icon),cm.isFunction(e)&&(e=e(t)),cm.isString(e)||cm.isArray(e)?cm.addClass(t.nodes.icon,e):cm.appendNodes(e,t.nodes.icon),t.params.icon=e,t},n.toggle=function(e,t){(e=cm.isBoolean(e)?e:this.isCollapsed)?this.expand(t):this.collapse(t)},n.expand=function(e){let t=this;(e||t.isCollapsed)&&(t.isCollapsed=!1,t.triggerEvent("onShowStart"),t.params.remember&&t.storageWrite("isCollapsed",!1),t.params.toggleTitle&&t.setTitle(t.msg("hide")),t.nodes.toggle.setAttribute("aria-expanded",!0),t.nodes.target.setAttribute("aria-hidden",!1),cm.addClass(t.nodes.toggle,"active"),cm.replaceClass(t.nodes.container,"is-hide","is-show"),e?t.afterExpand():(t.beforeExpand(),t.targetTransition?.reset?.(),t.targetTransition=cm.transition(t.nodes.target,{properties:{height:t.targetHeight+"px",opacity:1},easing:"ease-in-out",duration:t.params.duration,onStop:()=>t.afterExpand()})))},n.collapse=function(e){let t=this;!e&&t.isCollapsed||(t.isCollapsed=!0,t.triggerEvent("onHideStart"),t.params.remember&&t.storageWrite("isCollapsed",!0),t.params.toggleTitle&&t.setTitle(t.msg("show")),t.nodes.toggle.setAttribute("aria-expanded",!1),t.nodes.target.setAttribute("aria-hidden",!0),cm.removeClass(t.nodes.toggle,"active"),cm.replaceClass(t.nodes.container,"is-show","is-hide"),e?t.afterCollapse():(t.beforeCollapse(),t.targetTransition?.reset?.(),t.targetTransition=cm.transition(t.nodes.target,{properties:{height:"0px",opacity:0},easing:"ease-in-out",duration:t.params.duration,onStop:()=>t.afterCollapse()})))}}),cm.define("Com.Toolbar",{modules:["Params","Events","Langs","Structure","DataConfig","DataNodes","Stack"],events:["onRenderStart","onRender","onProcessEnd"],params:{node:cm.node("div"),container:null,name:"",embedStructure:"append",adaptive:!0,flex:!1,className:null,positions:["left","right"]}},function(e){var s=this;s.nodes={},s.groups={},s.items=[],s.isHidden=!0;s.clear=function(){return cm.forEach(s.groups,function(e){s.removeGroup(e)}),s.triggerEvent("onProcessEnd"),s},s.addGroup=function(e){return e=cm.merge({name:"",position:"left",hidden:!1,container:cm.node("ul",{class:"group"}),node:null,adaptive:!0,flex:!1,justify:null,title:null,items:{}},e),s.groups[e.name]||(e.node||(e.node=e.container),e.adaptive&&cm.addClass(e.container,"is-adaptive"),e.flex&&cm.addClass(e.container,"is-flex"),e.hidden&&cm.addClass(e.container,"is-
1hidden"),e.justify&&cm.addClass(e.container,["pull",e.justify].join("-")),cm.isEmpty(e.title)||e.container.setAttribute("aria-label",e.title),/left|center|right/.test(e.position)?cm.appendChild(e.container,s.nodes[e.position]):"justify"===e.position&&cm.appendChild(e.container,s.nodes.inner),s.groups[e.name]=e),s.triggerEvent("onProcessEnd"),s},s.removeGroup=function(e){e=cm.isObject(e)?e:s.getGroup(e);return e&&(cm.remove(e.container),delete s.groups[e.name]),s.triggerEvent("onProcessEnd"),s},s.getGroup=function(e){return s.groups[e]},s.showGroup=function(e){e=s.getGroup(e);return e&&(e.hidden=!1,cm.removeClass(e.container,"is-hidden")),s},s.hideGroup=function(e){e=s.getGroup(e);return e&&(e.hidden=!0,cm.addClass(e.container,"is-hidden")),s},s.isGroupEmpty=function(e){e=s.getGroup(e);return!e||0===cm.getLength(e.items)},s.toggleGroupVisibility=function(e){return s.isGroupEmpty(e)?s.hideGroup(e):s.showGroup(e),s},s.addField=function(t){var e;return t=cm.merge({name:"",hidden:!1,container:cm.node("li"),node:null,size:null,classes:[],group:null,constructor:!1,constructorParams:{}},t),(e=s.groups[t.group])&&!e.items[t.name]&&(t.size&&cm.addClass(t.container,t.size),t.classes&&cm.addClass(t.container,t.classes),t.hidden&&cm.addClass(t.container,"is-hidden"),t.constructor&&cm.getConstructor(t.constructor,function(e){t.controller=new e(cm.merge(t.constructorParams,{container:t.container}))}),cm.isNode(t.node)&&cm.appendChild(t.node,t.container),cm.appendChild(t.container,e.node),e.items[t.name]=t,s.items=cm.arrayAdd(s.items,t),s.toggleVisibility()),s.triggerEvent("onProcessEnd"),s},s.showField=function(e,t){e=s.getField(e,t);return e&&(e.hidden=!1,cm.removeClass(e.container,"is-hidden")),s},s.hideField=function(e,t){e=s.getField(e,t);return e&&(e.hidden=!0,cm.addClass(e.container,"is-hidden")),s},s.addButton=function(t){var e;return t=cm.merge({container:cm.node("li"),node:null,type:"primary",name:"",label:"",title:"",group:"",access:!0,disabled:!1,hidden:!1,tagName:"a",className:"",attr:{},preventDefault:!0,constructor:!1,constructorParams:{},callback:function(){}},t),e=s.groups[t.group],cm.isEmpty(t.name)&&(t.name=t.label),t.access&&e&&!e.items[t.name]&&(cm.isNode(t.node)||(t.node=cm.node(t.tagName,t.attr),cm.addClass(t.node,"button"),cm.addClass(t.node,["button",t.type].join("-")),cm.addClass(t.node,t.className),t.node.innerHTML=t.label,t.node.setAttribute("title",t.title),t.node.setAttribute("aria-label",t.title)),t.disabled&&cm.addClass(t.node,"button-disabled"),t.hidden&&cm.addClass(t.container,"is-hidden"),t.constructor?cm.getConstructor(t.constructor,function(e){t.controller=new e(cm.merge(t.constructorParams,{node:t.node}))}):cm.click.add(t.node,function(e){t.preventDefault&&cm.preventDefault(e),t.disabled||t.callback(e,t)}),cm.appendChild(t.node,t.container),cm.appendChild(t.container,e.node),e.items[t.name]=t,s.items=cm.arrayAdd(s.items,t),s.toggleVisibility()),s.triggerEvent("onProcessEnd"),s},s.enableButton=function(e,t){e=s.getButton(e,t);return e&&(e.disabled=!1,cm.removeClass(e.node,"button-disabled")),s},s.disableButton=function(e,t){e=s.getButton(e,t);return e&&(e.disabled=!0,cm.addClass(e.node,"button-disabled")),s},s.showButton=function(e,t){e=s.getButton(e,t);return e&&(e.hidden=!1,cm.removeClass(e.container,"is-hidden")),s},s.hideButton=function(e,t){e=s.getButton(e,t);return e&&(e.hidden=!0,cm.addClass(e.container,"is-hidden")),s},s.addLabel=function(e){var t;return e=cm.merge({container:cm.node("li",{class:"label"}),node:null,name:"",label:"",size:null,hidden:!1,group:null},e),(t=s.groups[e.group])&&!t.items[e.name]&&(e.node=cm.node("div",{innerHTML:e.label}),e.size&&cm.addClass(e.container,e.size),e.hidden&&cm.addClass(e.container,"is-hidden"),cm.isNode(e.node)&&cm.appendChild(e.node,e.container),cm.appendChild(e.container,t.node),t.items[e.name]=e,s.items=cm.arrayAdd(s.items,e),s.toggleVisibility()),s.triggerEvent("onProcessEnd"),s},s.getField=s.getButton=s.getLabel=function(e,t){var n,t=s.groups[t];return n=t?t.items[e]:n},s.removeField=s.removeButton=s.removeLabel=function(e,t){var n,a;return cm.isObject(e)?a=s.groups[(n=e).group]:(a=s.groups[t])&&(n=a.items[e]),n&&(cm.remove(n.container),delete a.items[n.name],s.items=cm.arrayRemove(s.items,n),s.toggleVisibility()),s.triggerEvent("onProcessEnd"),s},s.isEmpty=function(){return 0===s.items.length},s.hide=function(){return s.isHidden||(s.isHidden=!0,cm.addClass(s.nodes.container,"is-
1hidden")),s},s.show=function(){return s.isHidden&&(s.isHidden=!1,cm.removeClass(s.nodes.container,"is-hidden")),s},s.toggleVisibility=function(){return s.isEmpty()?s.hide():s.show(),s},s.getNodes=function(e){return s.nodes[e]||s.nodes},s.setParams(e),s.convertEvents(s.params.events),s.getDataNodes(s.params.node),s.getDataConfig(s.params.node),s.addToStack(s.params.node),s.triggerEvent("onRenderStart"),s.nodes.container=cm.node("div",{class:"com__toolbar is-hidden"},s.nodes.toolbar=cm.node("div",{class:"pt__toolbar"},s.nodes.inner=cm.node("div",{class:"inner"}))),cm.forEach(s.params.positions,function(e){s.nodes[e]=cm.node("div",{class:e}),cm.appendChild(s.nodes[e],s.nodes.inner)}),s.params.adaptive?cm.addClass(s.nodes.toolbar,"is-adaptive"):cm.addClass(s.nodes.toolbar,"is-not-adaptive"),s.params.flex&&cm.addClass(s.nodes.toolbar,"is-flex"),s.params.className&&cm.addClass(s.nodes.toolbar,s.params.className),s.embedStructure(s.nodes.container),s.addToStack(s.nodes.container),s.triggerEvent("onRender")}),cm.define("Com.Tooltip",{modules:["Params","Events","Langs","Stack"],events:["onValidateParams","onRender","onShowStart","onShow","onShowEnd","onHideStart","onHide","onHideEnd"],params:{customEvents:!0,controllerEvents:!1,name:"",title:"",titleTag:"h3",content:cm.node("div"),redrawContent:!0,container:"document.body",target:cm.node("div"),setTargetEvent:!0,setWindowEvent:!0,targetEvent:"hover",hideOnReClick:!1,hideOnSelfClick:!1,hideOnOut:!0,autoHide:!1,autoHideDelay:"cm._config.autoHideDelay",hold:!1,holdTarget:!1,preventDefault:!1,stopPropagation:!1,preventClickEvent:!1,positionTarget:!1,align:null,alignOffset:0,top:0,left:0,width:"auto",height:"auto",minWidth:0,scroll:"auto",duration:"cm._config.animDurationShort",delay:0,resizeInterval:5,disabled:!1,position:"absolute",className:"",theme:"theme-default",animate:!1,arrow:null,adaptive:!0,adaptiveX:!0,adaptiveY:!0,adaptiveFrom:null,adaptiveTop:null,adaptiveLeft:null,adaptiveWidth:null,adaptiveHeight:null,ariaRole:"tooltip",ariaId:null}},function(params){var that=this,init=(that.nodes={},that.container=null,that.animation=null,that.delayInterval=null,that.resizeInterval=null,that.autoHideInterval=null,that.lastWindowEvent=null,that.lastTargetEvent=null,that.isDestructed=!1,that.isHideProcess=!1,that.isShowProcess=!1,that.isShow=!1,that.isWindowEventSet=!1,that.disabled=!1,function(){that.windowEventHandler=windowEvent.bind(that),that.targetEventHandler=targetEvent.bind(that),that.destructHandler=that.destruct.bind(that),that.params.controllerEvents&&bindControllerEvents(),that.setParams(params),that.convertEvents(that.params.events),validateParams(),render(),that.addToStack(that.nodes.container),setMiscEvents(),setHoldTarget(),setTargetEvent(),that.triggerEvent("onRender")}),bindControllerEvents=function(){cm.forEach(that._raw.events,function(e){that[e]||(that[e]=function(){}),that[e+"Handler"]||(that[e+"Handler"]=that[e].bind(that)),that.addEvent(e,that[e+"Handler"])})},validateParams=function(){that.setContainer(that.params.container||that.params.holdTarget||that.params.target),cm.isArray(that.params.targetEvent)||(that.params.targetEvent=[that.params.targetEvent]),that.params.adaptive||(that.params.adaptiveX=!1,that.params.adaptiveY=!1),that.params.position=cm.inArray(["absolute","fixed"],that.params.position)?that.params.position:"absolute",that.validateAlignParams(),that.triggerEvent("onValidateParams")},render=function(){that.nodes.container=cm.node("div",{classes:"com__tooltip",role:that.params.ariaRole,id:that.params.ariaId,"aria-hidden":"true"},that.nodes.inner=cm.node("div",{classes:"inner"},that.nodes.content=cm.node("div",{classes:"scroll"}))),cm.isString(that.params.scroll)&&cm.addClass(that.nodes.content,["is",that.params.scroll].join("-")),that.nodes.container.style.position=that.params.position,cm.isEmpty(that.params.theme)||cm.addClass(that.nodes.container,that.params.theme),cm.isEmpty(that.params.animate)||cm.addClass(that.nodes.container,["animate",that.params.animate].join("--")),cm.isString(that.params.arrow)&&!cm.isEmpty(that.params.arrow)&&cm.addClass(that.nodes.container,["has-arrow","arrow--"+that.params.arrow]),cm.isEmpty(that.params.className)||cm.addClass(that.nodes.container,that.params.className),renderTitle(that.params.title),renderContent(that.params.content),that.params.disabled?that.disable():that.enable()},renderTitle=function(e){cm.remove(that.nodes.title),cm.isEmpty(e)||(that.nodes.title=cm.node("div",{classes:"title"},cm.node(that.params.titleTag,e)),cm.insertFirst(that.nodes.title,that.nodes.inner))},renderContent=function(e){cm.clearNode(that.nodes.content),e&&that.nodes.content.appendChild(e)},setMiscEvents=function(){that.animation=new cm.Animation(that.nodes.container),that.params.hideOnSelfClick&&cm.addEvent(that.nodes.container,"click",()=>that.hide()),that.params.customEvents&&cm.customEvent.add(that.getStackNode(),"destruct",that.destructHandler)},setHoldTarget=function(){var e;that.isShow||(that.nodes.container.style.display="none",that.params.hold?(e=that.params.holdTarget||that.params.target,cm.appendChild(that.nodes.container,e)):cm.remove(that.nodes.container))},targetEvent=function(e){that.lastTargetEvent=e,that.params.preventDefault&&cm.preventDefault(e),that.params.stopPropagation&&cm.stopPropagation(e),cm.inArray(that.params.targetEvent,"click")&&that.params.preventClickEvent&&cm.preventDefault(e),(that.isShow&&cm.inArray(that.params.targetEvent,"click")&&that.params.hideOnReClick?hide:show)()},setTargetEvent=function(){that.params.setTargetEvent&&(cm.inArray(that.params.targetEvent,"hover")&&cm.addEvent(that.params.target,"mouseenter",that.targetEventHandler),cm.inArray(that.params.targetEvent,"click"))&&cm.click.add(that.params.target,that.targetEventHandler,!0)},removeTargetEvent=function(){that.params.setTargetEvent&&(cm.inArray(that.params.targetEvent,"hover")&&cm.removeEvent(that.params.target,"mouseenter",that.targetEventHandler),cm.inArray(that.params.targetEvent,"click"))&&cm.click.remove(that.params.target,that.targetEventHandler,!0)},windowEvent=function(e){that.lastWindowEvent=e;e=cm.getEventTarget(e);cm.isParent(that.nodes.container,e,!0)||cm.isParent(that.params.target,e,!0)?show(!0):hide(!1)},setWindowEvent=function(){that.params.hideOnOut&&!that.isWindowEventSet&&(that.isWindowEventSet=!0,that.lastWindowEvent=null,that.params.setWindowEvent)&&(cm.inArray(that.params.targetEvent,"hover")&&cm.addEvent(window,"mousemove",that.windowEventHandler),cm.inArray(that.params.targetEvent,"click"))&&cm.addEvent(window,"pointerdown",that.windowEventHandler)},removeWindowEvent=function(){that.params.hideOnOut&&that.isWindowEventSet&&(that.isWindowEventSet=!1,that.lastWindowEvent=null,that.params.setWindowEvent)&&(cm.inArray(that.params.targetEvent,"hover")&&cm.removeEvent(window,"mousemove",that.windowEventHandler),cm.inArray(that.params.targetEvent,"click"))&&cm.removeEvent(window,"pointerdown",that.windowEventHandler)},show=function(e){that.disabled||((that.isShow||that.isShowProcess)&&
1!that.isHideProcess||(that.isShowProcess=!0,setWindowEvent(),clearDelayInterval(),clearAutoHideInterval(),e?showHandler(e):that.params.delay&&!that.isHideProcess?that.delayInterval=setTimeout(showHandler,that.params.delay):showHandler()),that.isShow&&!that.isShowProcess&&autoHideHandler())},showHandler=function(e){that.container.appendChild(that.nodes.container),that.nodes.container.style.display="block",that.nodes.container.setAttribute("aria-hidden","false"),resizeHelper(),that.triggerEvent("onShowStart"),that.params.redrawContent&&that.redrawContent(),cm.replaceClass(that.nodes.container,"id-hide","is-show",!0),e||!that.params.duration?showHandlerEnd():(that.animation.stop(),that.animation.go({style:{opacity:1},duration:that.params.duration,anim:"smooth",onStop:showHandlerEnd}))},showHandlerEnd=function(){that.nodes.container.style.opacity=1,that.isShow=!0,that.isShowProcess=!1,that.isHideProcess=!1,autoHideHandler(),that.triggerEvent("onShow"),that.triggerEvent("onShowEnd")},hide=function(e){that.disabled||!that.isShow&&!that.isShowProcess||that.isHideProcess||(that.isHideProcess=!0,clearDelayInterval(),clearAutoHideInterval(),e?hideHandler(e):that.params.delay&&!that.isShowProcess?that.delayInterval=setTimeout(hideHandler,that.params.delay):hideHandler(!1))},hideHandler=function(e){that.triggerEvent("onHideStart"),that.nodes.container.setAttribute("aria-hidden","false"),cm.replaceClass(that.nodes.container,"is-show","id-hide",!0),e||!that.params.duration?hideHandlerEnd():that.animation.go({style:{opacity:0},duration:that.params.duration,anim:"smooth",onStop:hideHandlerEnd})},hideHandlerEnd=function(){that.isShow=!1,that.isShowProcess=!1,that.isHideProcess=!1,clearResizeInterval(),removeWindowEvent(),setHoldTarget(),that.triggerEvent("onHide"),that.triggerEvent("onHideEnd")},autoHideHandler=function(){that.params.autoHide&&(clearAutoHideInterval(),that.autoHideInterval=setTimeout(hide,that.params.autoHideDelay))},resizeHelper=function(){resize(),clearResizeInterval(),that.resizeInterval=setTimeout(resizeHelper,that.params.resizeInterval)},resize=function(){var target=that.params.positionTarget||that.params.target;if(target.checkVisibility&&!target.checkVisibility({contentVisibilityAuto:!0}))return hide(!0);var targetWidth=target.offsetWidth,targetHeight=target.offsetHeight,selfHeight=that.nodes.container.offsetHeight,selfWidth=that.nodes.container.offsetWidth,pageSize=cm.getPageSize(),screenWidth=pageSize.winWidth,screenHeight=pageSize.winHeight,scrollTop=cm.getScrollTop(window),scrollLeft=cm.getScrollLeft(window),paramsTop=that.params.top,paramsLeft=that.params.left,paramsWidth=that.params.width,paramsHeight=that.params.height;!cm.isEmpty(that.params.adaptiveFrom)&&that.params.adaptiveFrom>=screenWidth&&(paramsTop=cm.isEmpty(that.params.adaptiveTop)?paramsTop:that.params.adaptiveTop,paramsLeft=cm.isEmpty(that.params.adaptiveLeft)?paramsLeft:that.params.adaptiveLeft,paramsWidth=cm.isEmpty(that.params.adaptiveWidth)?paramsWidth:that.params.adaptiveWidth,paramsHeight=cm.isEmpty(that.params.adaptiveHeight)?paramsHeight:that.params.adaptiveHeight),!function(){var width=0,height=0,minWidth=0;"auto"!==that.params.minWidth&&(minWidth=eval(that.params.minWidth.toString().replace("targetWidth",targetWidth).replace("screenWidth",screenWidth).replace("selfWidth",selfWidth)),minWidth=Math.min(screenWidth,minWidth),that.nodes.container.style.minWidth=[minWidth,"px"].join("")),"auto"!==paramsWidth&&(width=eval(paramsWidth.toString().replace("targetWidth",targetWidth).replace("screenWidth",screenWidth).replace("selfWidth",selfWidth)),width=Math.max(minWidth,width),width=Math.min(screenWidth,width),width!==selfWidth)&&(that.nodes.container.style.width=[width,"px"].join("")),"auto"!==paramsHeight&&(height=eval(paramsHeight.toString().replace("targetHeight",targetHeight).replace("screenHeight",screenHeight).replace("selfHeight",selfHeight)),height=Math.min(screenHeight,height),that.nodes.content.style.maxHeight=[height,"px"].join("")),selfWidth=that.nodes.container.offsetWidth,selfHeight=that.nodes.container.offsetHeight}(),!function(){var top=cm.getRealY(target),topAdd=eval(paramsTop.toString().replace("targetHeight",targetHeight).replace("screenHeight",screenHeight).replace("selfHe
1ight",selfHeight)),left=cm.getRealX(target),leftAdd=eval(paramsLeft.toString().replace("targetWidth",targetWidth).replace("screenWidth",screenWidth).replace("selfWidth",selfWidth)),positionTop,positionLeft,positionTop=that.params.adaptiveY?Math.max(Math.min(screenHeight<top+topAdd+selfHeight?top-topAdd-selfHeight+targetHeight:top+topAdd,screenHeight-selfHeight),0):top+topAdd,positionLeft=that.params.adaptiveX?Math.max(Math.min(screenWidth<left+leftAdd+selfWidth?left-leftAdd-selfWidth+targetWidth:left+leftAdd,screenWidth-selfWidth),0):left+leftAdd;"absolute"===that.params.position&&(that.container===document.body?(positionTop+=scrollTop,positionLeft+=scrollLeft):(positionTop-=cm.getRealY(that.container),positionLeft-=cm.getRealX(that.container))),positionTop=Math.round(positionTop),positionLeft=Math.round(positionLeft),positionTop!==that.nodes.container.offsetTop&&(that.nodes.container.style.top=[positionTop,"px"].join("")),positionLeft!==that.nodes.container.offsetLeft&&(that.nodes.container.style.left=[positionLeft,"px"].join(""))}()},clearResizeInterval=function(){that.resizeInterval&&clearTimeout(that.resizeInterval),that.resizeInterval=null},clearDelayInterval=function(){that.delayInterval&&clearTimeout(that.delayInterval),that.delayInterval=null},clearAutoHideInterval=function(){that.autoHideInterval&&clearTimeout(that.autoHideInterval),that.autoHideInterval=null};that.setTitle=function(e){return renderTitle(e),that},that.setContent=function(e){return renderContent(e),that},that.redrawContent=function(){return cm.customEvent.trigger(that.nodes.content,"redraw",{direction:"child",self:!1}),that},that.setTarget=function(e){return removeTargetEvent(),that.params.target=e||cm.node("div"),that.params.container||that.setContainer(that.params.holdTarget||that.params.target),setHoldTarget(),setTargetEvent(),that},that.setContainer=function(e){return cm.isNode(e)&&(that.container=e),that},that.getLastTargetEvent=function(){return this.lastTargetEvent},that.show=function(e){return show(e),that},that.hide=function(e){return hide(e),that},that.disable=function(){return that.disabled=!0,that},that.enable=function(){return that.disabled=!1,that},that.focus=function(){return that.nodes.container.focus(),that},that.scrollToNode=function(e){return cm.isNode(e)&&cm.isParent(that.nodes.content,e)&&(that.nodes.content.scrollTop=e.offsetTop-that.nodes.content.offsetTop),that},that.isOwnNode=function(e){return cm.isParent(that.nodes.container,e,!0)},that.isOwnEventTarget=function(){var e;if(that.lastWindowEvent)return e=cm.getEventTarget(that.lastWindowEvent),cm.isParent(that.nodes.container,e,!0)},that.remove=function(){return hide(!0),removeTargetEvent(),that},that.destruct=function(){return that.isDestructed||(that.isDestructed=!0,cm.customEvent.trigger(that.getStackNode(),"destruct",{direction:"child",self:!1}),cm.customEvent.remove(that.getStackNode(),"destruct",that.destructHandler),that.removeFromStack(),that.remove()),that},that.getNodes=function(e){return that.nodes[e]||that.nodes},init()}),cm.getConstructor("Com.Tooltip",function(e,t,n,a){n.validateAlignParams=function(){var e=this;switch(e.params.align){case"topLeft":e.params.top="0",e.params.left="0";break;case"topCenter":e.params.top="0",e.params.left="(targetWidth - selfWidth) / 2";break;case"topRight":e.params.top="0",e.params.left="targetWidth - selfWidth";break;case"underTopLeft":e.params.top="targetHeight + "+e.params.alignOffset,e.params.left="0";break;case"underTopCenter":e.params.top="targetHeight + "+e.params.alignOffset,e.params.left="(targetWidth - selfWidth) / 2";break;case"underTopRight":e.params.top="targetHeight + "+e.params.alignOffset,e.params.left="targetWidth - selfWidth"}}}),Com.UA={hash:{ie:"MSIE",edge:"Edge",opera:"Opera",ff:"Firefox",firefox:"Firefox",webkit:"AppleWebKit",safari:"Safari",chrome:"Chrome",steam:"Steam"},fullname:{Edge:"Microsoft Edge",MSIE:"Microsoft Internet Explorer",Firefox:"Mozilla Firefox",Chrome:"Google Chrome",Safari:"Apple Safari",Opera:"Opera","Opera Mini":"Opera Mini","Opera Mobile":"Opera Mobile","IE Mobile":"Internet Explorer Mobile",
1Steam:"Valve Steam Game Overlay"},os:{Windows:{"NT 5.0":"2000","NT 5.1":"XP","NT 5.2":"Server 2003","NT 6.0":"Vista","NT 6.1":"7","NT 6.2":"8","NT 6.3":"8.1","NT 10.0":"10"},"Mac OSX":{"10.0":"Cheetah",10.1:"Puma",10.2:"Jaguar",10.3:"Panther",10.4:"Tiger",10.5:"Leopard",10.6:"Snow Leopard",10.7:"Lion",10.8:"Mountain Lion",10.9:"Mavericks","10.10":"Yosemite",10.11:"El Capitan"}},str:navigator.userAgent,get:function(e){var t,n={};return-1<(e=e||this.str).indexOf("IEMobile")?(n.browser="IE Mobile",n.hash="ie-mobile",n.engine="Trident",n.type="mobile",n.full_version=e.replace(/^(?:.+)(?:IEMobile)(?:[\s\/]{0,})([0-9\.]{1,})(?:.+)$/,"$1"),t=n.full_version.toString().split("."),n.version=t[0]+(t[1]?"."+t[1].slice(0,1):""),n.short_version=t[0]):-1<e.indexOf("MSIE")||-1<e.indexOf("Trident")?(n.browser="MSIE",n.hash="ie",n.engine="Trident",-1<e.indexOf("MSIE")?n.full_version=e.replace(/^(?:.+)(?:MSIE)(?:[\s\/]{0,})([0-9\.]{1,})(?:.+)$/,"$1"):n.full_version=e.replace(/^(?:.+)(?:rv:)(?:[\s\/]{0,})([0-9\.]{1,})(?:.+)$/,"$1"),t=n.full_version.toString().split("."),n.version=t[0]+(t[1]?"."+t[1].slice(0,1):""),n.short_version=t[0]):-1<e.indexOf("Opera Mobi")?(n.browser="Opera Mobile",n.hash="opera-mobile",n.engine="Presto",n.type="mobile",n.version=n.full_version=-1<e.indexOf("Version")?e.replace(/^(?:.+)(?:Version\/)([0-9\.]{1,})$/,"$1"):"",n.short_version=n.version.split(".")[0]):-1<e.indexOf("Opera Mini")?(n.browser="Opera Mini",n.hash="opera-mini",n.engine="Presto",n.type="mobile",n.full_version=e.replace(/^(?:.+)(?:Opera Mini\/)([0-9\.]{0,})(?:.+)$/,"$1"),t=n.full_version.toString().split("."),n.version=t[0]+(t[1]?"."+t[1].slice(0,1):""),n.short_version=t[0]):-1<e.indexOf("Opera")?(n.browser="Opera",n.hash="opera",n.engine="Presto",n.version=n.full_version=-1<e.indexOf("Version")?e.replace(/^(?:.+)(?:Version\/)([0-9\.]{0,})(?:.{0,})$/,"$1"):e.replace(/^(?:Opera\/)([0-9\.]{1,})\s(?:.+)$/,"$1"),n.short_version=n.version.split(".")[0]):-1<e.indexOf("OPR")?(n.browser="Opera",n.hash="opera",n.engine="Blink",n.full_version=e.replace(/^(?:.+)(?:OPR\/)([0-9\.]{1,})(?:.+)$/,"$1"),t=n.full_version.toString().split("."),n.version=t[0]+(t[1]?"."+t[1]:""),n.short_version=t[0]):-1<e.indexOf("Fennec")?(n.browser="Fennec",n.hash="fennec",n.engine="Gecko",n.type="mobile",n.full_version=e.replace(/^(?:.+)(?:Fennec)(?:[\/]{0,})([0-9\.]{0,})(?:.{0,})$/,"$1"),t=n.full_version.toString().split("."),n.version=t[0]+(t[1]?"."+t[1]:""),n.short_version=t[0]):-1<e.indexOf("Firefox")?(n.browser="Firefox",n.hash="firefox",n.engine="Gecko",n.full_version=e.replace(/^(?:.+)(?:Firefox)(?:[\/]{0,})([0-9\.]{0,})(?:.{0,})$/,"$1"),t=n.full_version.toString().split("."),n.version=t[0]+(t[1]?"."+t[1]:""),n.short_version=t[0]):-1<e.indexOf("Edge")?(n.browser="Edge",n.hash="edge",n.engine="EdgeHTML",n.full_version=e.replace(/^(?:.+)(?:Edge)(?:[\/]{0,})([0-9\.]{0,})(?:.{0,})$/,"$1"),t=n.full_version.toString().split("."),n.version=t[0]+(t[1]?"."+t[1]:""),n.short_version=t[0]):-1<e.indexOf("Valve Steam GameOverlay")?(n.browser="Steam",n.hash="steam",n.engine="Blink",n.full_version=e.replace(/^(?:.+)(?:Chrome\/)([0-9\.]{1,})(?:.+)$/,"$1"),t=n.full_version.toString().split("."),n.version=t[0]+(t[1]?"."+t[1]:""),n.short_version=t[0]):-1<e.indexOf("Chrome")?(n.browser="Chrome",n.hash="chrome",n.engine="Blink",n.full_version=e.replace(/^(?:.+)(?:Chrome\/)([0-9\.]{1,})(?:.+)$/,"$1"),t=n.full_version.toString().split("."),n.version=t[0]+(t[1]?"."+t[1]:""),n.short_version=t[0]):-1<e.indexOf("Safari")?(n.browser="Safari",n.hash="safari",n.engine="AppleWebKit",n.full_version=-1<e.indexOf("Version")?e.replace(/^(?:.+)(?:Version\/)([0-9\.]{1,})(?:.+)$/,"$1"):"2",t=n.full_version.toString().split("."),n.version=t[0]+(t[1]?"."+t[1]:""),n.short_version=t[0]):n.version=n.browser="unknown",n.full_name=this.fullname[n.browser]||"unknown",n.browser_name=n.full_name+(0<n.version.length&&"unknown"!=n.version?" "+n.version:""),n.engine||(-1<e.indexOf("AppleWebKit")?n.engine="AppleWebKit":-1<e.indexOf("Trident")?n.engine="Trident":-1<e.indexOf("Gecko")?n.engine="Gecko":n.engine="unknown"),-1<e.indexOf("Windows Phone")?(n.os="Windows Phone",n.os_type="mobile",n.os_version=e.replace(/^(?:.+)(?:Windows Phone)(?:[\s]{0,1})([a-zA-Z\s0-9\.]{0,})(?:.+)$/,"$1")):-1<e.indexOf("Windows Phone OS")?(n.os="Windows Phone OS",n.os_type="mobile",n.os_version=e.replace(/^(?:.+)(?:Windows Phone OS)(?:[\s]{0,1})([a-zA-Z\s0-9\.]{0,})(?:.+)$/,"$1")):-1<e.indexOf("Windows CE")?(n.os="Windows Mobile",n.os_type="mobile",n.os_version=""):-1<e.indexOf("Windows")?(n.os="Windows",n.os_version=e.replace(/^(?:.+)(?:Windows)(?:[\s]{0,1})([a-zA-Z\s0-9\.]{0,})(?:.+)$/,"$1")):-1<e.indexOf("Android")?(n.os="Android",n.os_type="mobile",n.os_version=e.replace(/^(?:.+)(?:Android)(?:[\s]{0,})([0-9\.]{0,})(?:.+)$/,"$1")):-1<e.indexOf("Linux")?(n.os="Linux",n.os_version=e.replace(/^(?:.+)(?:Linux)(?:[\s]{0,1})([a-zA-Z0-9\.\s_]{0,})(?:.+)$/,"$1")):-1<e.indexOf("iPhone")?(n.device="iPhone",n.device_name="Apple iPhone",n.os="iOS",n.os_type="mobile",n.os_version=e.replace(/^(?:.+)(?:CPU[ iPhone]{0,} OS )([a-zA-Z0-9\._]{0,})(?:.+)$/,"$1").replace(/_/gi,".")):-1<e.indexOf("iPad")?(n.device="iPad",n.device_name="Apple iPad",n.os="iOS",n.os_type="mobile",n.os_version=e.replace(/^(?:.+)(?:CPU[ iPhone]{0,} OS )([a-zA-Z0-9\._]{0,})(?:.+)$/,"$1").replace(/_/gi,".")):-1<e.indexOf("iPod")?(n.device="iPod",n.device_name="Apple iPod",n.os="iOS",n.os_type="mobile",n.os_version=e.replace(/^(?:.+)(?:CPU[ iPhone]{0,} OS )([a-zA-Z0-9\._]{0,})(?:.+)$/,"$1").replace(/_/gi,".")):-1<e.indexOf("Macintosh")?navigator.xr?.isSessionSupported("immersive-vr")?(n.device="Vision Pro",n.device_name="Apple Vision Pro",n.os="iOS",n.os_type="mobile",n.os_version=e.replace(/^(?:.+)(?:Version\/)([0-9\.]{1,})(?:.+)$/,"$1").replace(/_/gi,".")):-1<e.indexOf("Mac OS X")?(n.os="macOS",n.os_version=e.replace(/^(?:.+)(?:Mac OS X)(?:[\s]{0,1})([a-zA-Z0-9\.\s_]{0,})(?:.+)$/,"$1").replace(/_/gi,".")):(n.os="Mac OS",n.os_version="Classic"):-1<e.indexOf("BlackBerry")?(n.os="BlackBerry",n.os_type="mobile",n.os_version=e.replace(/^(?:.{0,})(?:BlackBerry)(?:[\s]{0,})([0-9\.]{0,})(?:.+)$/,"$1")):-1<e.indexOf("FreeBSD")?(n.os="FreeBSD",n.os_version=e.replace(/^(?:.+)(?:FreeBSD )([a-zA-Z0-9\.\s_]{0,})(?:.+)$/,"$1")):-1<e.indexOf("NetBSD")?(n.os="NetBSD",n.os_version=e.replace(/^(?:.+)(?:NetBSD )([a-zA-Z0-9\.\s_]{0,})(?:.+)$/,"$1")):-1<e.indexOf("OpenBSD")?(n.os="OpenBSD",n.os_version=e.replace(/^(?:.+)(?:OpenBSD )([a-zA-Z0-9\.\s_]{0,})(?:.+)$/,"$1")):-1<e.indexOf("SunOS")?(n.os="SunOS",n.os_version=e.replace(/^(?:.+)(?:SunOS )([a-zA-Z0-9\.\s_]{0,})(?:.+)$/,"$1")):n.os=n.os_version="unknown",n.os_name||("unknown"!=n.os?(t=this.os[n.os],n.os_name=n.os+(0<n.os_version.length&&"unknown"!=n.os_version?" "+(t&&t[n.os_version]?t[n.os_version]:n.os_version):"")):n.os_name="unknown"),n},setBrowserClass:function(){var e=Com.UA.get();let t=[];e.browser&&t.push(e.browser.toLowerCase()),e.os&&t.push(e.os.toLowerCase()),e.device&&t.push(e.device.toLowerCase()),t=t.map(e=>e.replace(/\s/g,"-").trim()),cm.addClass(cm.getDocumentHtml(),t)},setEngineClass:function(){cm.errorLog({type:"error",name:"Com.UA.setEngineClass",message:"Deprecated!"})},is:function(e){var t=e.replace(/[^0-9\.\,]/g,""),e=this.hash[e.replace(/[0-9\.\,\s]/g,"").toLowerCase()],n=this.get();return!(e!=n.browser||t&&0<t.length&&parseFloat(t)!=parseFloat(n.version))},isVersion:function(){var e=this.get();return parseFloat(e.version)},isMobile:function(){return"mobile"==this.get().os_type}},function(e){return cm.log('Warning. Method "is()" is deprecated. Please use "Com.UA.is()"'),Com.UA.is(e)}),isVersion=function(){return cm.log('Warning. Method "isVersion()" is deprecated. Please use "Com.UA.isVersion()"'),Com.UA.isVersion()};function iosPWASplash(e,r="white"){if("string"!=typeof e||0===e.length)throw new Error("Invalid icon URL provided");let i=screen.width,c=screen.height,l=window.devicePixelRatio||1,d=document.createElement("canvas"),m=document.createElement("canvas"),p=d.getContext("2d"),u=m.getContext("2d"),h=new Image;h.onerror=function(){throw new Error("Failed to load icon image")},h.src=e,h.onload=function(){var e=h.width/(3/l),t=h.height/(3/l),n=(d.width=i*l,m.height=d.width,d.height=c*l,m.width=d.height,p.fillStyle=r,u.fillStyle=r,p.fillRect(0,0,d.width,d.height),u.fillRect(0,0,m.width,m.height),(d.width-e)/2),a=(d.height-t)/2,s=(m.width-e)/2,o=(m.height-t)/2,n=(p.drawImage(h,n,a,e,t),u.drawImage(h,s,o,e,t),d.toDataURL("image/png")),a=m.toDataURL("image/png"),s=document.createElement("link"),o=(s.setAttribute("rel","apple-touch-startup-image"),s.setAttribute("media","screen and (orientation: portrait)"),s.setAttribute("href",n),document.head.appendChild(s),document.createElement("link"));o.setAttribute("rel","apple-touch-startup-image"),o.setAttribute("media","screen and (orientation: landscape)"),o.setAttribute("href",a),document.head.appendChild(o)}}cm.define("Com.Zoom",{modules:["Params","Events","DataConfig","Stack"],events:["onRender","onOpenStart","onOpen","onClose","onCloseStart"],params:{node:cm.node("div"),container:"document.body",name:"",src:"",duration:"cm._
1config.animDuration",autoOpen:!0,removeOnClose:!0,documentScroll:!1}},function(e){function t(e){27==(e=cm.getEvent(e)).keyCode&&c.close()}function n(){l(),d()}function a(){d()}var s,o,r,i,c=this,l=(c.isOpen=!1,c.isLoad=!1,c.nodes={},function(){s=cm.getRect(c.nodes.image),o=cm.getRect(c.nodes.inner),r=(s.width-o.width)/o.width,i=(s.height-o.height)/o.height}),d=function(){var e,t;c.isLoad&&(e=-cm._clientPosition.left*r,t=-cm._clientPosition.top*i,cm.setCSSTranslate(c.nodes.image,[e,"px"].join(""),[t,"px"].join("")))};c.set=function(e){return c.isLoad=!1,c.params.src=e,c},c.open=function(){return c.isOpen||(c.isOpen=!0,cm.addEvent(window,"mousemove",a),cm.addEvent(window,"resize",n),cm.addEvent(window,"keydown",t),c.params.documentScroll||cm.bodyScroll.add(c.nodes.container),c.nodes.container.style.display="block",cm.inDOM(c.nodes.container)||c.params.container.appendChild(c.nodes.container),c.nodes.image=cm.node("img"),cm.addEvent(c.nodes.image,"load",function(){c.isLoad=!0,l(),d()}),c.nodes.image.src=c.params.src,c.nodes.inner.appendChild(c.nodes.image),cm.transition(c.nodes.container,{properties:{opacity:1},duration:c.params.duration,easing:"ease-in-out",onStop:function(){c.triggerEvent("onOpen")}}),c.triggerEvent("onOpenStart")),c},c.close=function(){return c.isOpen&&(c.isOpen=!1,cm.removeEvent(window,"mousemove",a),cm.removeEvent(window,"resize",n),cm.removeEvent(window,"keydown",t),c.params.documentScroll||cm.bodyScroll.remove(c.nodes.container),cm.transition(c.nodes.container,{properties:{opacity:0},duration:c.params.duration,easing:"ease-in-out",onStop:function(){c.nodes.container.style.display="none",c.params.removeOnClose&&cm.remove(c.nodes.container),cm.remove(c.nodes.image),c.triggerEvent("onClose")}}),c.triggerEvent("onCloseStart")),c},c.setParams(e),c.convertEvents(c.params.events),c.getDataConfig(c.params.node),c.nodes.container=cm.node("div",{class:"com__zoom"},c.nodes.inner=cm.node("div",{class:"inner"})),cm.addEvent(c.nodes.container,"click",c.close),c.addToStack(c.nodes.container),c.triggerEvent("onRender"),c.params.autoOpen&&c.open()}),cm.define("Com.MultipleInput",{extend:"Com.AbstractController",events:["onSet","onSelect","onChange","onClear","onDisable","onEnable","onItemAddStart","onItemAddProcess","onItemAddEnd","onItemAdd","onItemRemoveStart","onItemRemoveProcess","onItemRemoveEnd","onItemRemove","onItemSortStart","onItemSortProcess","onItemSortEnd"],params:{embedStructure:"replace",className:"com__multiple-input",value:[],defaultValue:[],max:0,sortable:!1,showControls:!0,showToolbar:!1,showList:!0,focusInput:!1,duration:"cm._config.animDurationShort",inputConstructor:"Com.AbstractInput",inputParams:{},multiFieldConstructor:"Com.MultiField",multiFieldParams:{embedStructure:"first",renderStructure:!0,embedStructureOnRender:!0,template:!1,templateAttributeReplace:!1}}},function(e){Com.AbstractController.apply(this,arguments)}),cm.getConstructor("Com.MultipleInput",function(e,t,n,a){n.construct=function(e){var t=this;t.nodes={},t.components={},t.items=[],t.isToolbarVisible=!0,t.setHandler=t.set.bind(t),t.getHandler=t.get.bind(t),t.clearHandler=t.clear.bind(t),t.enableHandler=t.enable.bind(t),t.disableHandler=t.disable.bind(t),t.addItemHandler=t.addItem.bind(t),t.removeItemHandler=t.removeItem.bind(t),t.constructProcessHandler=t.constructProcess.bind(t),t.addEvent("onConstructProcess",t.constructProcessHandler),a.prototype.construct.apply(t,arguments)},n.constructProcess=function(){var t=this;cm.forEach(t.nodes.inputs,function(e){t.addItem({input:e.input},{triggerEvents:!1,immediately:!0})}),cm.isArray(t.params.value)&&cm.forEach(t.params.value,function(e){t.addItem({value:e},{triggerEvents:!1,immediately:!0})})},n.validateParams=function(){a.prototype.validateParams.apply(this,arguments),this.params.multiFieldParams.max=this.params.max,this.params.multiFieldParams.sortable=this.params.sortable,this.params.multiFieldParams.showControls=this.params.showControls,this.params.multiFieldParams.showList=this.params.showList},n.renderView=function(){var e=this;e.triggerEvent("onRenderViewStart"),e.nodes.container=cm.node("div",{class:"com__multiple-input"},e.nodes.inner=cm.node("div",{class:"inner"},e.nodes.holder=cm.node("div",{class:"com__multiple-input__holder"}))),e.params.showToolbar&&(e.nodes.toolbarContainer=e.renderToolbarView(),cm.appendChild(e.nodes.toolbarContainer,e.nodes.holder)),e.triggerEvent("onRenderViewProcess"),e.triggerEvent("onRenderViewEnd")},n.renderToolbarView=function(){var e={};return e.container=cm.node("div",{class:"com__multiple-input__toolbar"}),(this.nodes.toolbar=e).container},n.renderViewModel=function(){a.prototype.renderViewModel.apply(this,arguments),this.renderMultiField()},n.renderMultiField=function(){var t=this;return cm.getConstructor(t.params.multiFieldConstructor,function(e){t.components.multiField=new e(cm.merge(t.params.multiFieldParams,{container:t.nodes.holder})),t.renderMultiFieldEvents()}),t},n.renderMultiFieldEvents=function(){var a=this;return a.components.multiField.addEvent("onItemAdd",function(e,t){a.addItemProcess({},t,{triggerEvents:!0})}),a.components.multiField.addEvent("onItemRemove",function(e,t){var n=t.index,n=a.items[n];a.removeItemProcess(n,t,{triggerEvents:!0})}),a.components.multiField.addEvent("onItemSort",function(e,t){var n=t.previousIndex,n=a.items[n];a.sortItemProcess(n,t,{triggerEvents:!0})}),a},n.renderInputView=function(e){return e.input=cm.node("input",{type:"text"}),e.input},n.addItem=function(t,n){var a=this;return n=cm.merge({triggerEvents:!0,immediately:!1},n),(!a.params.max||a.items.length<a.params.max)&&a.components.multiField.addItem({},{triggerEvents:!1,immediately:n.immediately,callback:function(e){a.addItemProcess(t,e,n)}}),null},n.addItemProcess=function(t,e,n){var a=this;n=cm.merge({triggerEvents:!0,immediately:!1},n),(t=cm.merge({input:null,container:null,name:a.params.name,value:"",constructor:a.params.inputConstructor,nodes:{}},t)).field=e,t.container=t.field.content,a.items.push(t),a.triggerEvent("onItemAddStart",t),t.input||(t.input=a.renderInputView(t)),cm.appendChild(t.input,t.container),cm.getConstructor(t.constructor,function(e){t.controller=new e(cm.merge(a.params.inputParams,{node:t.input,name:t.name,value:t.value})),a.triggerEvent("onItemAddProcess",t),a.params.focusInput&&t.controller.focus&&t.controller.focus(),n.triggerEvents&&(a.triggerEvent("onSelect"),a.triggerEvent("onSet"),a.triggerEvent("onChange"))}),a.toggleToolbarVisibility(),a.triggerEvent("onItemAddEnd",t),a.triggerEvent("onItemAdd",t)},n.removeItem=function(t,n){var a=this;return n=cm.merge({triggerEvents:!0,immediately:!1},n),a.components.multiField.removeItem(t.field,{triggerEvents:!1,immediately:n.immediately,callback:function(e){a.removeItemProcess(t,e,n)}}),a},n.removeItemProcess=function(e,t,n){var a=this;n=cm.merge({triggerEvents:!0,immediately:!1},n),a.triggerEvent("onItemRemoveStart",e),a.items=cm.arrayRemove(a.items,e),a.triggerEvent("onItemRemoveProcess",e),e.controller&&e.controller.destruct(),a.triggerEvent("onItemRemoveEnd",e),a.triggerEvent("onItemRemove",e),a.toggleToolbarVisibility(),n.triggerEvents&&(a.triggerEvent("onSelect"),a.triggerEvent("onSet"),a.triggerEvent("onChange"))},n.sortItemProcess=function(e,t,n){t=t.index;n=cm.merge({triggerEvents:!0,immediately:!1},n),this.triggerEvent("onItemSortStart",e),this.triggerEvent("onItemSortProcess",e),this.items.splice(this.items.indexOf(e),1),this.items.splice(t,0,e),n.triggerEvents&&this.triggerEvent("onItemSortEnd",e)},n.toggleToolbarVisibility=function(){return this.params.showToolbar&&(0<this.params.max&&this.items.length===this.params.max?this.hideToolbar():this.showToolbar()),this},n.showToolbar=function(){var e,t=this;return t.isToolbarVisible||(t.isToolbarVisible=!0,t.nodes.toolbarContainer.style.height="",e=t.nodes.toolbarContainer.offsetHeight,t.nodes.toolbarContainer.style.height="0px",t.nodes.toolbarContainer.style.overflow="hidden",cm.transition(t.nodes.toolbarContainer,{properties:{height:e+"px",opacity:1},duration:t.params.duration,easing:"ease-in-out",clear:!0,onStop:function(){t.nodes.toolbarContainer.style.overflow="",t.nodes.toolbarContainer.style.height=""}})),t},n.hideToolbar=function(){return this.isToolbarVisible&&(this.isToolbarVisible=!1,this.nodes.toolbarContainer.style.overflow="hidden",cm.transition(this.nodes.toolbarContainer,{properties:{height:"0px",opacity:0}
1,duration:this.params.duration,easing:"ease-in-out"})),this},n.set=function(e,t){var n=this;for(t=!!cm.isUndefined(t)||t;n.items.length;)n.removeItem(n.items[0],{triggerEvents:!1,immediately:!0});return cm.forEach(e,function(e){n.addItem({value:e},{triggerEvents:!1,immediately:!0})}),t&&(n.triggerEvent("onSelect"),n.triggerEvent("onSet"),n.triggerEvent("onChange")),n},n.get=function(){var t,n=[];return cm.forEach(this.items,function(e){t=e.controller&&e.controller.get?e.controller.get():null,cm.isEmpty(t)||n.push(t)}),n},n.clear=function(e){return(e=!!cm.isUndefined(e)||e)&&this.triggerEvent("onClear"),this.set(this.params.defaultValue,e),this},n.enable=function(){return this.disabled||(this.disabled=!1,cm.removeClass(this.nodes.container,"disabled"),cm.removeClass(this.nodes.content,"disabled"),this.triggerEvent("onEnable")),this},n.disable=function(){return this.disabled&&(this.disabled=!0,cm.addClass(this.nodes.container,"disabled"),cm.addClass(this.nodes.content,"disabled"),this.triggerEvent("onDisable")),this}}),cm.define("Com.BoxTools",{extend:"Com.AbstractInput",params:{controllerEvents:!0,className:"com__box-tools",maxlength:5,units:"px",allowNegative:!1,allowFloat:!1,inputs:[{name:"top",icon:"icon svg__indent-top small linked",iconPosition:"insideRight"},{name:"right",icon:"icon svg__indent-right small linked",iconPosition:"insideRight"},{name:"bottom",icon:"icon svg__indent-bottom small linked",iconPosition:"insideRight"},{name:"left",icon:"icon svg__indent-left small linked",iconPosition:"insideRight"}]},strings:{link:"Link",unlink:"Unlink"}},function(){Com.AbstractInput.apply(this,arguments)}),cm.getConstructor("Com.BoxTools",function(e,t,n,a){n.onConstructStart=function(){this.inputs=[],this.rawValue=null,this.isInputsLinked=null,this.lastInput=null},n.onEnable=function(){cm.forEach(this.inputs,e=>{e.input.disabled=!1,cm.removeClass(e.nodes.inner,"disabled")})},n.onDisable=function(){cm.forEach(this.inputs,e=>{e.input.disabled=!0,cm.addClass(e.nodes.inner,"disabled")})},n.renderContent=function(){var e=this,t={};return e.nodes.content=t,e.triggerEvent("onRenderContentStart"),t.container=cm.node("div",{classes:"com__box-tools__content"},cm.node("div",{classes:"b-line"},e.renderInput(e.params.inputs[0],0)),cm.node("div",{classes:"b-line"},e.renderInput(e.params.inputs[3],3),e.renderLinkButton(),e.renderInput(e.params.inputs[1],1)),cm.node("div",{classes:"b-line"},e.renderInput(e.params.inputs[2],2))),e.triggerEvent("onRenderContentProcess"),e.triggerEvent("onRenderContentEnd"),t.container},n.renderLinkButton=function(){let e=this;var t=e.nodes.content;return t.linkContainer=cm.node("div",{classes:"b-link-container"},t.link=cm.node("div",{classes:"b-link",title:e.msg("link"),role:"button",tabindex:0,"aria-pressed":"false"},cm.node("div",{classes:"icon"}))),cm.click.add(t.link,()=>e.linkInputs(!0)),t.linkContainer},n.renderInput=function(n,e){let a=this;(n=cm.merge({i:e,icon:"small",iconPosition:"leftInside",name:"",nodes:{}},n)).nodes=a.renderInputContainer(n),n.input=n.nodes.input,a.params.maxlength&&n.input.setAttribute("maxlength",a.params.maxlength),cm.click.add(n.nodes.icon,e=>{cm.preventDefault(e),n.input.setSelectionRange(0,n.input.value.length),n.input.focus()}),cm.addEvent(n.input,"focus",()=>{a.lastInput=n}),cm.addEvent(n.input,"blur",()=>a.setValues()),cm.addEvent(n.input,"keypress",e=>{"Enter"===e.code&&(cm.preventDefault(e),a.setValues(),n.input.blur())});e={allowNegative:a.params.allowNegative,allowFloat:a.params.allowFloat};return cm.allowOnlyNumbersInputEvent(n.input,(e,t)=>a.inputOnInputEvent(e,t,n),e),a.inputs.push(n),n.nodes.container},n.inputOnInputEvent=function(e,t,n){return this.isInputsLinked?(this.tempRawValue=[t,t,t,t],this.setInputs()):this.tempRawValue[n.i]=t,this.selectAction(cm.arrayToCSSValues(this.tempRawValue,this.params.units),!0),this},n.renderInputContainer=function(e){var t={};switch(t.container=cm.node("div",{classes:"b-container"},t.inner=cm.node("div",{classes:"pt__input"},t.input=cm.node("input",{type:"text"}))),cm.isEmpty(e.title)||t.inner.setAttribute("title",e.title),t.icon=cm.node("div",{classes:e.icon}),e.iconPosition){case"insideLeft":cm.addClass(t.inner,"is-less-indent"),cm.insertFirst(t.icon,t.inner);break;case"insideRight":cm.addClass(t.inner,"is-less-indent"),cm.insertLast(t.icon,t.inner);break;case"outsideLeft":cm.addClass(t.inner,"is-icon-outside"),cm.insertFirst(t.icon,t.inner);break;case"outsideRight":cm.addClass(t.inner,"is-icon-outside"),cm.insertLast(t.icon,t.inner)}return t},n.setInputs=function(){let t=this;return cm.forEach(t.inputs,function(e){e.input.value=t.tempRawValue[e.i]}),t},n.setValues=function(e){return e=!!cm.isUndefined(e)||e,this.set(cm.arrayToCSSValues(this.tempRawValue,this.params.units),e),this},n.linkInputs=function(e){var t=this,n=t.nodes.content;t.disabled||(t.isInputsLinked?(t.isInputsLinked=!1,n.link.title=t.msg("link"),n.link.setAttribute("aria-pressed","fal
1se"),cm.removeClass(n.link,"active")):(t.isInputsLinked=!0,n.link.title=t.msg("unlink"),n.link.setAttribute("aria-pressed","true"),cm.addClass(n.link,"active"),e&&(n=t.lastInput?t.lastInput.input.value:t.inputs.reduce((e,t)=>Math.max(e,parseFloat(t.input.value)),0),t.set(n))))},n.setData=function(){let t=this;return cm.isBoolean(t.isInputsLinked)||t.tempRawValue.every(e=>e===t.tempRawValue[0])&&0<t.tempRawValue[0]&&t.linkInputs(!1),t.setInputs(),t},n.validateValue=function(e){return cm.arrayToCSSValues(cm.CSSValuesToArray(e),this.params.units)},n.saveRawValue=function(e){this.tempRawValue=cm.CSSValuesToArray(e)}}),cm.define("Com.Autocomplete",{extend:"Com.AbstractController",require:["Com.Tooltip"],events:["onFocus","onBlur","onClear","onReset","onSelect","onChange","onEnable","onDisable","onClickSelect","onEnterPress","onAbort","onError","onRenderListStart","onRenderListEnd"],params:{controllerEvents:!0,renderStructure:!1,embedStructureOnRender:!1,embedStructure:"append",input:null,node:cm.node("input",{type:"text"}),target:!1,holdTarget:null,container:"document.body",name:"",minLength:3,direction:"auto",disabled:!1,delay:"cm._config.requestDelay",clearOnEmpty:!0,showListOnFocus:!1,listItemNowrap:!1,className:"",classes:{list:"pt__list",listItem:"pt__list__item"},icons:{search:"icon default linked"},data:[],options:[],value:{},defaultValue:"",showLoader:!0,responseKey:"data",preloadData:!1,preselectQuery:!1,ajax:{type:"json",method:"get",url:"",params:""},tooltip:{limitWidth:!0,constructor:"Com.Tooltip",constructorParams:{hideOnOut:!0,targetEvent:"none",width:"targetWidth",minWidth:"targetWidth",top:cm._config.tooltipDown,ariaRole:"listbox"}},suggestion:{enable:!1,queryKey:"text",constructor:"Com.AbstractContainer",constructorParams:{}}},strings:{loader:"Searching for <b>%query%</b>â¦",suggestion:"<b>%query%</b> not found. Add?"}},function(){Com.AbstractController.apply(this,arguments)}),cm.getConstructor("Com.Autocomplete",function(e,t,a,n){a.onConstructStart=function(){var e=this;e.disabled=!1,e.ajaxHandler=null,e.isOpen=!1,e.isAjax=!1,e.isTyping=!1,e.requestData={},e.requestDelay=null,e.clickTarget=null,e.registeredItems=[],e.suggestionItem=null,e.suggestionItemFocus=!1,e.selectedItemIndex=null,e.value=null,e.previousValue=null,e.valueText=null,e.rawValue=null,e.requestHandler=e.request.bind(e),e.setInputActionHandler=e.setInputAction.bind(e),e.afterFocusHandler=e.afterFocus.bind(e),e.afterBlurHandler=e.afterBlur.bind(e),e.afterKeypressHandler=e.afterKeypress.bind(e),e.afterBodyClickHandler=e.afterBodyClick.bind(e)},a.onValidateParams=function(){var e=this;cm.isNode(e.params.input)&&(e.params.node=e.params.input),e.params.target||(e.params.target=e.params.node),e.params.showListOnEmpty&&(e.params.showListOnFocus=!0),e.isAjax=!cm.isEmpty(e.params.ajax.url),e.params.data=cm.merge(e.params.data,e.params.options),e.setData(e.params.data),e.params.value=cm.isEmpty(e.params.value)?e.params.defaultValue:e.params.value,e.params.disabled=e.params.node.disabled||e.params.node.readOnly||e.params.disabled,cm.isObject(e.params["Com.Tooltip"])&&(e.params.tooltip.constructorParams=cm.merge(e.params.tooltip.constructorParams,e.params["Com.Tooltip"])),e.params.tooltip.limitWidth||(e.params.tooltip.constructorParams.width="auto"),e.params.tooltip.constructorParams.className=["com__ac-tooltip",[e.params.className,"tooltip"].join("__")].join(" ")},a.onAfterRender=function(){this.setInput(this.params.node),cm.isEmpty(this.params.value)||this.set(this.params.value,!1),this.params.disabled&&this.disable()},a.onDestructStart=function(){this.callbacks.destructListSuggestion(this,this.suggestionItem),this.unsetInputEvents()},a.renderViewModel=function(){let t=this;n.prototype.renderViewModel.apply(t,arguments),cm.getConstructor(t.params.tooltip.constructor,e=>{t.components.tooltip=new e(cm.merge(t.params.tooltip.constructorParams,{container:t.params.container,target:t.params.target,holdTarget:t.getTooltipHoldTarget(),events:{onShowStart:t.afterShow.bind(t),onHideStart:t.afterHide.bind(t)}}))})},a.setInputEvents=function(){cm.addEvent(this.params.node,"input",this.requestHandler),cm.addEvent(this.params.node,"keydown",this.afterKeypressHandler),cm.addEvent(this.params.node,"focus",this.afterFocusHandler),cm.addEvent(this.params.node,"blur",this.afterBlurHandler)},a.unsetInputEvents=function(){cm.removeEvent(this.params.node,"input",this.requestHandler),cm.removeEvent(this.params.node,"keydown",this.afterKeypressHandler),cm.removeEvent(this.params.node,"focus",this.afterFocusHandler),cm.removeEvent(this.params.node,"blur",this.afterBlurHandler)},a.getInputValue=function(){return this.params.node.value.trim()},a.setInputAction=function(){var e=this,t=(e.abort(),e.getInputValue()),n=e.getItemAction(null,t);n?e.value!==n.value&&e.set(n,!0):e.params.clearOnEmpty||cm.isEmpty(t)?e.clear():e.params.preselectQuery&&e.isAjax?e.requestAction({behavior:"preselect",showLoader:!1}):e.set(t,!0)},a.getTooltipHoldTarget=function(){return cm.isNode(this.params.holdTarget)?this.params.holdTarget:this.params.target===this.params.node?this.params.target.parentNode:this.params.target},a.setListAction=function(e,t){var n=this,a=(t=cm.merge({setRegisteredItem:!0,triggerEvents:!0},t),n.params.suggestion.enable&&n.callbacks.suggestionItemUnselect(n,n.suggestionItem),n.registeredItems[n.selectedItemIndex]),a=(a&&(a.container.setAttribute("aria-selected","false"),cm.removeClass(a.container,"active")),n.registeredItems[e]);a&&(n.selectedItemIndex=e,a.container.setAttribute("aria-selected","true"),cm.addClass(a.container,"active"),n.components.tooltip.scrollToNode(a.container),t.setRegisteredItem)&&n.setRegisteredItem(a,t.triggerEvents)},a.getItemAction=function(e,t){let n=null;return n=(n=(n=this.rawValue&&(!cm.isUndefined(e)&&e===this.rawValue.value||!cm.isEmpty(t)&&t===this.rawValue.text)?this.rawValue:n)||this.getRequestItem(e,t))||this.getItem(e,t)},a.afterFocus=function(){this.params.showListOnFocus&&this.request(!1),this.triggerEvent("onFocus",this.value)},a.afterBlur=function(){this.isOwnNode(this.clickTarget)||(this.hide(),this.setInputAction()),this.clickTarget=null,this.isTyping=!1,this.triggerEvent("onBlur",this.value)},a.afterShow=function(){this.isOpen=!0,this.setListAction(this.selectedItemIndex,{setRegisteredItem:!1,triggerEvents:!1}),cm.addEvent(document,"mousedown",this.afterBodyClickHandler)},a.afterHide=function(){this.isOpen=!1,this.isTyping=!1,cm.removeEvent(document,"mousedown",this.afterBodyClickHandler)},a.afterKeypress=function(e){let t=this;var n={ArrowUp:()=>t.setListAction(t.findPreviousIndex(t.selectedItemIndex)),ArrowDown:()=>t.setListAction(t.findNextIndex(t.selectedItemIndex)),Home:()=>t.setListAction(t.findFirstIndex()),End:()=>t.setListAction(t.findLastIndex())};n[e.code]&&(e.preventDefault(),t.registeredItems.length?n[e.code]():t.callbacks.suggestionItemSelect(t,t.suggestionItem)),"Enter"===e.code&&(t.suggestionItemFocus?t.callbacks.listSuggestionItemEvent(t,t.suggestionItem):(t.hide(),t.setInputAction()),t.triggerEvent("onEnterPress"))},a.afterChange=function(){this.value!==this.previousValue&&this.triggerEvent("onChange",this.value)},a.afterBodyClick=function(e){this.clickTarget=cm.getEventTarget(e),this.isOwnNode(this.clickTarget)||(this.hide(),this.setInputAction())},a.findFirstIndex=function(){return 0},a.findLastIndex=function(){return this.registeredItems.length-1},a.findPreviousIndex=function(e){return cm.isNumber(e)?(e-1+this.registeredItems.length)%this.registeredItems.length:this.findLastIndex()},a.findNextIndex=function(e){return cm.isNumber(e)?(e+1)%this.registeredItems.length:this.findFirstIndex()},a.request=function(t){let n=this;t instanceof InputEvent&&(n.isTyping=!0);t=n.getInputValue();if(n.valueText=t,n.selectedItemIndex=null,n.registeredItems=[],n.abort(),n.params.showListOnFocus||t.length>=n.params.minLength){let e=n.params.showListOnFocus&&!n.isTyping?"":t;t=n.params.showListOnFocus?0:n.params.delay;n.requestDelay=setTimeout(()=>{n.params.preloadData&&!cm.isEmpty(n.requestData.data)?n.callbacks.data(n,{data:n.requestData.data,query:e}):n.isAjax?n.requestAction():n.callbacks.data(n,{data:n.params.data,query:e})},t)}else n.hide()},a.requestAction=function(e){(e=cm.merge({query:this.getInputValue(),config:cm.clone(this.params.ajax),behavior:"query",showLoader:this.params.showLoader},e)).showLoader&&(this.callbacks.renderLoader(this,e),this.show()),this.ajaxHandler=this.callbacks.request(this,e)},a.callbacks.prepare=function(e,t){return t.config=e.callbacks.beforePrepare(e,t),t.config.url=cm.strReplace(t.config.url,{"%query%":t.query,"%baseUrl%":cm._baseUrl}),t.config.params=cm.objectReplace(t.config.params,{"%query%":t.query,"%baseUrl%":cm._baseUrl}),t.config=e.callbacks.afterPrepare(e,t),t.config},a.callbacks.beforePrepare=function(e,t){return t.config},a.callbacks.afterPrepare=function(e,t){return t.config},a.callbacks.request=function(t,n){return(n=cm.merge({response:null,data:null,config:null,query:"",behavior:"query"},n)).config=t.callbacks.prepare(t,n),t.requestData=n,cm.ajax(cm.merge(n.config,{onSuccess:function(e){n.response=e,t.callbacks.response(t,n)},onError:function(){t.callbacks.error(t,n)}}))},a.callbacks.filter=function(e,t){e=cm.reducePath(e.params.responseKey,t.response);return cm.isEmpty(e)?[]:e},a.callbacks.response=function(e,t){cm.isEmpty(t.response)||(t.data=e.callbacks.filter(e,t)),cm.isEmpty(t.data)||(t.data=e.callbacks.convert(e,t.data)),"preselect"===t.behavior?e.callbacks.preselect(e,t):e.callbacks.render(e,t)},a.callbacks.error=function(e,t){e.hide(),e.triggerEvent("onError")},a.callbacks.data=function(e,t){t.data=e.callbacks.query(e,t),e.callbacks.render(e,t)},a.callbacks.convert=function(t,e){return cm.isObject(e)?t.callbacks.convertObject(t,e):e.map(e=>t.callbacks.convertItem(t,e))},a.callbacks.convertItem=function(e,t,n){return n=cm.merge({normalize:!1},n),cm.isEmpty(t)?null:(cm.isObject(t)||(t={text:t,value:t}),cm.isUndefined(t.value)&&(t.value=t.text),n.normalize?a.callbacks.normalizeItem(e,t):t)},a.callbacks.convertObject=function(e,t){let n=[];return cm.forEach(t,(e,t)=>{n.push({text:e,value:t})}),n},a.callbacks.normalizeItem=function(e,t){e=e.params.data.find(e=>e.value===t.value);return e&&(t.text=e.text),t},a.callbacks.renderList=function(n,a){n.triggerEvent("onRenderListStart");let s=n.callbacks.renderListStructure(n,a);cm.forEach(a.data,(e,t)=>{n.callbacks.renderItem(n,a,{data:e,i:t},s.items)}),n.callbacks.embed(n,s.container),n.triggerEvent("onRenderListEnd")},a.callbacks.renderListStructure=function(e,t){var n={};return n.container=cm.node("div",{classes:e.params.classes.list},n.items=cm.node("ul",{role:"listbox"})),n},a.callbacks.renderItem=function(e,t,n,a){n.nodes=e.callbacks.renderItemStructure(e,t,n),e.params.listItemNowrap&&cm.addClass(n.nodes.container,"is-nowrap"),e.value===n.data.value&&(e.selectedItemIndex=n.i),e.callbacks.registerItem(e,t,n),cm.appendChild(n.nodes.container,a)},a.callbacks.renderItemStructure=function(e,t,n){var a={};return a.container=cm.node("li",{classes:e.params.classes.listItem,role:"option","aria-selected":"false"},cm.node("div",{classes:"inner"},cm.node("div",{classes:"content",innerHTML:n.data.text}))),a},a.callbacks.renderLoader=function(e,t){var n=e.callbacks.renderListStructure(e,t);cm.addClass(n.container,"disabled"),n.item=e.callbacks.renderLoaderItemStructure(e,t),e.params.listItemNowrap&&cm.addClass(n.item.container,"is-nowrap"),cm.appendChild(n.item.container,n.items),e.callbacks.embed(e,n.container)},a.callbacks.renderLoaderItemStructure=function(e,t){var n={};return n.container=cm.node("li",{classes:e.params.classes.listItem,role:"status"},cm.node("div",{classes:"inner"},cm.node("div",{classes:"content"},cm.node("span",{classes:"icon small cm-ia__spinner"}),cm.node("span",{innerHTML:e.lang("loader",{"%query%":t.query})})))),n},a.callbacks.renderListSuggestion=function(e,t){var n=e.callbacks.renderListStructure(e,t);n.item=e.callbacks.renderListSuggestionItem(e,t,{},n.items),e.callbacks.embed(e,n.container)},a.callbacks.destructListSuggestion=function(e,t){t&&cm.isFunction(t.controller.destruct)&&t.controller.destruct()},a.callbacks.renderListSuggestionItem=function(e,t,n,a){return n.params=t,n.nodes=e.callbacks.renderListSuggestionItemStructure(e,n),e.params.listItemNowrap&&cm.addClass(n.nodes.container,"is-nowrap"),e.params.suggestion.constructor&&e.callbacks.renderListSuggestionItemConstructor(e,n),cm.appendChild(n.nodes.container,a),e.suggestionItem=n,e.suggestionItemFocus=!1,n},a.callbacks.renderListSuggestionItemConstructor=function(e,t){e.suggestionItem&&e.suggestionItem.controller&&!e.suggestionItem.controller.isDestructed?e.callbacks.renderListSuggestionItemControllerCached(e,t):e.callbacks.renderListSuggestionItemController(e,t),cm.click.add(t.nodes.container,()=>{e.callbacks.listSuggestionItemEvent(e,t)})},a.callbacks.renderListSuggestionItemStructure=function(e,t){var n={};return n.container=cm.node("li",{classes:e.params.classes.listItem,role:"option"},cm.node("div",{classes:"inner"},cm.node("div",{classes:"content"},cm.node("span",{classes:"icon small add"}),cm.node("span",{innerHTML:e.lang("suggestion",{"%query%":t.params.query})})))),n},a.callbacks.renderListSuggestionItemController=function(n,t){cm.getConstructor(n.params.suggestion.constructor,e=>{t.controller=new e(cm.merge(n.params.suggestion.constructorParams,{events:{onSuccess:function(e,t){n.set(t,!0)}}}))})},a.callbacks.renderListSuggestionItemControllerCached=function(e,t){t.controller=e.suggestionItem.controller},a.callbacks.listSuggestionItemEvent=function(e,t){var n={};n[e.params.suggestion.queryKey]=t.params.query,t.controller.set(n),t.controller.open(),e.hide(),e.clear()},a.callbacks.suggestionItemSelect=function(e,t){t&&(e.suggestionItemFocus=!0,cm.addClass(t.nodes.container,"active"))},a.callbacks.suggestionItemUnselect=function(e,t){t&&(e.suggestionItemFocus=!1,cm.removeClass(t.nodes.container,"active"))},a.callbacks.query=function(t,n){let a=[];return cm.forEach(n.data,e=>
1{t.callbacks.isContain(t,e.text,n.query)&&a.push(e)}),a},a.callbacks.preselect=function(e,n){let a;cm.forEach(n.data,(e,t)=>{e.text===n.query&&(a={data:e,i:t})}),a?(e.callbacks.registerItem(e,n,a),e.set(a.data,!0)):e.params.clearOnEmpty?e.clear():e.set(n.query,!0)},a.callbacks.isContain=function(e,t,n){return t=t.trim().toLowerCase(),n=n.trim().toLowerCase(),"start"!==e.params.direction?-1<t.indexOf(n):new RegExp("^"+n,"i").test(t)},a.callbacks.render=function(e,t){cm.isEmpty(t.data)?e.params.suggestion.enable?(e.callbacks.renderListSuggestion(e,t),e.show()):e.hide():(e.callbacks.renderList(e,t),e.show())},a.callbacks.registerItem=function(e,t,n){n.nodes&&(n.container=n.nodes.container,cm.click.add(n.container,()=>{e.setRegisteredItem(n),e.hide(),e.triggerEvent("onClickSelect",e.value)})),e.registeredItems.push(n)},a.callbacks.embed=function(e,t){e.components.tooltip.setContent(t)},a.set=function(e,t){var n=this;return n.rawValue=n.callbacks.convertItem(n,e,{normalize:!0}),n.previousValue=n.value,n.value=cm.isEmpty(n.rawValue)?null:n.rawValue.value,n.valueText=cm.isEmpty(n.rawValue)?"":n.rawValue.text,n.params.node.value=n.valueText,(t=void 0===t||t)&&(n.triggerEvent("onSelect",n.value),n.afterChange()),n},a.setData=function(e){return this.params.data=this.callbacks.convert(this,e),this},a.setInput=function(t){if(cm.isNode(t)){this.unsetInputEvents(),this.params.node=t,this.setInputEvents();let e=this.params.container;"targetParent"===e&&(e=this.params.node.parentNode),this.components.tooltip.setContainer(e)}return this},a.setTarget=function(e){return cm.isNode(e)&&(this.params.target=e,this.components.tooltip.setTarget(e)),this},a.setRegisteredItem=function(e,t){return cm.inArray(this.registeredItems,e)&&this.set(e.data,t),this},a.get=function(){return this.value},a.getText=function(){return this.valueText},a.getRaw=function(){return this.rawValue},a.getItem=function(t,n){if(!cm.isEmpty(this.params.data))return this.params.data.find(e=>cm.isUndefined(t)?cm.isEmpty(n)?void 0:e.text===n:e.value===t)},a.getRequestItem=function(t,n){if(!cm.isEmpty(this.requestData.data))return this.requestData.data.find(e=>cm.isUndefined(t)?cm.isEmpty(n)?void 0:e.text===n:e.value===t)},a.getRegisteredItem=function(t,n){if(!cm.isEmpty(this.registeredItems))return this.registeredItems.find(e=>cm.isUndefined(t)?cm.isEmpty(n)?void 0:e.data.text===n:e.data.value===t)},a.reset=a.clear=function(e){var t=this;return e=void 0===e||e,t.previousValue=t.value,t.value=null,t.rawValue=null,t.valueText=null,t.params.node.value="",e&&(t.triggerEvent("onClear",t.value),t.triggerEvent("onReset",t.value),t.afterChange()),t},a.show=function(){return this.components.tooltip.show(),this},a.hide=function(){return this.components.tooltip.hide(),this},a.setAction=function(e,t,n){switch(t=cm.inArray(["raw","update","current"],t)?t:"current"){case"raw":this.params.ajax=cm.merge(this._raw.params.ajax,e);break;case"current":this.params.ajax=cm.merge(this.params.ajax,e);break;case"update":this.params.ajax=cm.merge(this._update.params.ajax,e)}return n&&(this._update.params.ajax=cm.clone(this.params.ajax)),this},a.setVariables=function(e,t,n){switch(t=cm.inArray(["raw","update","current"],t)?t:"current"){case"raw":this.params.ajax.variables=cm.merge(this._raw.params.ajax.variables,e);break;case"current":this.params.ajax.variables=cm.merge(this.params.ajax.variables,e);break;case"update":this.params.ajax.variables=cm.merge(this._update.params.ajax.variables,e)}return n&&(this._update.params.ajax.variables=cm.clone(this.params.ajax.variables)),this},a.abort=function(){return this.requestDelay&&clearTimeout(this.requestDelay),this.ajaxHandler&&this.ajaxHandler.abort&&this.ajaxHandler.abort(),this},a.focus=function(e){return!0===e&&(e=this.params.node.value,this.params.node.setSelectionRange(0,e.length)),this.params.node.focus(),this},a.blur=function(){return this.params.node.blur(),this},a.enable=function(){return this.disabled&&(this.disabled=!1,this.params.node.disabled=!1,this.triggerEvent("onEnable")),this},a.disable=function(){return this.disabled||(this.disabled=!0,this.params.node.disabled=!0,this.triggerEvent("onDisable")),this},a.isOwnNode=function(e){return cm.isParent(this.params.target,e,!0)||this.components.tooltip.isOwnNode(e)}}),Com.FormFields.add("autocomplete",{node:cm.node("input",{type:"search",autocomplete:"none"}),fieldConstructor:"Com.AbstractFormField",constructor:"Com.Autocomplete"}),cm.define("Com.AutocompleteField",{extend:"Com.AbstractInput",events:["onFocus","onBlur"],params:{controllerEvents:!0,type:"text",icon:["icon","linked","svg__search"],iconTitle:null,iconEvents:!0,iconInsertMethod:"appendChild",autocomplete:{constructor:"Com.Autocomplete",constructorParams:{minLength:1,showListOnFocus:!0}}}},function(){Com.AbstractInput.apply(this,arguments)}),cm.getConstructor("Com.AutocompleteField",function(e,t,n,a){n.construct=function(){this.isFocus=!1,this.wasFocus=!1,this.options=[],this.iconEventHanlder=this.iconEvent.bind(this),a.prototype.construct.apply(this,arguments)},n.validateParams=function(){let t=this;a.prototype.validateParams.apply(t,arguments);var e=t.params.node.options;cm.forEach(e,e=>{t.options.push({value:e.value,text:e.innerHTML})})},n.validateParamsValue=function(){var e;cm.isNode(this.params.node)&&(e=cm.getSelectValue(this.params.node),this.params.value=cm.isEmpty(e)?this.params.value:e),this.params.value=cm.isEmpty(this.params.value)?this.params.defaultValue:this.params.value},n.onEnable=function(){this.components.autocomplete.enable()},n.onDisable=function(){this.components.autocomplete.disable()},n.renderContent=function(){var e=this,t={};
1return e.nodes.content=t,e.triggerEvent("onRenderContentStart"),t.container=cm.node("div",{classes:"pt__input"},t.inner=cm.node("div",{classes:"inner"},t.input=cm.node("input",{type:e.params.type}))),e.params.icon&&(cm.addClass(t.container,"has-icon"),t.icon=e.renderIcon({icon:e.params.icon,title:e.params.iconTitle}),cm[e.params.iconInsertMethod](t.icon,t.inner)),cm.isEmpty(e.params.placeholder)||(t.input.placeholder=e.params.placeholder),e.triggerEvent("onRenderContentProcess"),e.renderContentEvents(),e.triggerEvent("onRenderContentEnd"),t.container},n.renderContentEvents=function(){this.params.iconEvents&&(cm.addEvent(this.nodes.content.icon,"mousedown",this.iconEventHanlder),cm.addEvent(this.nodes.content.icon,"click",this.iconEventHanlder))},n.renderViewModel=function(){let t=this;a.prototype.renderViewModel.apply(t,arguments),cm.getConstructor(t.params.autocomplete.constructor,e=>{t.components.autocomplete=new e(cm.merge(t.params.autocomplete.constructorParams,{node:t.nodes.content.input,options:t.options,value:t.params.value,callbacks:t.renderAutocompleteCallbacks(),events:t.renderAutocompleteEvents()}))})},n.renderIcon=function(e){e=cm.merge({icon:null,title:null},e);var t=cm.isNode(e.icon)?e.icon:this.renderIconView(e);return cm.isEmpty(e.title)||(t.title=e.title),t},n.renderIconView=function(e){return cm.node("div",{classes:e.icon})},n.getIcon=function(){return this.nodes.content.icon},n.renderAutocompleteCallbacks=function(){return{}},n.renderAutocompleteEvents=function(){let n=this;return{onChange:(e,t)=>
1n.set(t,!0),onFocus:n.focusEvent.bind(n),onBlur:n.blurEvent.bind(n)}},n.iconEvent=function(e){"mousedown"===e.type&&(this.wasFocus=this.isFocus),"click"!==e.type||this.wasFocus||this.focus(!0)},n.focusEvent=function(e,t){this.isFocus=!0,this.triggerEvent("onFocus",t)},n.blurEvent=function(e,t){this.isFocus=!1,this.triggerEvent("onBlur",t)},n.setData=function(){var e=this.getOption(this.value);return this.nodes.content.input.value=e?cm.isEmpty(e.text)?e.value:e.text:this.value,this},n.getOption=function(t){return this.options.find(e=>e.value===t)},n.focus=function(e){return this.components.autocomplete.focus(e),this},n.blur=function(){return this.components.autocomplete.blur(),this}}),Com.FormFields.add("autocomplete-field",{node:cm.node("select"),fieldConstructor:"Com.AbstractFormField",constructor:"Com.AutocompleteField"}),cm.define("Com.BoxRadiusTools",{extend:"Com.BoxTools",params:{className:"com__box-tools com__box-tools--radius",inputs:[{name:"topleft",icon:"icon svg__radius-topleft small linked",iconPosition:"outsideLeft"},{name:"topright",icon:"icon svg__radius-topright small linked",iconPosition:"outsideRight"},{name:"bottomright",icon:"icon svg__radius-bottomright small linked",iconPosition:"outsideRight"},{name:"bottomleft",icon:"icon svg__radius-bottomleft small linked",iconPosition:"outsideLeft"}]}},function(){Com.BoxTools.apply(this,arguments)}),cm.getConstructor("Com.BoxRadiusTools",function(e,t,n,a){n.renderContent=function(){var e=this,t={};return e.nodes.content=t,e.triggerEvent("onRenderContentStart"),t.container=cm.node("div",{classes:"com__box-tools__content"},cm.node("div",{classes:"b-line"},e.renderInput(e.params.inputs[0],0),e.renderInput(e.params.inputs[1],1)),cm.node("div",{classes:"b-line"},e.renderInput(e.params.inputs[3],3),e.renderInput(e.params.inputs[2],2)),cm.node("div",{classes:"b-line"},e.renderLinkButton())),e.triggerEvent("onRenderContentProcess"),e.triggerEvent("onRenderContentEnd"),t.container}}),cm.define("Com.Check",{extend:"Com.AbstractInput",params:{controllerEvents:!0,type:"checkbox",inline:!1,renderRequiredMessage:!1,multiple:!1,values:{checked:null,unchecked:null},contentIcon:null,help:null,helpType:"tooltip",helpConstructor:"Com.HelpBubble",helpParams:{renderStructure:!0,embedStructureOnRender:!0}}},function(){Com.AbstractInput.apply(this,arguments)}),cm.getConstructor("Com.Check",function(e,t,n,a){n.onConstructStart=function(){this.inputs=[],this.hidden=[],this.setValueHandler=this.setValue.bind(this)},n.onValidateParamsProcess=function(){var t=this;cm.isEmpty(t.params.options)?(t.params.type="checkbox",t.params.multiple=!1,cm.isEmpty(t.params.values)&&(t.params.values={checked:null,unchecked:null}),cm.isEmpty(t.params.value)&&t.params.checked&&(t.params.value=!0),!cm.isEmpty(t.params.value)&&cm.isEmpty(t.params.values.checked)&&(t.params.values.checked=t.params.value),cm.isEmpty(t.params.values.checked)&&(t.params.values.checked=!0),cm.isEmpty(t.params.values.unchecked)&&(t.params.values.unchecked=!1)):(t.params.multiple="checkbox"===t.params.type,cm.forEach(t.params.options,function(e){e.checked=e.checked||e.selected,!cm.isEmpty(e.value)&&e.checked&&(cm.isEmpty(t.params.value)?t.params.value=[]:(cm.isString(t.params.value)||cm.isNumber(t.params.value))&&(t.params.value=[t.params.value]),cm.arrayAdd(t.params.value,e.value))}))},n.onEnable=function(){cm.forEach(this.inputs,function(e){e.input.disabled=!1})},n.onDisable=function(){cm.forEach(this.inputs,function(e){e.input.disabled=!0})},n.renderHiddenContent=function(){var t,n=this,a={};return(n.nodes.hiddenContent=a).container=cm.node("div",{classes:"display-none"}),cm.isEmpty(n.params.options)?(t=n.renderHiddenInput({value:n.params.value,values:n.params.values}),cm.appendChild(t,a.container)):cm.forEach(n.params.options,function(e){t=n.renderHiddenInput(e),cm.appendChild(t,a.container)}),a.container},n.renderHiddenInput=function(e){return e=cm.merge({nodes:{},value:null,values:{checked:null,unchecked:null}},e),cm.isEmpty(e.values.checked)&&(e.values.checked=!!cm.isEmpty(e.value)||e.value),cm.isEmpty(e.values.unchecked)&&(e.values.unchecked=!1),e.nodes.container=e.nodes.input=cm.node("input",{type:this.params.type}),e.input=e.nodes.input,cm.isEmpty(this.params.name)||e.input.setAttribute("name",this.params.name),this.hidden.push(e),e.nodes.container},n.renderContent=function(){let t=this,n={};return t.nodes.content=n,t.triggerEvent("onRenderContentStart"),n.container=cm.node("div",{classes:"pt__check-line"}),cm.isBoolean(t.params.inline)&&(t.params.inline?cm.addClass(n.container,"is-line"):cm.addClass(n.container,"is-box")),t.triggerEvent("onRenderContentProcess"),cm.isEmpty(t.params.options)?t.renderInput({container:n.container,text:t.params.placeholder,value:t.params.value,values:t.params.values}):("radio"===t.params.type&&n.container.setAttribute("role","radiogroup"),cm.forEach(t.params.options,e=>{e.container=n.container,t.renderInput(e)})),t.triggerEvent("onRenderContentEnd"),n.container},n.renderInput=function(e){var t=this;return e=cm.merge({nodes:{},textNodes:{},render:!0,hidden:!1,container:null,value:null,text:"",hint:null,icon:null,help:t.params.help,helpType:t.params.helpType,valueClasses:{checked:["active"],unchecked:[]},values:{checked:null,unchecked:null}},e),cm.isEmpty(e.icon)&&(e.icon=t.params.contentIcon),cm.isUndefined(e.values.checked)&&(e.values.checked=!!cm.isUndefined(e.value)||e.value),cm.isUndefined(e.values.unchecked)&&(e.values.unchecked=!1),e.nodes.container=cm.node("label",e.nodes.input=cm.node("input",{classes:"control",type:t.params.type})),e.hidden&&cm.addClass(e.nodes.container,"hidden"),e.input=e.nodes.input,"checkbox"===t.params.type&&(e.input.value=e.value),cm.isEmpty(e.text)||(e.nodes.label=cm.node("span",{classes:"label"}),cm.appendHTML(e.text,e.nodes.label),cm.appendChild(e.nodes.label,e.nodes.container)),cm.isEmpty(e.hint)||(e.nodes.hint=cm.node("span",{classes:"hint",innerHTML:e.hint}),cm.appendChild(e.nodes.hint,e.nodes.label)),cm.isNode(e.icon)&&(e.nodes.icon=cm.clone(e.icon),cm.appendChild(e.nodes.icon,e.nodes.container),cm.addClass(e.nodes.container,"has-icon")),cm.addEvent(e.nodes.input,"click",()=>t.setValue(e,!0)),cm.isEmpty(e.help)||t.renderHelp(e),e.render&&cm.appendChild(e.nodes.container,e.container),t.input
1s.push(e),e.nodes.container},n.renderHelp=function(t){t.helpParams=cm.merge(this.params.helpParams,{name:this.params.name,content:t.help,type:t.helpType,container:t.nodes.container}),t.textNodes&&t.textNodes.helpButton&&(t.helpParams.nodes={button:t.textNodes.helpButton},t.helpParams.renderStructure=!1,t.helpParams.embedStructureOnRender=!1),cm.getConstructor(this.params.helpConstructor,function(e){t.helpController=new e(t.helpParams)})},n.setHiddenAttributes=function(){},n.validateValue=function(e){return cm.isEmpty(this.params.options)?cm.isEmpty(e)?this.params.values.unchecked:cm.isBoolean(e)?e?this.params.values.checked:this.params.values.unchecked:e:e},n.setValue=function(e,t){t=!!cm.isUndefined(t)||t;var n=null;return cm.isEmpty(this.params.options)?n=e.input.checked?e.values.checked:e.values.unchecked:this.params.multiple?(n=[],cm.forEach(this.inputs,function(e){e.input.checked&&e.values.checked?n.push(e.values.checked):e.values.unchecked&&n.push(e.values.unchecked)})):n=e.values.checked,this.set(n,t),this},n.saveHiddenValue=function(t){var n=this;cm.isEmpty(n.params.options)?n.setInputItemValue(n.hidden[0],t):cm.forEach(n.hidden,function(e){n.setInputItemValue(e,t)})},n.setData=function(t){var n=this;cm.isEmpty(n.params.options)?n.setInputItemValue(n.inputs[0],t):cm.forEach(n.inputs,function(e){n.setInputItemValue(e,t)})},n.setInputItemValue=function(e,t){t=cm.isEmpty(this.params.options)?this.testInputValue(t,this.params.values.checked,this.params.values.unchecked):this.params.multiple?cm.inArray(t,e.values.checked):t===e.values.checked;e.input.checked=t,cm.toggleClass(e.nodes.container,e.valueClasses.checked,t),cm.toggleClass(e.nodes.container,e.valueClasses.unchecked,!t)},n.testInputValue=function(e,t,n){return!cm.isEmpty(t)&&e===t||!(cm.isEmpty(e)||0===e||"0"===e||!1===e||e===n)},n.validator=function(e){return e.required&&cm.isEmpty(this.params.options)&&(e.valid=e.value===this.params.values.checked,!e.valid)&&this.params.renderRequiredMessage&&(e.message=this.msg("required")),e}}),Com.FormFields.add("checkbox",{node:cm.node("div",{classes:"pt__check-line"}),fieldConstructor:"Com.AbstractFormField",constructor:"Com.Check",constructorParams:{type:"checkbox"}}),Com.FormFields.add("checkbox-group",{node:cm.node("div",{classes:"pt__check-line"}),multiple:!0,isValueObject:!0,fieldConstructor:"Com.AbstractFormField",constructor:"Com.Check",constructorParams:{type:"checkbox",inline:!1}}),Com.FormFields.add("radio",{node:cm.node("div",{classes:"pt__check-line"}),fieldConstructor:"Com.AbstractFormField",constructor:"Com.Check",constructorParams:{type:"radio",inline:!0}}),Com.FormFields.add("check",{node:cm.node("div",{classes:"pt__check-line"}),fieldConstructor:"Com.AbstractFormField",constructor:"Com.Check",constructorParams:{type:"checkbox",inline:!0}}),cm.define("Com.CheckTrigger",{extend:"Com.AbstractController",params:{renderStructure:!1,embedStructureOnRender:!1,controllerEvents:!0,checked:!1,unchecked:!1}},function(e){Com.AbstractController.apply(this,arguments)}),cm.getConstructor("Com.CheckTrigger",function(e,t,n){n._inherit;n.onConstructStart=function(){this.checked=!1,this.checkedA=[],this.uncheckedA=[],this.toggleHandler=this.toggle.bind(this)},n.onValidateParams=function(){this.checked=this.params.node.checked},n.renderViewModel=function(){var e=this;cm.addEvent(e.params.node,"change",e.toggleHandler),cm.isObject(e.params.checked)?e.find(e.params.checked,e.checkedA):cm.isString(e.params.checked)&&e.find({type:"input",name:e.params.checked},e.checkedA),cm.isObject(e.params.unchecked)?e.find(e.params.unchecked,e.uncheckedA):cm.isString(e.params.unchecked)&&e.find({type:"input",name:e.params.unchecked},e.uncheckedA)},n.find=function(t,n){var a=this;switch((t=cm.merge({type:"controller",className:null,classInstance:null,name:null,container:null,node:null,method:"disable"},t)).type){case"controller":new cm.Finder(t.className,t.name,t.container,function(e){e=cm.merge(t,{classInstance:e});n.push(e),a.toggle()});break;case"input":var e=cm.getByName(t.name,t.container);cm.forEach(e,function(e){e=cm.merge(t,{node:e});n.push(e),a.toggle()})}},n.toggle=function(){var e=this;return e.checked=e.params.node.checked,e.checked?(e.enableTrigger(e.checkedA),e.disableTrigger(e.uncheckedA)):(e.disableTrigger(e.checkedA),e.enableTrigger(e.uncheckedA)),e},n.enableTrigger=function(e){return cm.forEach(e,function(e){switch(e.type){case"controller":e.classInstance&&cm.isFunction(e.classInstance.enable)&&e.classInstance.enable();break;case"input":cm.isNode(e.node)&&(e.node.disabled=!1,e.node.focus())}}),this},n.disableTrigger=function(e){return cm.forEach(e,function(e){switch(e.type){case"controller":e.classInstance&&cm.isFunction(e.classInstance.disable)&&e.classInstance.disable();break;case"input":cm.isNode(e.node)&&(e.node.disabled=!0,e.node.blur())}}),this}}),cm.define("Com.CodeHighlight",{modules:["Params","Events","DataConfig","Stack"],events:["onRender"],params:{node:cm.node("div"),name:"",language:"javascript",lineNumbers:!0,lineWrapping:!1,customEvents:!0,disabled:!1,title:""}},function(e){var t=this;t.components={},t.disabled=!1;
1t.set=function(e){return t.components.codemirror?t.components.codemirror.setValue(e):t.params.node.value=e,t},t.get=function(){return t.components.codemirror?t.components.codemirror.getValue():t.params.node.value},t.redraw=function(){return t.components.codemirror&&t.components.codemirror.refresh(),t},t.disable=function(){return t.disabled=!0,t.components.codemirror&&t.components.codemirror.setOption("readOnly",!0),t},t.enable=function(){return t.disabled=!1,t.components.codemirror&&t.components.codemirror.setOption("readOnly",!1),t},t.setParams(e),t.convertEvents(t.params.events),t.getDataConfig(t.params.node),cm.isNode(t.params.node)&&(t.params.title=t.params.node.getAttribute("title")||t.params.title,t.params.name=t.params.node.getAttribute("name")||t.params.name,t.params.disabled=t.params.node.disabled||t.params.node.readOnly||t.params.disabled),t.disabled=t.params.disabled,cm.loadScript({path:"CodeMirror",src:"%assetsUrl%/libs/codemirror_comp/codemirror.min.js?%version%",callback:function(e){e&&(t.components.codemirror=e.fromTextArea(t.params.node,{lineNumbers:t.params.lineNumbers,lineWrapping:t.params.lineWrapping,viewportMargin:1/0,mode:t.params.language}),t.components.codemirror.on("change",function(e){t.params.node.value=e.getValue()})),t.disabled?t.disable():t.enable()}}),t.params.customEvents&&cm.customEvent.add(t.params.node,"redraw",t.redraw),t.addToStack(t.params.node),t.triggerEvent("onRender")}),cm.define("Com.ColorPicker",{modules:["Params","Events","Langs","Structure","DataConfig","Storage","Stack"],require:["Com.Tooltip","Com.Palette"],events:["onRender","onSelect","onChange","onClear"],params:{input:null,node:cm.node("input",{type:"text"}),container:null,embedStructure:"replace",name:"",value:null,defaultValue:"transparent",title:"",showLabel:!0,showClearButton:!1,showTitleTooltip:!0,renderInBody:!0,disabled:!1,size:"default",icons:{picker:"icon default linked",clear:"icon default linked"},"Com.Tooltip":{targetEvent:"click",hideOnReClick:!0,className:"com__colorpicker__tooltip",top:cm._config.tooltipDown},"Com.Palette":{setOnInit:!1}},strings:{Transparent:"Transparent",Clear:"Clear"}},function(e){function n(){a.value!=a.previousValue&&a.triggerEvent("onChange",a.value)}var a=this,s=(a.nodes={},a.components={},a.value=null,a.previousValue=null,a.disabled=!1,function(e,t){a.previousValue=a.value,cm.isEmpty(e)&&(e=a.params.defaultValue),a.value=e,a.components.palette.set(a.value,!1),a.nodes.hidden.value=a.components.palette.get("rgb"),"transparent"===a.value?(a.params.showLabel&&(a.nodes.input.value=a.lang("Transparent")),cm.replaceClass(a.nodes.input,"input-dark input-light","input-checkers")):(a.params.showLabel&&(a.nodes.input.value=a.components.palette.get("hex")),a.nodes.input.style.backgroundColor=a.components.palette.get("hex"),a.components.palette.isDark()?cm.replaceClass(a.nodes.input,"input-checkers input-light","input-dark"):cm.replaceClass(a.nodes.input,"input-checkers input-dark","input-light")),t&&(a.triggerEvent("onSelect",a.value),n())}),t=function(){a.nodes.input.blur(),cm.removeClass(a.nodes.container,"active"),a.components.palette.set(a.value,!1)},o=function(){cm.addClass(a.nodes.container,"active"),a.components.palette.redraw()};a.set=function(e,t){return s(e,t=void 0===t||t),a},a.get=function(){return a.value},a.clear=function(e){return e=void 0===e||e,s(a.params.defaultValue,!1),e&&(a.triggerEvent("onClear",a.value),n()),a},a.disable=function(){return a.disabled=!0,cm.addClass(a.nodes.container,"disabled"),a.nodes.input.disabled=!0,a.components.tooltip.disable(),a},a.enable=function(){return a.disabled=!1,cm.removeClass(a.nodes.container,"disabled"),a.nodes.input.disabled=!1,a.components.tooltip.enable(),a},a.setParams(e),cm.isNode(a.params.input)&&(a.params.node=a.params.input),a.convertEvents(a.params.events),a.getDataConfig(a.params.node),cm.isNode(a.params.node)&&(a.params.title=a.params.node.getAttribute("title")||a.params.title,a.params.disabled=a.params.node.disabled||a.params.disabled,a.value=a.params.node.value,a.params.name=a.params.node.getAttribute("name")||a.params.name),a.value=a.params.value||a.value||a.params.defaultValue,a.disabled=a.params.disabled,a.params["Com.Palette"].name=[a.params.name,"palette"].join("-"),a.nodes.container=cm.node("div",{class:"com__colorpicker"},a.nodes.hidden=cm.node("input",{type:"hidden"}),a.nodes.target=cm.node("div",{class:"pt__input"},a.nodes.input=cm.node("input",{type:"text",readOnly:"true"}),a.nodes.icon=cm.node("div",{class:a.params.icons.picker})),a.nodes.menuContainer=cm.node("div",{class:"form"},a.nodes.paletteContainer=cm.node("div"))),cm.isEmpty(a.params.size)||cm.addClass(a.nodes.container,["size",a.params.size].join("-")),a.params.showTitleTooltip&&!cm.isEmpty(a.params.title)&&(a.nodes.container.title=a.params.title),a.params.node.id&&(a.nodes.container.id=a.params.node.id),a.params.name&&a.nodes.hidden.setAttribute("name",a.params.name),a.params.showLabel||cm.addClass(a.nodes.target,"is-no-label"),a.params.showClearButton&&(cm.addClass(a.nodes.container,"has-clear-button"),a.nodes.container.appendChild(a.nodes.clearButton=cm.n
1ode("div",{class:a.params.icons.clear,title:a.lang("Clear")}))),a.embedStructure(a.nodes.container),cm.addEvent(a.nodes.input,"keydown",function(e){e=cm.getEvent(e),cm.preventDefault(e),8==e.keyCode&&(a.clear(),a.components.tooltip.hide())}),a.params.showClearButton&&cm.addEvent(a.nodes.clearButton,"click",function(){a.clear(),a.components.tooltip.hide()}),a.components.tooltip=new Com.Tooltip(cm.merge(a.params["Com.Tooltip"],{container:a.params.renderInBody?document.body:a.nodes.container,content:a.nodes.menuContainer,target:a.nodes.target,events:{onShowStart:o,onHideStart:t}})),a.components.palette=new Com.Palette(cm.merge(a.params["Com.Palette"],{node:a.nodes.menuContainer,events:{onChange:function(e,t){s(e.get("rgb"),!0),a.components.tooltip.hide()}}})),a.disabled?a.disable():a.enable(),a.addToStack(a.nodes.container),a.set(a.value,!1),a.triggerEvent("onRender",a.value)}),Com.FormFields.add("color-picker",{node:cm.node("input",{type:"text"}),value:"",defaultValue:"",fieldConstructor:"Com.AbstractFormField",constructor:"Com.ColorPicker"}),cm.define("Com.FieldContent",{extend:"Com.AbstractInput",params:{controllerEvents:!0,renderStructureContent:!1,renderHiddenContent:!1,setHiddenInput:!1}},function(){Com.AbstractInput.apply(this,arguments)}),cm.getConstructor("Com.FieldContent",function(e,t,n,a){n.setData=function(){var e=this.value;return cm.clearNode(this.nodes.contentContainer),cm.isNode(e)||(e=cm.node("div",{innerHTML:e})),cm.appendChild(e,this.nodes.contentContainer),this},n.setAttributes=function(){a.prototype.setAttributes.apply(this,arguments),cm.isEmpty(this.params.fieldName)||this.nodes.container.setAttribute("id",this.params.fieldName)}}),Com.FormFields.add("content",{node:cm.node("div"),value:"",defaultValue:"",fieldConstructor:"Com.AbstractFormField",constructor:"Com.FieldContent"}),Com.FormFields.add("node",{node:cm.node("div",{classes:"pt__field-node"}),value:"",defaultValue:"",inputValueType:"unset",renderStructureField:!1,renderStructureContent:!1,fieldConstructor:"Com.AbstractFormField",constructor:"Com.FieldContent",constructorParams:{embedStructure:"append"}}),Com.Elements.Datepicker={},Com.GetDatepicker=function(e){return Com.Elements.Datepicker[e]||null},cm.define("Com.Datepicker",{modules:["Params","Events","DataConfig","Structure","Langs","Stack"],events:["onRender","onSelect","onChange","onClear","onFocus","onBlur"],params:{input:null,node:cm.node("input",{type:"text"}),container:null,name:"",embedStructure:"replace",customEvents:!0,renderInBody:!0,size:"default",format:"cm._config.dateFormat",displayFormat:"cm._config.displayDateFormat",isDateTime:!1,dateTimeFormat:"cm._config.dateTimeFormat",displayDateTimeFormat:"cm._config.displayDateTimeFormat",setEmptyDateByFormat:!0,minutesInterval:1,startYear:1950,endYear:"current + 10",startWeekDay:0,showTodayButton:!0,showClearButton:!1,showTitleTooltip:!0,showPlaceholder:!0,title:"",placeholder:"",menuMargin:4,value:0,disabled:!1,icons:{datepicker:"icon default linked",clear:"icon default linked"},tooltip:{constructor:"Com.Tooltip",constructorParams:{targetEvent:"click",hideOnReClick:!1,className:["com__datepicker__tooltip"],align:"underTopLeft",alignOffset:cm._config.tooltipIndent}},calendar:{constructor:"Com.Calendar",constructorParams:{renderSelectsInBody:!1,renderMonthOnInit:!1,className:["com__datepicker-calendar"]}},timeSelect:{constructor:"Com.TimeSelect",constructorParams:{renderSelectsInBody:!1}}},strings:{daysAbbr:["S","M","T","W","T","F","S"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],"Clear date":"Clear date",Today:"Today",Now:"Now",Time:"Time:"}},function(params){var that=this,nodes={},components={},init=(that.date=null,that.previousDate=null,that.value=null,that.previousValue=null,that.format=null,that.displayFormat=null,that.disabled=!1,that.isDestructed=null,function(){that.destructHandler=that.destruct.bind(that),that.setParams(params),preValidateParams(),that.convertEvents(that.params.events),that.getDataConfig(that.params.node),validateParams(),render(),setLogic(),setEvents(),that.addToStack(nodes.container),that.params.value?that.set(that.params.value,that.format,!1):that.set(that.params.node.value,that.format,!1),that.triggerEvent("onRender",that.value)}),preValidateParams=function(){cm.isNode(that.params.input)&&(that.params.node=that.params.input)},validateParams=function(){cm.isNode(that.params.node)&&(that.params.placeholder=that.params.node.getAttribute("placeholder")||that.params.placeholder,that.params.title=that.params.node.getAttribute("title")||that.params.title,that.params.disabled=that.params.node.disabled||that.params.disabled,that.params.name=that.params.node.getAttribute("name")||that.params.name),"now"===that.params.value&&(that.params.value=new Date),/current/.test(that.params.startYear)&&(that.params.startYear=eval(cm.strReplace(that.params.startYear,{current:(new Date).getFullYear()}))),/current/.test(that.params.endYear)&&(that.params.endYear=eval(cm.strReplace(that.params.endYear,{current:(new Date).getFullYear()}))),that.format=that.params.isDateTime?that.params.dateTimeFormat:that.params.format,that.displayFormat=that.params.isDateTime?that.params.displayDateTimeFormat:that.params.displayFormat,that.disabled=that.params.disabled,cm.isObject(that.params["Com.Tooltip"])&&(that.params.tooltip.constructorParams=cm.merge(that.params.tooltip.constructorParams,that.params["Com.Tooltip"]))},render=function(){nodes.container=cm.node("div",{class:"com__datepicker-input"},nodes.hidden=cm.node("input",{type:"hidden"}),nodes.target=cm.node("div",{class:"pt__input has-icon-right"},nodes.input=cm.node("input",{type:"text"}),nodes.icon=cm.node("div",{class:that.params.icons.datepicker})),nodes.menuContainer=cm.node("div",{class:"form"},nodes.calendarContainer=cm.node("div",{class:"calendar-holder"}))),cm.isEmpty(that.params.size)||cm.addClass(nodes.container,["size",that.params.size].join("-")),that.params.showTitleTooltip&&!cm.isEmpty(that.params.title)&&(nodes.container.title=that.params.title),that.params.node.id&&(nodes.container.id=that.params.node.id),that.params.name&&nodes.hidden.setAttribute("name",that.params.name),that.params.showPlaceholder&&!cm.isEmpty(that.params.placeholder)&&nodes.input.setAttribute("placeholder",that.params.placeholder),that.params.showClearButton&&(cm.addClass(nodes.container,"has-clear-button"),nodes.container.appendChild(nodes.clearButton=cm.n
1ode("div",{class:that.params.icons.clear,title:that.lang("Clear date")}))),that.params.showTodayButton&&nodes.menuContainer.appendChild(nodes.todayButton=cm.node("div",{class:"button today is-wide"},that.lang(that.params.isDateTime?"Now":"Today"))),that.params.isDateTime&&(nodes.timeHolder=cm.node("div",{class:"time-holder"},cm.node("dl",{class:"form-box"},cm.node("dt",that.lang("Time")),nodes.timeContainer=cm.node("dd"))),cm.insertAfter(nodes.timeHolder,nodes.calendarContainer)),that.embedStructure(nodes.container)},setLogic=function(){cm.addEvent(nodes.input,"keypress",inputKeypressHandler),cm.addEvent(nodes.input,"keyup",inputKeyHandler),that.params.showClearButton&&cm.click.add(nodes.clearButton,()=>{that.clear(),components.menu.hide(!1)}),that.params.showTodayButton&&cm.click.add(nodes.todayButton,()=>{that.set(new Date),components.menu.hide(!1)}),renderMenu(),renderCalendar(),that.disabled?that.disable():that.enable()},renderMenu=function(){cm.getConstructor(that.params.tooltip.constructor,e=>{components.menu=new e(cm.merge(that.params.tooltip.constructorParams,{container:that.params.renderInBody?document.body:nodes.container,content:nodes.menuContainer,target:nodes.target,events:{onShowStart:onShow,onHideStart:onHide}}))})},renderCalendar=function(){cm.getConstructor(that.params.calendar.constructor,e=>{components.calendar=new e(cm.merge(that.params.calendar.constructorParams,{node:nodes.calendarContainer,startYear:that.params.startYear,endYear:that.params.endYear,startWeekDay:that.params.startWeekDay,langs:that.params.langs,events:{onMonthRender:()=>{that.date&&components.calendar.selectDay(that.date)},onDayClick:(e,t)=>{setDate(null,null,t.day),components.calendar.unSelectDay(that.previousDate),components.calendar.selectDay(that.date),set(!0),that.params.isDateTime||components.menu.hide(!1)}}}))}),that.params.isDateTime&&cm.getConstructor(that.params.timeSelect.constructor,e=>{components.time=new e(cm.merge(that.params.timeSelect.constructorParams,{container:nodes.timeContainer,minutesInterval:that.params.minutesInterval})),components.time.addEvent("onChange",()=>{setDate(),components.calendar.set(that.date.getFullYear(),that.date.getMonth(),!1),components.calendar.selectDay(that.date),set(!0)})})},inputKeypressHandler=function(e){"Enter"===e.code&&cm.preventDefault(e)},inputKeyHandler=function(e){var t=nodes.input.value;"Enter"===e.code&&(cm.preventDefault(e),validateInputValue(),components.menu.hide(!1)),"Delete"===e.code&&cm.isEmpty(t)&&that.clear(!0)},setEvents=function(){that.params.customEvents&&cm.customEvent.add(nodes.container,"destruct",that.destructHandler)},unsetEvents=function(){that.params.customEvents&&cm.customEvent.remove(nodes.container,"destruct",that.destructHandler)},onShow=function(){renderCalendarMonth(),cm.addClass(nodes.container,"active"),that.triggerEvent("onFocus",that.value)},onHide=function(){setInputValues(),nodes.input.blur(),cm.removeClass(nodes.container,"active"),that.triggerEvent("onBlur",that.value)},validateInputValue=function(){var e=nodes.input.value,t=new Date(e);cm.isEmpty(e)||!cm.isDateValid(t)?that.clear(!0):that.set(t,null,!0)},set=function(e){that.previousValue=that.value,that.date?(setDate(),that.value=cm.dateFormat(that.date,that.format,that.lang())):that.value=cm.dateFormat(!1,that.format,that.lang()),setInputValues(),renderCalendarMonth(),e&&(that.triggerEvent("onSelect",that.value),onChange())},setDate=function(e,t,n,a,s,o){that.date?that.previousDate=cm.clone(that.date):(that.date=new Date,that.previousDate=null),e=cm.isUndefined(e)?components.calendar.getFullYear():e,t=cm.isUndefined(t)?components.calendar.getMonth():t,cm.isEmpty(e)||that.date.setFullYear(e),cm.isEmpty(t)||that.date.setMonth(t),cm.isEmpty(n)||that.date.setDate(n),that.params.isDateTime&&(a=cm.isUndefined(a)?components.time.getHours():a,s=cm.isUndefined(s)?components.time.getMinutes():s,o=cm.isUndefined(o)?0:o,cm.isEmpty(a)||that.date.setHours(a),cm.isEmpty(s)||that.date.setMinutes(s),cm.isEmpty(o)||that.date.setSeconds(o))},renderCalendarMonth=function(){that.date&&components.calendar.set(that.date.getFullYear(),that.date.getMonth()),components.calendar.renderMonth()},setInputValues=function(){that.date?(nodes.input.value=cm.dateFormat(that.date,that.displayFormat,that.
1strings),nodes.hidden.value=that.value):(nodes.input.value="",that.params.setEmptyDateByFormat?nodes.hidden.value=cm.dateFormat(!1,that.format,that.strings):nodes.hidden.value="")},onChange=function(){that.previousValue&&(that.value||!that.previousValue)&&that.value===that.previousValue||that.triggerEvent("onChange",that.value)};that.destruct=function(){return this.isDestructed||(this.isDestructed=!0,cm.customEvent.trigger(nodes.calendarContainer,"destruct",{direction:"child",self:!1}),unsetEvents(),this.removeFromStack()),this},that.get=function(e){return e=cm.isUndefined(e)?that.format:e,that.date||that.params.setEmptyDateByFormat?cm.dateFormat(that.date,e,that.strings):""},that.getDate=function(){return that.date},that.getFullYear=function(){return that.date?that.date.getFullYear():null},that.getMonth=function(){return that.date?that.date.getMonth():null},that.getDay=function(){return that.date?that.date.getDate():null},that.getHours=function(){return that.date?that.date.getHours():null},that.getMinutes=function(){return that.date?that.date.getMinutes():null},that.set=function(e,t,n){t=cm.isUndefined(t)?that.format:t,n=!!cm.isUndefined(n)||n;var a=cm.dateFormat(!1,t,that.lang());return cm.isEmpty(e)||e===a?that.clear():(cm.isDate(e)?that.date=e:that.date=cm.parseDate(e,t),components.calendar.set(that.date.getFullYear(),that.date.getMonth(),!1),that.params.isDateTime&&components.time.set(that.date,null,!1),set(n)),that},that.clear=function(e){return e=!!cm.isUndefined(e)||e,that.date=null,components.calendar.clear(!1),that.params.isDateTime&&components.time.clear(!1),set(!1),e&&(that.triggerEvent("onClear",that.value),onChange()),that},that.disable=function(){return that.disabled=!0,cm.addClass(nodes.container,"disabled"),nodes.input.disabled=!0,components.menu.disable(),that},that.enable=function(){return that.disabled=!1,cm.removeClass(nodes.container,"disabled"),nodes.input.disabled=!1,components.menu.enable(),that},that.getNodes=function(e){return nodes[e]||nodes},init()}),Com.FormFields.add("date-picker",{node:cm.node("input",{type:"text"}),fieldConstructor:"Com.AbstractFormField",constructor:"Com.Datepicker"}),cm.define("Com.DateSelect",{modules:["Params","DataConfig","Langs","Events","Structure","Stack"],events:["onSelect","onChange"],params:{input:null,node:cm.node("input",{type:"text"}),name:"",embedStructure:"replace",container:null,fields:["year","month","day"],format:"cm._config.dateFormat",startYear:1950,endYear:"current + 10",renderSelectsInBody:!0,fieldSizes:{year:"small",month:"medium",day:"x-small"}},strings:{Day:"Day",Month:"Month",Year:"Year",months:["January","February","March","April","May","June","July","August","September","October","November","December"]}},function(params){var that=this,nodes={},defaultDate={day:"00",month:"00",year:"0000"},init=(that.components={},that.options={},that.isDestructed=!1,that.previous=cm.clone(defaultDate),that.selected=cm.clone(defaultDate),function(){that.setParams(params),preValidateParams(),that.convertEvents(that.params.events),that.getDataConfig(that.params.node),validateParams(),render(),that.addToStack(nodes.container),set(that.params.node.value)}),preValidateParams=function(){cm.isNode(that.params.input)&&(that.params.node=that.params.input)},validateParams=function(){cm.isNode(that.params.node)&&(that.params.name=that.params.node.getAttribute("name")||that.params.name),"now"===that.params.value&&(that.params.value=new Date),/current/.test(that.params.startYear)&&(that.params.startYear=eval(cm.strReplace(that.params.startYear,{current:(new Date).getFullYear()}))),/current/.test(that.params.endYear)&&(that.params.endYear=eval(cm.strReplace(that.params.endYear,{current:(new Date).getFullYear()})))},render=function(){nodes.container=cm.node("div",{class:"com__dateselect"},nodes.hidden=cm.node("input",{type:"hidden"}),cm.node("div",{class:"pt__toolbar bottom is-not-adaptive"},cm.node("div",{class:"inner clear"},nodes.fields=cm.node("ul",{class:"group is-adaptive-flex"})))),renderFields(),that.params.name&&nodes.hidden.setAttribute("name",that.params.name),that.embedStructure(nodes.container)},renderFields=function(){cm.forEach(that.params.fields,function(e){switch(e){case"year":renderYearField();break;case"month":renderMonthField();break;case"day":renderDayField()}})},renderYearField=function(){nodes.year=cm.node("li",{class:"is-field"}),cm.addClass(nodes.year,that.params.fieldSizes.year),cm.appendChild(nodes.year,nodes.fields),that.options.year=[{value:"0000",text:that.lang("Year"),placeholder:!0}];for(var e=that.params.endYear;e>=that.params.startYear;e--)that.options.year.push({value:e,text:e});that.components.year=new Com.Select({container:nodes.year,title:that.lang("Year"),showTitleTag:!1,options:that.options.year,renderInBody:that.params.renderSelectsInBody,events:{onChange:function(e,t){that.previous=cm.clone(that.selected),that.selected.year=t,setMisc(!0)}}})}
1,renderMonthField=function(){nodes.month=cm.node("li",{class:"is-field"}),cm.addClass(nodes.month,that.params.fieldSizes.month),cm.appendChild(nodes.month,nodes.fields),that.options.month=[{value:"00",text:that.lang("Month"),placeholder:!0}],cm.forEach(that.lang("months"),function(e,t){that.options.month.push({value:cm.addLeadZero(parseInt(t+1)),text:e})}),that.components.month=new Com.Select({container:nodes.month,title:that.lang("Month"),showTitleTag:!1,options:that.options.month,renderInBody:that.params.renderSelectsInBody,events:{onChange:function(e,t){that.previous=cm.clone(that.selected),that.selected.month=t,setMisc(!0)}}})},renderDayField=function(){nodes.day=cm.node("li",{class:"is-field"}),cm.addClass(nodes.day,that.params.fieldSizes.day),cm.appendChild(nodes.day,nodes.fields),that.options.day=[{value:"00",text:that.lang("Day"),placeholder:!0,i:0}];for(var e=1;e<=31;e++)that.options.day.push({value:cm.addLeadZero(e),text:e,i:e});that.components.day=new Com.Select({container:nodes.day,title:that.lang("Day"),showTitleTag:!1,options:that.options.day,renderInBody:that.params.renderSelectsInBody,events:{onChange:function(e,t){that.previous=cm.clone(that.selected),that.selected.day=t,setMisc(!0)}}})},set=function(e,t){that.previous=cm.clone(that.selected),e&&e!==toStr(defaultDate)?e instanceof Date?that.selected=fromStr(cm.parseDate(e)):that.selected=fromStr(e):that.selected=cm.clone(defaultDate),that.components.day&&that.components.day.set(that.selected.day,!1),that.components.month&&that.components.month.set(that.selected.month,!1),that.components.year&&that.components.year.set(that.selected.year,!1),setMisc(t)},setMisc=function(e){var t,n;nodes.hidden.value=toStr(that.selected),that.components.day&&(t="0000"===that.selected.year?2e3:that.selected.year,n=new Date(t,that.selected.month,0).getDate(),cm.forEach(that.options.day,function(e){that.components.day.toggleOptionVisibility(e.value,e.i<=n)}),parseInt(that.selected.day)>n)&&that.components.day.set("00"),e&&(that.triggerEvent("onSelect",toStr(that.selected)),toStr(that.selected)!==toStr(that.previous))&&that.triggerEvent("onChange",toStr(that.selected))},fromStr=function(n,a){var t=cm.clone(defaultDate),e={YYYY:function(e){t.year=e},mm:function(e){t.month=e},dd:function(e){t.day=e}},s=0;return a=a||that.params.format,cm.forEach({"%Y":"YYYY","%m":"mm","%d":"dd"},function(e,t){a=a.replace(t,e)}),cm.forEach(e,function(e,t){for(s=a.indexOf(t);-1!=s;)e(n.substr(s,t.length)),s=a.indexOf(t,s+1)}),t},toStr=function(e,t){var n,a=t||that.params.format;return cm.forEach((n=e,{"%Y":function(){return n.year},"%m":function(){return n.month},"%d":function(){return n.day}}),function(e,t){a=a.replace(t,e)}),a};that.destruct=function(){return this.isDestructed||(this.isDestructed=!0,this.removeFromStack()),this},that.get=function(e){return e=e||that.params.format,toStr(that.selected,e)},that.getDate=function(){return that.selected},that.set=function(e){return set(e,!0),that},init()}),Com.FormFields.add("date-select",{node:cm.node("input",{type:"text"}),fieldConstructor:"Com.AbstractFormField",constructor:"Com.DateSelect"}),cm.define("Com.FileInput",{extend:"Com.AbstractInput",params:{controllerEvents:!0,embedStructure:"replace",hiddenType:"textarea",className:"com__file-input",size:"full",showLink:!0,showFilename:!0,showClearButton:!0,autoOpen:!1,placeholder:null,buttonsAdaptive:!1,defaultValue:"",accept:[],acceptSizes:{min:0,max:0},readValueType:"base64",outputValueType:"object",local:!0,fileManager:!1,fileManagerConstructor:"Com.AbstractFileManagerContainer",fileManagerParams:{constructorParams:{max:1}},fileUploader:!1,fileUploaderConstructor:"Com.FileUploaderContainer",fileUploaderParams:{constructorParams:{max:1}},dropzone:!0,dropzoneConstructor:"Com.FileDropzone",dropzoneParams:{embedStructure:"append",max:1,rollover:!0},fileReaderConstructor:"Com.FileReader",fileReaderParams:{readOnRender:!1}},strings:{browse:"Browse",browse_local:"Browse Local",browse_filemanager:"Browse File Manager",remove:"Remove",open:"Open",errors:{accept:"File type is not accepted",sizes:"File size does not meet requirements"}}},function(){Com.AbstractInput.apply(this,arguments)}),cm.getConstructor("Com.FileInput",function(e,t,n,a){n.construct=function(){var e=this;
1e.browseHandler=e.browse.bind(e),e.browseActionHandler=e.browseAction.bind(e),e.processFilesHandler=e.processFiles.bind(e),a.prototype.construct.apply(e,arguments)},n.onInitComponentsStart=function(){let t=this;cm.getConstructor(t.params.fileReaderConstructor,e=>{t.components.validator=new e(t.params.fileReaderParams)})},n.onValidateParamsEnd=function(){var e=this;e.setLangs({_browse_local:e.params.fileManager?e.msg("browse_local"):e.msg("browse"),_browse_filemanager:e.params.local?e.msg("browse_filemanager"):e.msg("browse")}),e.params.dropzone=!!e.params.local&&e.params.dropzone,e.params.fileUploaderParams.openOnConstruct=e.params.autoOpen,e.params.fileUploaderParams.constructorParams.local=e.params.local,e.params.fileUploaderParams.constructorParams.fileManager=e.params.fileManager,e.params.fileReaderParams.readValueType=e.params.readValueType,e.params.local=!e.params.fileUploader&&e.params.local,e.params.fileManagerParams.openOnConstruct=e.params.autoOpen,e.params.fileManager=!e.params.fileUploader&&e.params.fileManager},n.onReset=function(){this.releaseFileURL()},n.onDestruct=function(){this.releaseFileURL()},n.renderViewModel=function(){let n=this;a.prototype.renderViewModel.apply(n,arguments),cm.getConstructor(n.params.fileReaderConstructor,e=>{n.components.reader=new e(cm.merge(n.params.fileReaderParams,{events:{onReadSuccess:(e,t)=>n.set(t,!0)}}))}),n.params.dropzone&&cm.getConstructor(n.params.dropzoneConstructor,e=>{n.components.dropzone=new e(cm.merge(n.params.dropzoneParams,{disabled:n.params.disabled,container:n.nodes.content.inner,target:n.nodes.content.content,events:{onDrop:(e,t)=>n.processFiles(t)}}))}),n.params.fileManager&&cm.getConstructor(n.params.fileManagerConstructor,e=>{n.components.fileManager=new e(cm.merge(n.params.fileManagerParams,{node:n.nodes.content.browseFileManager,events:{onComplete:(e,t)=>n.processFiles(t)}}))}),n.params.fileUploader&&cm.getConstructor(n.params.fileUploaderConstructor,e=>{n.components.fileUploader=new e(cm.merge(n.params.fileUploaderParams,{node:n.nodes.content.browseFileUploader,events:{onComplete:(e,t)=>n.processFiles(t)}}))})},n.renderContent=function(){this.triggerEvent("onRenderContentStart");var e={};return(this.nodes.content=e).container=cm.node("div",{classes:"com__file-input__content"},e.inner=cm.node("div",{classes:"inner"},e.content=cm.node("div",{classes:"com__file-input__holder"},e.buttons=cm.node("div",{classes:"pt__file-line"},e.buttonsInner=cm.node("div",{classes:"inner"},e.label=cm.node("div",{classes:"label"}),e.placeholder=cm.node("div",{classes:"label label-placeholder",innerHTML:this.params.placeholder})))))),this.renderButtons(),this.triggerEvent("onRenderContentProcess"),this.triggerEvent("onRenderContentEnd"),e.container},n.renderLocalInput=function(){this.nodes.content.input=cm.node("input",{classes:"input__browse",type:"file",autocomplete:"off"}),!cm.isEmpty(this.params.accept)&&cm.isArray(this.params.accept)&&(this.nodes.content.input.accept=this.params.accept.join(",")),cm.addEvent(this.nodes.content.input,"change",this.browseActionHandler),cm.insertFirst(this.nodes.content.input,this.nodes.content.content)},n.renderButtons=function(){var e=this;e.nodes.content.clear=cm.node("button",{type:"button",classes:"button button-primary"},e.msg("remove")),cm.click.add(e.nodes.content.clear,e.clearEventHandler),cm.insertFirst(e.nodes.content.clear,e.nodes.content.buttonsInner),e.params.showClearButton||cm.addClass(e.nodes.content.clear,"is-hidden"),e.params.local&&(e.renderLocalInput(),e.nodes.content.browseLocal=cm.node("button",{type:"button",classes:"button button-primary"},e.msg("_browse_local")),cm.click.add(e.nodes.content.browseLocal,e.browseHandler),cm.insertFirst(e.nodes.content.browseLocal,e.nodes.content.buttonsInner)),e.params.fileManager&&(e.nodes.content.browseFileManager=cm.node("button",{type:"button",classes:"button button-primary"},e.msg("_browse_filemanager")),cm.insertFirst(e.nodes.content.browseFileManager,e.nodes.content.buttonsInner)),e.params.fileUploader&&(e.nodes.content.browseFileUploader=cm.node("button",{type:"button",classes:"button button-primary"},e.msg("browse")),cm.insertFirst(e.nodes.content.browseFileUploader,e.nodes.content.buttonsInner))},n.browseAction=function(e){cm.preventDefault(e);e=e.target.files[0];return this.processFiles(e),this},n.processFiles=function(e){let t=this;return cm.isFile(e)?t.components.reader.read(e):cm.isArray(e)?cm.forEach(e,function(e){t.process
1Files(e)}):cm.isEmpty(e)||t.set(e,!0),t},n.releaseFileURL=function(){cm.isEmpty(this.value)||cm.isEmpty(this.value.url)||window.URL.revokeObjectURL(this.value.url)},n.isAcceptableFileFormat=function(e){let t;return t=!(!cm.isEmpty(this.params.accept)&&cm.isArray(this.params.accept)&&!cm.isEmpty(e)&&!cm.isEmpty(e.file))||cm.inArray(this.params.accept,e.type),this.params.formField&&(t?this.params.formField.clearError():this.params.formField.renderError(this.msg("errors.accept"))),t},n.isAcceptableFileSizes=function(e){let t;return t=!!(cm.isEmpty(this.params.acceptSizes)||cm.isEmpty(e)||cm.isEmpty(e.file))||e.size>=this.params.acceptSizes.min&&(0===this.params.acceptSizes.max||e.size<=this.params.acceptSizes.max),this.params.formField&&(t?this.params.formField.clearError():this.params.formField.renderError(this.msg("errors.sizes"))),t},n.get=function(){var e="file"===this.params.outputValueType?this.value.file||this.value.value||this.value||"":this.value||"";return e},n.validateValue=function(e){e=this.components.validator.validate(e);return cm.isEmpty(e.value)&&cm.isEmpty(e.file)||!this.isAcceptableFileFormat(e)||!this.isAcceptableFileSizes(e)?this.params.defaultValue:e},n.setData=function(){var e=this;return cm.isEmpty(e.value)?(cm.toggleClass(e.nodes.content.placeholder,"is-hidden",cm.isEmpty(e.params.placeholder)),cm.addClass(e.nodes.content.label,"is-hidden"),cm.clearNode(e.nodes.content.label),e.params.showClearButton&&(cm.removeClass(e.nodes.content.browseLocal,"is-hidden"),cm.removeClass(e.nodes.content.browseFileManager,"is-hidden"),cm.removeClass(e.nodes.content.browseFileUploader,"is-hidden"),cm.addClass(e.nodes.content.clear,"is-hidden")),e.params.buttonsAdaptive&&cm.addClass(e.nodes.content.buttons,"is-adaptive"),e.params.local&&(e.nodes.content.input.value="")):(cm.addClass(e.nodes.content.placeholder,"is-hidden"),cm.clearNode(e.nodes.content.label),cm.removeClass(e.nodes.content.label,"is-hidden"),e.params.showFilename&&(e.params.showLink?e.nodes.content.link=cm.node("a",{target:"_blank",href:e.value.url,title:e.msg("open")},e.value.name):e.nodes.content.link=cm.textNode(e.value.name),cm.appendChild(e.nodes.content.link,e.nodes.content.label)),e.params.showClearButton&&(cm.addClass(e.nodes.content.browseLocal,"is-hidden"),cm.addClass(e.nodes.content.browseFileManager,"is-hidden"),cm.addClass(e.nodes.content.browseFileUploader,"is-hidden"),cm.removeClass(e.nodes.content.clear,"is-hidden")),e.params.buttonsAdaptive&&cm.removeClass(e.nodes.content.buttons,"is-adaptive")),e},n.browse=function(){return this.params.local&&this.nodes.content.input.click(),this}}),Com.FormFields.add("file",{node:cm.node("input",{type:"text"}),value:"",defaultValue:"",fieldConstructor:"Com.AbstractFormField",constructor:"Com.FileInput"}),cm.define("Com.HiddenStoreField",{extend:"Com.AbstractInputContainer",params:{constructor:"Com.AbstractInput",storeRaw:!1,triggerName:null}},function(e){Com.AbstractInputContainer.apply(this,arguments)}),cm.getConstructor("Com.HiddenStoreField",function(e,t,n,a){n.onConstructStart=function(){this.processDataHandler=this.processData.bind(this)},n.onRenderController=function(){var e=this.components.form.getField(this.params.triggerName);e&&(this.components.trigger=e.controller,this.components.trigger.addEvent("onChange",this.processDataHandler),this.components.trigger.addEvent("onReset",this.resetHandler))},n.processData=function(){var e=this.params.storeRaw?this.components.trigger.getRaw():this.components.trigger.get();this.set(e)}}),Com.FormFields.add("hidden-store",{node:cm.node("input",{type:"hidden"}),visible:!1,fieldConstructor:"Com.AbstractFormField",constructor:"Com.HiddenStoreField"}),cm.define("Com.ImageInput",{extend:"Com.FileInput",params:{hiddenType:"textarea",className:"com__image-input",size:"default",fit:"cover",aspect:!1,types:{image:cm._config.fileTypes.image,video:cm._config.fileTypes.video,embed:cm._config.fileTypes.embed},showLabel:!0,showLink:!0,accept:[],acceptDimensions:{minWidth:0,minHeight:0},preview:!0,previewConstructor:"Com.ImagePreviewContainer",previewParams:{}},strings:{preview:"Preview",errors:{dimensions:"Image dimensions do not meet size requirements"}}},function(){Com.FileInput.apply(this,arguments)}),cm.getConstructor("Com.ImageInput",function(e,t,n,a){n.renderViewModel=function(){let t=this;a.prototype.renderViewModel.apply(t,arguments),t.params.preview&&cm.getConstructor(t.params.previewConstructor,function(e){t.components.preview=new e(cm.merge(t.params.previewParams,{node:t.nodes.content.previewButton}))})},n.renderContent=function(){this.triggerEvent("onRenderContentStart");var e={};return(this.nodes.content=e).container=cm.node("div",{classes:"com__image-input__content"},e.inner=cm.node("div",{classes:"inner"},e.content=cm.node("div",{classes:"input__holder"}
1,cm.node("div",{classes:"input__cover"},e.label=cm.node("div",{classes:"input__label"}),e.buttonsInner=cm.node("div",{classes:"input__buttons"})),e.imageContainer=cm.node("div",{classes:"pt__image"},e.imageHolder=cm.node("div",{classes:"inner"}))))),this.params.aspect&&(cm.addClass(e.imageContainer,"is-background has-aspect"),cm.addClass(e.imageContainer,["cm__aspect",this.params.aspect].join("-"))),this.params.fit&&cm.addClass(e.imageContainer,["is",this.params.fit].join("-")),this.renderButtons(),this.triggerEvent("onRenderContentProcess"),this.triggerEvent("onRenderContentEnd"),e.container},n.renderButtons=function(){var e=this;e.nodes.content.clearButton=cm.node("button",{type:"button",classes:["button","button-danger","input__button","input__button--remove"]},cm.node("span",e.msg("remove"))),cm.click.add(e.nodes.content.clearButton,e.clearEventHandler),cm.insertFirst(e.nodes.content.clearButton,e.nodes.content.buttonsInner),e.params.preview&&(e.nodes.content.previewButton=cm.node("button",{type:"button",classes:["button","button-primary","input__button","input__button--preview"]},cm.node("span",e.msg("preview"))),cm.insertFirst(e.nodes.content.previewButton,e.nodes.content.buttonsInner)),e.params.local&&(e.renderLocalInput(),e.nodes.content.browseLocal=cm.node("button",{type:"button",classes:["button","button-primary","input__button","input__button--browse"]},cm.node("span",e.msg("_browse_local"))),cm.click.add(e.nodes.content.browseLocal,e.browseHandler),cm.insertFirst(e.nodes.content.browseLocal,e.nodes.content.buttonsInner)),e.params.fileManager&&(e.nodes.content.browseFileManager=cm.node("button",{type:"button",classes:["button","button-primary","input__button","input__button--browse"]},cm.node("span",e.msg("_browse_filemanager"))),cm.insertFirst(e.nodes.content.browseFileManager,e.nodes.content.buttonsInner)),e.params.fileUploader&&(e.nodes.content.browseFileUploader=cm.node("button",{type:"button",classes:["button","button-primary","input__button","input__button--browse"]},cm.node("span",e.msg("browse"))),cm.insertFirst(e.nodes.content.browseFileUploader,e.nodes.content.buttonsInner))},n.isAcceptableImageDimensions=function(e){let t;return t=!(!(cm.isEmpty(this.params.acceptDimensions)||cm.isEmpty(e)||cm.isEmpty(e.file))&&e._isLoaded&&this.params.types.image.test(e.type)&&"image/svg+xml"!==e.type)||e.width>=this.params.acceptDimensions.minWidth&&e.height>=this.params.acceptDimensions.minHeight,this.params.formField&&(t?this.params.formField.clearError():this.params.formField.renderError(this.msg("errors.dimensions"))),t},n.validateValue=function(e){e=this.components.validator.validate(e);return cm.isEmpty(e.value)&&cm.isEmpty(e.file)||!this.isAcceptableFileFormat(e)||!this.isAcceptableFileSizes(e)||!this.isAcceptableImageDimensions(e)?this.params.defaultValue:e},n.setData=function(){var e=this;cm.isEmpty(e.value)?(cm.clearNode(e.nodes.content.label),cm.addClass(e.nodes.content.label,"is-hidden"),cm.addClass(e.nodes.content.clearButton,"is-hidden"),e.params.local&&(e.nodes.content.input.value="")):(cm.clearNode(e.nodes.content.label),e.params.showLabel&&(e.params.showLink?e.nodes.content.link=cm.node("a",{target:"_blank",href:e.value.url,title:e.msg("open")},e.value.name):e.nodes.content.link=cm.textNode(e.value.name),cm.appendChild(e.nodes.content.link,e.nodes.content.label),cm.removeClass(e.nodes.content.label,"is-hidden")),cm.removeClass(e.nodes.content.clearButton,"is-hidden")),e.setPreviewData()},n.setPreviewData=function(){var e=this;cm.remove(e.nodes.content.image),cm.remove(e.nodes.content.video),cm.isEmpty(e.value)?(e.components.preview&&e.components.preview.clear(),cm.addClass(e.nodes.content.previewButton,"is-hidden"),cm.addClass(e.nodes.content.imageContainer,"is-default-image"),e.renderPreviewDefault()):(e.components.preview&&e.components.preview.set(e.value),cm.removeClass(e.nodes.content.previewButton,"is-hidden"),cm.removeClass(e.nodes.content.imageContainer,"is-default-image"),e.params.types.video.test(e.value.type)?e.renderPreviewVideo():e.renderPreviewImage())},n.renderPreviewDefault=function(){this.nodes.content.image=cm.node("div",{classes:"descr"}),cm.appendChild(this.nodes.content.image,this.nodes.content.imageHolder)},n.renderPreviewImage=function(){this.nodes.content.image=cm.node("div",{classes:"descr"}),this.nodes.content.image.style.backgroundImage=cm.URLToCSSURL(this.value.url),cm.appendChild(this.nodes.content.image,this.nodes.content.imageHolder)},n.renderPreviewVideo=function(){let e=this;e.nodes.content.video=cm.node("video",{classes:"descr",preload:"none",playsinline:!0,controls:!1,muted:!0,tabindex:-1}),e.nodes.content.video.controls=!1,e.nodes.content.video.playsinline=!0,e.nodes.content.video.playsInl
1ine=!0,e.nodes.content.video.muted=!0,e.nodes.content.video.loop=!0,e.nodes.content.video.autoplay=!0,cm.addEvent(e.nodes.content.video,"loadeddata",function(){e.nodes.content.video.pause()}),cm.addEvent(e.nodes.content.video,"loadedmetadata",function(){e.nodes.content.video.pause()}),cm.addEvent(e.nodes.content.video,"canplay",function(){e.nodes.content.video.pause()}),e.nodes.content.videoSource=cm.node("source",{src:e.value.url}),cm.appendChild(e.nodes.content.videoSource,e.nodes.content.video),cm.appendChild(e.nodes.content.video,e.nodes.content.imageHolder)}}),Com.FormFields.add("image",{node:cm.node("input",{type:"text"}),value:"",defaultValue:"",fieldConstructor:"Com.AbstractFormField",constructor:"Com.ImageInput"}),cm.define("Com.IndentInput",{extend:"Com.AbstractInput",params:{maxLength:3,units:"px",defaultValue:"",allowCustom:!1,allowNegative:!1,allowFloat:!1}},function(e){Com.AbstractInput.apply(this,arguments)}),cm.getConstructor("Com.IndentInput",function(e,t,n,a){n.construct=function(){this.setValueHandler=this.setValue.bind(this),a.prototype.construct.apply(this,arguments)},n.renderContent=function(){var n=this,e={allowNegative:n.params.allowNegative,allowFloat:n.params.allowFloat},t={};return n.nodes.content=t,n.triggerEvent("onRenderContentStart"),t.container=cm.node("div",{class:"pt__input"},t.input=cm.node("input",{type:"text"})),cm.isEmpty(n.params.placeholder)||(t.input.placeholder=n.params.placeholder),cm.setInputMaxLength(t.input,n.params.maxLength,n.params.max),n.triggerEvent("onRenderContentProcess"),cm.addEvent(t.input,"blur",n.setValueHandler),cm.addEvent(t.input,"keypress",function(e){"Enter"===e.code&&(cm.preventDefault(e),n.setValue(),t.input.blur())}),n.params.allowCustom?cm.addEvent(t.input,"input",function(e){n.selectAction(t.input.value,!0)}):cm.allowOnlyNumbersInputEvent(t.input,function(e,t){n.selectAction(n.validateValue(t),!0)},e),n.triggerEvent("onRenderContentEnd"),t.container},n.validateValue=function(e){return this.rawValue=cm.isEmpty(e)?this.params.defaultValue:e,cm.isEmpty(this.rawValue)||isNaN(this.rawValue)?this.rawValue:this.rawValue+this.params.units},n.setValue=function(e){return e=!!cm.isUndefined(e)||e,this.set(this.rawValue,e),this},n.setData=function(){return this.nodes.content.input.value=this.rawValue,this}}),Com.FormFields.add("indent",{node:cm.node("input",{type:"text"}),fieldConstructor:"Com.AbstractFormField",constructor:"Com.IndentInput"}),cm.define("Com.Input",{extend:"Com.AbstractInput",events:["onInputStart","onEnterPress","onKeyPress","onKeyDown","onKeyUp","onIconClick","onFocus","onBlur"],params:{controllerEvents:!0,trimValue:!0,limitValue:!0,constraints:{},autoResize:!1,enterPressBehavior:!1,renderLengthHint:!1,type:"text",inputmode:null,inputClasses:[],lazy:!1,delay:"cm._config.requestDelay",icon:null,iconTitle:null,iconEvents:!0,iconInsertMethod:"appendChild"},strings:{hints:{length:{count:"{count} {#plural:{count}|character|characters}",remaining:"{count} {#plural:{count}|character|characters} remaining",over:"{count} {#plural:{count}|character|characters} over the limit"}}}},function(){Com.AbstractInput.apply(this,arguments)}),cm.getConstructor("Com.Input",function(e,t,n,a){n.construct=function(){var e=this;e.selectionStartInitial=null,e.selectionEndInitial=null,e.isFocus=!1,e.wasFocus=!1,e.lazyDelay=null,e.constraints={},e.focusHandler=e.focus.bind(e),e.blurHandler=e.blur.bind(e),e.inputEventHandler=e.inputEvent.bind(e),e.focusEventHandler=e.focusEvent.bind(e),e.blurEventHandler=e.blurEvent.bind(e),e.setValueHandler=e.setValue.bind(e),e.selectValueHandler=e.selectValue.bind(e),e.lazyValueHandler=e.lazyValue.bind(e),e.inputKeyDownHanlder=e.inputKeyDown.bind(e),e.inputKeyUpHanlder=e.inputKeyUp.bind(e),e.inputKeyPressHanlder=e.inputKeyPress.bind(e),e.iconEventHanlder=e.iconEvent.bind(e),a.prototype.construct.apply(e,arguments)},n.onValidateParamsStart=function(){let n=this;cm.forEach(n.params.constraints,(e,t)=>{cm.forEach(e,e=>n.addConstraint(t,e))})},n.onEnable=function(){this.nodes.content.input.disabled=!1},n.onDisable=function(){this.nodes.content.input.disabled=!0},n.onAfterRender=function(){"textarea"===this.params.type&&this.params.autoResize&&(cm.addClass(this.nodes.content.input,"cm-autoresize"),Part.Autoresize(this.nodes.container))},n.renderContent=function(){return this.triggerEvent("onRenderContentStart"),this.nodes.content=this.renderContentView(),this.renderContentAttributes(),this.triggerEvent("onRenderContentProcess"),this.renderContentEvents(),this.triggerEvent("onRenderContentEnd"),this.nodes.content.container},n.renderContentView=function(){var e=this,t={};return t.container=cm.node("div",{classes:"pt__input"},t.inner=cm.node("div",{classes:"inner"})),"textarea"===e.params.type?(t.input=cm.node("textarea",{classes:e.params.inputClasses}
1),cm.addClass(t.container,"pt__input--textarea"),cm.addClass(e.nodes.container,"com__input--textarea")):t.input=cm.node("input",{classes:e.params.inputClasses,type:e.params.type}),cm.appendChild(t.input,t.inner),e.params.icon&&(cm.addClass(t.container,"has-icon"),t.icon=e.renderIcon({icon:e.params.icon,title:e.params.iconTitle}),cm[e.params.iconInsertMethod](t.icon,t.inner)),e.params.renderLengthHint&&(t.lengthHint=e.renderLengthHint(),cm.appendChild(t.lengthHint,t.inner)),t},n.renderContentAttributes=function(){var e=this;e.nodes.content.input.required=e.params.required,cm.setInputMinLength(e.nodes.content.input,e.params.minLength,e.params.min),cm.setInputMaxLength(e.nodes.content.input,e.params.maxLength,e.params.max,e.params.limitMaxLength),cm.isEmpty(e.params.placeholder)||(e.nodes.content.input.placeholder=e.params.placeholder,e.nodes.content.icon&&(e.nodes.content.icon.title=e.params.placeholder)),cm.isEmpty(e.params.title)||(e.nodes.content.input.title=e.params.title,e.nodes.content.icon&&(e.nodes.content.icon.title=e.params.title)),cm.isEmpty(e.params.ariaLabel)||e.nodes.content.input.setAttribute("aria-label",e.params.ariaLabel),cm.isEmpty(e.params.id)||e.nodes.content.input.setAttribute("id",e.params.id),cm.isEmpty(e.params.inputmode)||e.nodes.content.input.setAttribute("inputmode",e.params.inputmode),cm.isEmpty(e.params.autocomplete)||e.nodes.content.input.setAttribute("autocomplete",e.params.autocomplete),e.params.readOnly&&e.nodes.content.input.setAttribute("readonly",!0),e.params.renderName&&(e.nodes.content.input.name=e.params.visibleName||e.params.name)},n.renderContentEvents=function(){var e=this;cm.addEvent(e.nodes.content.input,"input",e.inputEventHandler),cm.addEvent(e.nodes.content.input,"focus",e.focusEventHandler),cm.addEvent(e.nodes.content.input,"blur",e.blurEventHandler),cm.addEvent(e.nodes.content.input,"change",e.setValueHandler),cm.addEvent(e.nodes.content.input,"keydown",e.inputKeyDownHanlder),cm.addEvent(e.nodes.content.input,"keyup",e.inputKeyUpHanlder),cm.addEvent(e.nodes.content.input,"keypress",e.inputKeyPressHanlder),e.params.iconEvents&&(cm.addEvent(e.nodes.content.icon,"mousedown",e.iconEventHanlder),cm.addEvent(e.nodes.content.icon,"click",e.iconEventHanlder))},n.renderIcon=function(e){e=cm.merge({icon:null,title:null},e);var t=cm.isNode(e.icon)?e.icon:this.renderIconView(e);return cm.isEmpty(e.title)||(t.title=e.title),t},n.renderIconView=function(e){return cm.node("div",{classes:e.icon})},n.getIcon=function(){return this.nodes.content.icon},n.renderLengthHint=function(){return cm.node("div",{classes:["pt__field__hint","pull-right"]})},n.updateLengthHint=function(e){var t=0<this.params.maxLength,e=t?this.params.maxLength-e.length:e.length,t=t?e<0?"over":"remaining":"count",e=this.msgParse("hints.length."+t,{count:Math.abs(e)});this.nodes.content.lengthHint.innerText=e,cm.toggleClass(this.nodes.content.lengthHint,"danger","over"==t)},n.inputKeyDown=function(e){var t=this;t.triggerEvent("onKeyDown",t.value,e),t.selectionStartInitial=t.nodes.content.input.selectionStart,t.selectionEndInitial=t.nodes.content.input.selectionStart,t.triggerEvent("onInputStart",t.value),"Enter"===e.code&&("textarea"!==t.params.type&&(cm.preventDefault(e),t.setValue(),t.blur(),t.triggerEvent("onEnterPress",t.value)),"textarea"!==t.params.type||!t.params.enterPressBehavior||"all"!==t.params.enterPressBehavior&&e.shiftKey||(cm.preventDefault(e),t.setValue(),t.blur(),t.triggerEvent("onEnterPress",t.value)))},n.inputKeyUp=function(e){this.triggerEvent("onKeyUp",this.value,e)},n.inputKeyPress=function(e){this.triggerEvent("onKeyPress",this.value,e)},n.inputEvent=function(){this.execConstraint("onInput",!1),this.selectValue(!0),this.params.lazy&&this.lazyValue(!0)},n.focusEvent=function(){this.isFocus=!0,this.execConstraint("onFocus",!1),this.triggerEvent("onFocus",this.value)},n.blurEvent=function(){this.isFocus=!1,this.execConstraint("onBlur",!1),this.setValue(!0),this.triggerEvent("onBlur",this.value)},n.iconEvent=function(e){cm.preventDefault(e),"mousedown"===e.type&&(this.wasFocus=this.isFocus),"click"===e.type&&(this.wasFocus||this.focus(!0),this.triggerEvent("onIconClick"))},n.addConstraint=function(e,t){return this.constraints[e]||(this.constraints[e]=[]),cm.isFunction(t)&&(this.constraints[e]=cm.arrayAdd(this.constraints[e],t)),this},n.removeConstraint=function(e,t){return this.constraints[e]||(this.constraints[e]=[]),cm.isFunction(t)&&(this.constraints[e]=cm.arrayRemove(this.constraints[e],t)),this},n.execConstraint=function(e,t){let n=this;if(n.constraints[e]&&(cm.forEach(n.constraints[e],e=>n.execConstraintHelper(e)),t=!!cm.isUndefined(t)||t))switch(e){case"onInput":n.selectValue(!0);break;case"onChange":n.setValue(!0)}return n},n.execConstraintHelper=function(e){var t,n;cm.isFunction(e)&&(t=this.nodes.content.input.selectionStart,n=e(e=this.nodes.content.input.value),this.nodes.content.input.value=n,-1<e.indexOf(n)||e===n?this.nodes.content.input.setSelectionRange(t,t):this.nodes.content.input.setSelectionRange(this.selectionStartInitial,this.selectionStartInitial))},n.validateValueHelper=function(e){return cm.isEmpty(e)||(this.params.trimValue&&cm.isString(e)&&(e=e.trim()),this.params.limitValue&&"number"===this.params.type&&(e=cm.getMinMax(e,this.params.min,this.params.max,this.params.minLength,this.params.maxLength))),a.prototype.validateValueHelper.call(this,e)},n.lazyValue=function(e){let t=this;
1e=!!cm.isUndefined(e)||e,t.lazyDelay&&clearTimeout(t.lazyDelay),t.lazyDelay=setTimeout(function(){e&&t.setValue(!0)},t.params.delay)},n.setValue=function(e){var t=this.nodes.content.input.value;return e=!!cm.isUndefined(e)||e,this.set(t,e),this},n.selectValue=function(e){var t=this.nodes.content.input.value;return e=!!cm.isUndefined(e)||e,this.selectAction(t,e),this},n.setData=function(e){return this.nodes.content.input.value=cm.isUndefined(e)?this.value:e,this},n.selectData=function(e){this.params.renderLengthHint&&this.updateLengthHint(e)},n.focus=function(e){return!0===e&&(e=this.nodes.content.input.value,this.nodes.content.input.setSelectionRange(0,e.length)),this.nodes.content.input.focus(),this},n.blur=function(){return this.nodes.content.input.blur(),this}}),Com.FormFields.add("input",{node:cm.node("input",{type:"text"}),value:"",defaultValue:"",fieldConstructor:"Com.AbstractFormField",constructor:"Com.Input",constructorParams:{type:"text"}}),Com.FormFields.add("textarea",{node:cm.node("textarea"),value:"",defaultValue:"",fieldConstructor:"Com.AbstractFormField",constructor:"Com.Input",constructorParams:{type:"textarea"}}),Com.FormFields.add("email",{node:cm.node("input",{type:"email"}),value:"",defaultValue:"",fieldConstructor:"Com.AbstractFormField",constructor:"Com.Input",constructorParams:{type:"email"}}),Com.FormFields.add("url",{node:cm.node("input",{type:"url"}),value:"",defaultValue:"",fieldConstructor:"Com.AbstractFormField",constructor:"Com.Input",constructorParams:{type:"url"}}),Com.FormFields.add("search",{node:cm.node("input",{type:"search",inputmode:"search",autocomplete:"off"}),value:"",defaultValue:"",fieldConstructor:"Com.AbstractFormField",constructor:"Com.Input",constructorParams:{type:"search",inputmode:"search"}}),Com.FormFields.add("phone",{node:cm.node("input",{type:"tel"}),value:"",defaultValue:"",fieldConstructor:"Com.AbstractFormField",constructor:"Com.Input",constructorParams:{type:"tel"}}),Com.FormFields.add("number",{node:cm.node("input",{type:"number"}),value:"",defaultValue:"",fieldConstructor:"Com.AbstractFormField",constructor:"Com.Input",constructorParams:{type:"number"}}),Com.FormFields.add("hidden",{node:cm.node("input",{type:"hidden"}),visible:!1,adaptive:!1,value:"",defaultValue:"",fieldConstructor:"Com.AbstractFormField",constructor:"Com.Input",constructorParams:{type:"hidden"}}),cm.define("Com.InputPassword",{extend:"Com.Input",params:{iconVisible:null,iconHidden:null},strings:{iconVisible:"Hide password",iconHidden:"Show password"}},function(){Com.Input.apply(this,arguments)}),cm.getConstructor("Com.InputPassword",function(e,t,n,a){n.construct=function(){this.isPasswordVisible=null,this.iconToggleEventHanlder=this.iconToggleEvent.bind(this),a.prototype.construct.apply(this,arguments)},n.renderContentView=function(){var e=a.prototype.renderContentView.apply(this,arguments);return this.params.iconVisible&&(cm.addClass(e.container,"has-icon"),e.iconVisible=this.renderIcon({icon:this.params.iconVisible,title:this.msg("iconVisible")})),this.params.iconHidden&&(cm.addClass(e.container,"has-icon"),e.iconHidden=this.renderIcon({icon:this.params.iconHidden,title:this.msg("iconHidden")})),e},n.renderContentEvents=function(){var e=this;a.prototype.renderContentEvents.apply(e,arguments),e.params.iconEvents&&(cm.addEvent(e.nodes.content.iconVisible,"mousedown",e.iconEventHanlder),cm.addEvent(e.nodes.content.iconVisible,"click",e.iconToggleEventHanlder),cm.addEvent(e.nodes.content.iconHidden,"mousedown",e.iconEventHanlder),cm.addEvent(e.nodes.content.iconHidden,"click",e.iconToggleEventHanlder))},n.renderContentAttributes=function(){a.prototype.renderContentAttributes.apply(this,arguments),this.iconToggleActin()},n.iconToggleEvent=function(e){cm.preventDefault(e),"click"===e.type&&this.iconToggleActin(),this.iconEvent.apply(this,arguments)},n.iconToggleActin=function(){var e=this.nodes.content;e&&(this.isPasswordVisible=!!cm.isBoolean(this.isPasswordVisible)&&!this.isPasswordVisible,e.input.setAttribute("type",this.isPasswordVisible?"text":"password"),e.iconVisible&&(this.isPasswordVisible?cm[this.params.iconInsertMethod](e.iconVisible,e.inner):cm.remove(e.iconVisible)),e.iconHidden)&&(this.isPasswordVisible?cm.remove(e.iconHidden):cm[this.params.iconInsertMethod](e.iconHidden,e.
1inner))}}),Com.FormFields.add("password",{node:cm.node("input",{type:"password"}),value:"",defaultValue:"",fieldConstructor:"Com.AbstractFormField",constructor:"Com.InputPassword",constructorParams:{type:"password"}}),cm.define("Com.InputTrigger",{extend:"Com.AbstractController",events:["onChange","onInput","onClick"],params:{renderStructure:!1,embedStructureOnRender:!1,controllerEvents:!0,type:"radio",triggerDefault:!1}},function(e){Com.AbstractController.apply(this,arguments)}),cm.getConstructor("Com.InputTrigger",function(e,t,n){n._inherit;n.onConstructStart=function(){var e=this;e.inputs=[],e.changeHandler=e.change.bind(e),e.inputHandler=e.input.bind(e),e.clickHandler=e.click.bind(e)},n.renderViewModel=function(){var t=this;t.inputs=cm.getByAttr("type",t.params.type,t.params.node),cm.forEach(t.inputs,function(e){cm.addEvent(e,"input",t.inputHandler),cm.addEvent(e,"change",t.changeHandler),cm.addEvent(e,"click",t.clickHandler),t.params.triggerDefault&&cm.triggerEvent(e,"change")})},n.change=function(e){var e=cm.getEventTarget(e),t=e.value,n=/radio|checkbox/.test(e.type);return(!n||e.checked)&&this.triggerEvent("onChange",e,t),this},n.input=function(e){var e=cm.getEventTarget(e),t=e.value;return this.triggerEvent("onInput",e,t),this},n.click=function(e){var e=cm.getEventTarget(e),t=e.value;return this.triggerEvent("onClick",e,t),this}}),cm.define("Com.IntegerInput",{extend:"Com.AbstractInput",params:{controllerEvents:!0,maxLength:3,max:0,defaultValue:0,allowNegative:!1,allowFloat:!1}},function(e){Com.AbstractInput.apply(this,arguments)}),cm.getConstructor("Com.IntegerInput",function(e,t,n,a){n.construct=function(){this.setValueHandler=this.setValue.bind(this),a.prototype.construct.apply(this,arguments)},n.onValidateParams=function(){cm.isNode(this.params.node)&&(this.params.type=this.params.node.getAttribute("type")||this.params.max,this.params.max=this.params.node.getAttribute("max")||this.params.max)},n.renderContent=function(){var n=this,e={allowNegative:n.params.allowNegative,allowFloat:n.params.allowFloat},t={};return n.nodes.content=t,n.triggerEvent("onRenderContentStart"),t.container=cm.node("div",{class:"pt__input"},t.input=cm.node("input",{type:n.params.type})),cm.setInputMaxLength(t.input,n.params.maxLength,n.params.max),cm.isEmpty(n.params.placeholder)||(t.input.placeholder=n.params.placeholder),n.triggerEvent("onRenderContentProcess"),cm.addEvent(t.input,"blur",n.setValueHandler),cm.addEvent(t.input,"keypress",function(e){"Enter"===e.code&&(cm.preventDefault(e),n.setValue(),t.input.blur())}),cm.allowOnlyNumbersInputEvent(t.input,function(e,t){n.selectAction(n.validateValue(t),!0)},e),n.triggerEvent("onRenderContentEnd"),t.container},n.validateValue=function(e){return e=cm.isEmpty(e)?this.params.defaultValue:e,e=parseFloat(e),this.rawValue=isNaN(e)?"":e,this.rawValue},n.setValue=function(e){return e=!!cm.isUndefined(e)||e,this.set(this.rawValue,e),this},n.setData=function(){return this.nodes.content.input.value=this.rawValue,this}}),Com.FormFields.add("integer",{node:cm.node("input",{type:"text"}),fieldConstructor:"Com.AbstractFormField",constructor:"Com.IntegerInput"}),cm.define("Com.MultipleAutocomplete",{extend:"Com.MultipleInput",params:{embedStructure:"replace",className:"com__multiple-autocomplete",sortable:!1,showToolbar:!1,showControls:!0,focusInput:!0,inputConstructor:"Com.Autocomplete"}},function(e){Com.MultipleInput.apply(this,arguments)}),Com.FormFields.add("multi-autocomplete",{node:cm.node("div"),fieldConstructor:"Com.AbstractFormField",constructor:"Com.MultipleAutocomplete"}),cm.define("Com.MultipleFileInput",{extend:"Com.MultipleInput",params:{embedStructure:"replace",className:"com__multiple-file-input",local:!0,sortable:!1,showToolbar:!0,showControls:!1,showList:!0,focusInput:!1,buttonsAlign:"left",inputConstructor:"Com.FileInput",inputParams:{embedStructure:"replace",dropzone:!1},fileManager:!1,fileManagerConstructor:"Com.AbstractFileManagerContainer",fileManagerParams:{constructorParams:{}},fileUploader:!1,fileUploaderConstructor:"Com.FileUploaderContainer",fileUploaderParams:{constructorParams:{}},dropzone:!0,dropzoneConstructor:"Com.FileDropzone",dropzoneParams:{embedStructure:"append",rollover:!0},"Com.FileReader":{}},strings:{browse:"Browse",browse_local:"Browse Local",browse_filemanager:"Browse File Manager"}},function(e){this.myComponents={},this.dragInterval=null,this.isDropzoneShow=!1,this.hasButtons=!1,Com.MultipleInput.apply(this,arguments)}),cm.getConstructor("Com.MultipleFileInput",function(e,t,n){var a=n._inherit;n.construct=function(){var e=this;return e.validateParamsEndHandler=e.validateParamsEnd.bind(e),e.itemAddProcessHandler=e.itemAddProcess.bind(e),e.browseA
1ctionHandler=e.browseAction.bind(e),e.processFilesHandler=e.processFiles.bind(e),e.addEvent("onValidateParamsEnd",e.validateParamsEndHandler),e.addEvent("onItemAddProcess",e.itemAddProcessHandler),a.prototype.construct.apply(e,arguments),e},n.clear=function(){return this.params.showToolbar&&cm.removeClass(this.nodes.toolbar.browseHolder,"is-hidden"),a.prototype.clear.apply(this,arguments),this},n.validateParamsEnd=function(){var e=this;return e.isMultiple=!e.params.max||1<e.params.max,e.setLangs({_browse_local:e.params.fileManager?e.lang("browse_local"):e.lang("browse"),_browse_filemanager:e.params.local?e.lang("browse_filemanager"):e.lang("browse")}),e.params.dropzoneParams.max=e.params.max,e.params.fileManagerParams.constructorParams.max=e.params.max,e.params.fileUploaderParams.constructorParams.max=e.params.max,e.params.fileUploaderParams.constructorParams.local=e.params.local,e.params.fileUploaderParams.constructorParams.fileManager=e.params.fileManager,e.params.dropzone=!!e.params.local&&e.params.dropzone,e.params.local=!e.params.fileUploader&&e.params.local,e.params.fileManager=!e.params.fileUploader&&e.params.fileManager,e.hasButtons=e.params.local||e.params.fileManager||e.params.fileUploader,e},n.renderViewModel=function(){var n=this;return a.prototype.renderViewModel.apply(n,arguments),cm.getConstructor("Com.FileReader",function(e,t){n.myComponents.reader=new e(n.params[t]),n.myComponents.reader.addEvent("onReadSuccess",function(e,t){n.addItem({value:t},{triggerEvents:!0})})}),n.params.dropzone&&cm.getConstructor(n.params.dropzoneConstructor,function(e){n.myComponents.dropzone=new e(cm.merge(n.params.dropzoneParams,{container:n.nodes.inner,target:n.nodes.holder})),n.myComponents.dropzone.addEvent("onDrop",function(e,t){n.processFiles(t)})}),n.params.showToolbar&&n.params.fileManager&&cm.getConstructor(n.params.fileManagerConstructor,function(e){n.myComponents.fileManager=new e(cm.merge(n.params.fileManagerParams,{node:n.nodes.toolbar.browseFileManager})),n.myComponents.fileManager.addEvent("onComplete",function(e,t){n.processFiles(t)})}),n.params.showToolbar&&n.params.fileUploader&&cm.getConstructor(n.params.fileUploaderConstructor,function(e){n.myComponents.fileUploader=new e(cm.merge(n.params.fileUploaderParams,{node:n.nodes.toolbar.browseFileUploader})),n.myComponents.fileUploader.addEvent("onComplete",function(e,t){n.processFiles(t)})}),n},n.renderToolbarView=function(){var e=this,t={};return t.container=cm.node("div",{class:"com__multiple-input__toolbar"},t.content=cm.node("div",{class:"pt__buttons"},t.contentInner=cm.node("div",{class:"inner"}))),cm.addClass(t.content,["pull",e.params.buttonsAlign].join("-")),e.params.local&&(t.browseLocal=cm.node("div",{class:"browse-button"},cm.node("button",{type:"button",class:"button button-primary"},e.lang("_browse_local")),cm.node("div",{class:"inner"},t.input=cm.node("input",{type:"file",autocomplete:"off"}))),e.isMultiple&&t.input.setAttribute("multiple","multiple"),cm.insertFirst(t.browseLocal,t.contentInner)),e.params.fileManager&&(t.browseFileManager=cm.node("button",{type:"button",class:"button button-primary"},e.lang("_browse_filemanager")),cm.insertFirst(t.browseFileManager,t.contentInner)),e.params.fileUploader&&(t.browseFileUploader=cm.node("button",{type:"button",class:"button button-primary"},e.lang("browse")),cm.insertFirst(t.browseFileUploader,t.contentInner)),e.hasButtons||cm.addClass(t.container,"is-hidden"),cm.addEvent(t.input,"change",e.browseA
1ctionHandler),(e.nodes.toolbar=t).container},n.itemAddProcess=function(e,t){var n=this;return t.controller.addEvent("onClear",function(){n.removeItem(t,{triggerEvents:!0})}),n},n.browseAction=function(t){var n=this,e=n.params.max?Math.min(t.target.files.length,n.params.max-n.items.length):t.target.files.length;return cm.forEach(e,function(e){n.processFiles(t.target.files[e])}),n},n.processFiles=function(e){var t=this;return cm.isFile(e)?t.myComponents.reader.read(e):cm.isArray(e)?cm.forEach(e,function(e){t.processFiles(e)}):cm.isEmpty(e)||t.addItem({value:e},{triggerEvents:!0}),t},n.browse=function(){return this.params.local&&this.nodes.toolbar.input.click(),this}}),Com.FormFields.add("multi-file-input",{node:cm.node("div"),fieldConstructor:"Com.AbstractFormField",constructor:"Com.MultipleFileInput"}),cm.define("Com.OpacityRange",{extend:"Com.AbstractRange",params:{className:"com__range",theme:"theme--arrows",min:100,max:0,value:100,color:"red"}},function(e){Com.AbstractRange.apply(this,arguments)}),cm.getConstructor("Com.OpacityRange",function(e,t,n){n._inherit;n.onConstructEnd=function(){this.setColor(this.params.color)},n.renderRangeContent=function(){var e={};return(this.nodes.rangeContent=e).container=cm.node("div",{class:"com__opacity-range__content"},e.inner=cm.node("div",{class:"inner range-helper"})),e.container},n.setColor=function(e){switch(this.params.direction){case"horizontal":this.nodes.rangeContent.inner.style.background="linear-gradient(to right, "+e+", rgba(255,255,255,0))";break;case"vertical":this.nodes.rangeContent.inner.style.background="linear-gradient(to bottom, "+e+", rgba(255,255,255,0))"}}}),Com.FormFields.add("opacity-range",{node:cm.node("input",{type:"text"}),fieldConstructor:"Com.AbstractFormField",constructor:"Com.OpacityRange"}),cm.define("Com.PositionTools",{extend:"Com.AbstractInput",params:{controllerEvents:!0,className:"com__position-tools",defaultValue:"center center",fieldSize:"medium",options:[{name:"left top",icon:"svg__position-topleft",iconActive:"svg__position-topleft--light"},{name:"center top",icon:"svg__position-topcenter",iconActive:"svg__position-topcenter--light"},{name:"right top",icon:"svg__position-topright",iconActive:"svg__position-topright--light"},{name:"left center",icon:"svg__position-middleleft",iconActive:"svg__position-middleleft--light"},{name:"center center",icon:"svg__position-middlecenter",iconActive:"svg__position-middlecenter--light"},{name:"right center",icon:"svg__position-middleright",iconActive:"svg__position-middleright--light"},{name:"left bottom",icon:"svg__position-bottomleft",iconActive:"svg__position-bottomleft--light"},{name:"center bottom",icon:"svg__position-bottomcenter",iconActive:"svg__position-bottomcenter--light"},{name:"right bottom",icon:"svg__position-bottomright",iconActive:"svg__position-bottomright--light"}]}},function(e){Com.AbstractInput.apply(this,arguments)}),cm.getConstructor("Com.PositionTools",function(e,t,n){var a=n._inherit;n.onConstructStart=function(){return this.options={},this},n.set=function(){return a.prototype.set.apply(this,arguments),this.setOption(),this},n.renderContent=function(){var t=this,e={};return t.nodes.content=e,t.triggerEvent("onRenderContentStart"),e.container=cm.node("div",{class:"com__position-tools__content"},e.inner=cm.node("div",{class:"inner"})),cm.addClass(e.container,["size",t.params.fieldSize].join("-")),cm.forEach(t.params.options,function(e){t.renderOption(e)}),t.triggerEvent("onRenderContentProcess"),t.triggerEvent("onRenderContentEnd"),e.container},n.renderOption=function(e){var t=this;return(e=cm.merge({iconType:"icon",icon:"",iconActive:"",name:"",nodes:{}},e)).nodes.container=cm.node("div",{class:"option__item"},e.nodes.icon=cm.node("div",{class:[e.iconType,e.icon].join(" ")})),cm.appendChild(e.nodes.container,t.nodes.content.inner),cm.addEvent(e.nodes.container,"click",function(){t.disabled||t.set(e.name)}),t.options[e.name]=e,t},n.setOption=function(){var e;this.options[this.previousValue]&&(e=this.options[this.previousValue],cm.removeClass(e.nodes.container,"active"),cm.replaceClass(e.nodes.icon,e.iconActive,e.icon)),this.options[this.value]&&(e=this.options[this.value],cm.addClass(e.nodes.container,"active"),cm.replaceClass(e.nodes.icon,e.icon,e.iconActive))}}),cm.define("Com.Range",{extend:"Com.AbstractRange",params:{className:"com__range",theme:"theme--default",min:0,max:100,value:0,step:1,valueFormater:"{value}"}},function(){Com.AbstractRange.apply(this,arguments)}),cm.getConstructor("Com.Range",function(e,t,n,a){n.renderRangeContent=function(){var e={};return(this.nodes.rangeContent=e).container=cm.node("div",{classes:"com__range__field"},e.bar=cm.node("div",{classes:"bar"},e.range=cm.node("div",{classes:"range"})),cm.node("div",{classes:"min"},cm.parseMessage(this.params.valueFormater,{value:this.params.min})),cm.node("div",{classes:"max"},cm.parseMessage(this.params.valueFormater,{value:this.params.max}))),e.container},n.setBarRange=function(){var e=cm.clone(this.tempRawValue);this.params.range||e.push(this.params.min),(e=cm.arraySort(e,!1,"asc"))[0]=this.getBarRangeValuePosition(e[0]),e[1]=this.getBarRangeValuePosition(e[1]),this.nodes.rangeContent.range.style.left=e[0]+"px",this.nodes.rangeContent.range.style.width=e[1]-e[0]+"px"},n.getBarRangeValuePosition=function(e){var t,n=cm.getFullRect(this.nodes.rangeContent.bar),a=e-this.params.min,s=this.params.max-this.params.min;switch(this.params.direction){case"horizontal":t=n.absoluteWidth/s*a,e=Math.round(t);break;case"vertical":t=n.absoluteHeight/s*a,e=Math.round(t)}return e},n.selectData=function(){this.setBarRange()},n.setData=function(){a.prototype.setData.apply(this,arguments),this.setBarRange()}}),Com.FormFields.add("range",{node:cm.node("input",{type:"text"}),fieldConstructor:"Com.AbstractFormField",constructor:"Com.Range"}),cm.define("Com.RepeatTools",{extend:"Com.AbstractInput",params:{className:"com__repeat-tools",defaultValue:"no-repeat",fieldStyle:"row",options:[{name:"no-repeat",icon:"svg__repeat-no"},{name:"repeat-x",icon:"svg__repeat-horizontal"},{name:"repeat-y",icon:"svg__repeat-vertical"},{name:"repeat",icon:"svg__repeat-both"}]},strings:{"no-repeat":"No","repeat-x":"Horizontally","repeat-y":"Vertically",repeat:"Both"}},function(e){Com.AbstractInput.apply(this,arguments)}),cm.getConstructor("Com.RepeatTools",function(e,t,n){var a=n._inherit;n.construct=function(){return this.options={},a.prototype.construct.apply(this,arguments),this},n.set=function(){return a.prototype.set.apply(this,arguments),this.setOption(),this},n.renderContent=function(){var t=this,e={};return t.nodes.content=e,t.triggerEvent("onRenderContentStart"),e.container=cm.node("div",{class:"com__repeat-tools__
1content"},e.inner=cm.node("div",{class:"inner"})),cm.addClass(e.container,["style",t.params.fieldStyle].join("-")),cm.forEach(t.params.options,function(e){t.renderOption(e)}),t.triggerEvent("onRenderContentProcess"),t.triggerEvent("onRenderContentEnd"),e.container},n.renderOption=function(e){var t=this;return(e=cm.merge({iconType:"icon",icon:"",name:"",nodes:{}},e)).nodes.container=cm.node("div",{class:"option__item",title:t.lang(e.name)},e.nodes.icon=cm.node("div",{class:[e.iconType,e.icon].join(" ")})),cm.appendChild(e.nodes.container,t.nodes.content.inner),cm.addEvent(e.nodes.container,"click",function(){t.set(e.name)}),t.options[e.name]=e,t},n.setOption=function(){var e;this.options[this.previousValue]&&(e=this.options[this.previousValue],cm.removeClass(e.nodes.container,"is-active")),this.options[this.value]&&(e=this.options[this.value],cm.addClass(e.nodes.container,"is-active"))}}),cm.define("Com.ScaleTools",{extend:"Com.AbstractInput",params:{className:"com__scale-tools",defaultValue:"auto",fieldStyle:"row",options:[{name:"auto",icon:"svg__scale-auto"},{name:"contain",icon:"svg__scale-contain"},{name:"cover",icon:"svg__scale-cover"},{name:"100% 100%",icon:"svg__scale-fill"}]},strings:{auto:"Auto",contain:"Contain",cover:"Cover","100% 100%":"Fill"}},function(e){Com.AbstractInput.apply(this,arguments)}),cm.getConstructor("Com.ScaleTools",function(e,t,n){var a=n._inherit;n.construct=function(){return this.options={},a.prototype.construct.apply(this,arguments),this},n.set=function(){return a.prototype.set.apply(this,arguments),this.setOption(),this},n.renderContent=function(){var t=this,e={};return t.nodes.content=e,t.triggerEvent("onRenderContentStart"),e.container=cm.node("div",{class:"com__scale-tools__content"},e.inner=cm.node("div",{class:"inner"})),cm.addClass(e.container,["style",t.params.fieldStyle].join("-")),cm.forEach(t.params.options,function(e){t.renderOption(e)}),t.triggerEvent("onRenderContentProcess"),t.triggerEvent("onRenderContentEnd"),e.container},n.renderOption=function(e){var t=this;return(e=cm.merge({iconType:"icon",icon:"",name:"",nodes:{}},e)).nodes.container=cm.node("div",{class:"option__item",title:t.lang(e.name)},e.nodes.icon=cm.node("div",{class:[e.iconType,e.icon].join(" ")})),cm.appendChild(e.nodes.container,t.nodes.content.inner),cm.addEvent(e.nodes.container,"click",function(){t.set(e.name)}),t.options[e.name]=e,t},n.setOption=function(){var e;this.options[this.previousValue]&&(e=this.options[this.previousValue],cm.removeClass(e.nodes.container,"is-active")),this.options[this.value]&&(e=this.options[this.value],cm.addClass(e.nodes.container,"is-active"))}}),Com.Elements.Selects={},Com.GetSelect=e=>Com.Elements.Selects[e]||null,cm.define("Com.Select",{modules:["Params","Events","Structure","DataConfig","Stack"],events:["onValidateParams","onValidateParamsStart","onValidateParamsProcess","onValidateParamsEnd","onRender","onRenderStart","onSelect","onChange","onReset","onFocus","onBlur","onIconClick"],params:{select:null,node:null,container:null,name:"",embedStructure:"replace",customEvents:!0,renderInBody:!0,renderHiddenContent:!0,multiple:!1,placeholder:"",showPlaceholderAbove:!1,showTitleTag:!0,title:!1,options:[],selected:0,max:0,setInitialValue:!0,setPlaceholderText:!0,renderCheckboxes:!1,value:null,defaultValue:null,disabled:!1,id:null,className:[],inputClassName:[],tabindex:null,icons:{arrow:"icon default linked"},tooltip:{limitWidth:!0,constructor:"Com.Tooltip",constructorParams:{targetEvent:"none",hideOnOut:!0,hold:!0,scroll:!1,className:"com__select__tooltip",width:"targetWidth",minWidth:"targetWidth",top:cm._config.tooltipDown,ariaRole:"listbox"}}}},function(e){function n(t){return g.find(e=>e.name===t)}function a(t,e){e=cm.merge({setDefault:!0},e);let n=cm.isUndefined(t.value)?t.text:t.value;cm.remove(t.node),cm.remove(t.option),u=u.filter(e=>t!==e),h=u.length,delete p[t.value],l.params.multiple?cm.isArray(c)&&(c=c.filter(e=>n!==e)):n===c&&(e.setDefault&&h?R(u[0],!0):(c=null,d.text.value=""))}function s(e){var t=cm.isUndefined(e.value)?e.text:e.value;e.selected?L(e):(!l.params.max||0<l.params.max&&c.length<l.params.max)&&(c.push(t),F(e))}function o(e){t=c,c=cm.isUndefined(e.value)?e.text:e.value,u.forEach(D),!e.placeholder||l.params.setPlaceholderText?(e.group?d.text.value=[cm.decode(e.group),cm.decode(e.text)].join(" ⺠"):d.text.value=cm.decode(e.text),cm.toggleClass(d.text,"is-placeholder",e.placeholder)):(d.text.value="",cm.removeClass(d.text,"is-placeholder",e.placeholder)),d.hidden.value=c,F(e)}function r(){cm.stringifyJSON(c)!==cm.stringifyJSON(t)&&l.triggerEvent("onChange",c)}function i(){m.menu&&!l.params.multiple&&(!l.disabled&&0<h?m.menu.enable():m.menu.disable())}var t,c,l=this,d={menu:{}},m={},p={},u=[],h=0,g=[],f=(l.disabled=!1,l.isOpen=!1,l.isFocus=!1,l.wasFocus=!1,l.clickTarget=null,l.isDestructed=null,function(){if(cm.isNode(l.params.node)){var t=l.params.node.getAttribute("data-value");let e=cm.getSelectValue(l.params.node);cm.isEmpty(t)||(e=cm.parseJSON(t)),l.params.value=cm.isEmpty(e)?l.params.value:e}l.params.value=cm.isEmpty(l.params.value)?l.params.defaultValue:l.params.value}),v=function(){d.container=cm.node("div",{classes:"com__select"},d.target=cm.node("div",{classes:"pt__input"},d.text=cm.node("input",{type:"text",readOnly:"true"}
1),d.arrow=cm.node("div",{class:l.params.icons.arrow,role:"combobox","aria-haspopup":"true","aria-controls":"listbox","aria-expanded":"false"})),d.items=cm.node("div",{classes:"pt__listing-items"},d.holder=cm.node("ul",{role:"listbox"}))),cm.addClass(d.target,l.params.inputClassName),cm.isEmpty(l.params.id)||d.text.setAttribute("aria-describedby",l.params.id),d.hidden=cm.node("select",{classes:"display-none"}),l.params.renderHiddenContent&&cm.insertFirst(d.hidden,d.container)},b=function(){d.container=cm.node("div",{classes:"com__select-multi"},d.inner=cm.node("div",{classes:"inner"},d.items=cm.node("div",{classes:"pt__listing-items"},d.holder=cm.node("ul",{role:"listbox"})))),d.hidden=cm.node("select",{classes:"display-none",multiple:!0}),l.params.renderHiddenContent&&cm.insertFirst(d.hidden,d.container)},y=function(e){"mousedown"===e.type&&(l.wasFocus=l.isFocus),"click"===e.type&&(l.wasFocus?l.toggleMenu(!1):l.focus(),l.triggerEvent("onIconClick"))},C=function(){h&&(cm.addClass(d.container,"active"),l.toggleMenu(!0),c)&&p[c]&&I(p[c]),l.isFocus=!0,l.triggerEvent("onFocus",c)},w=function(){l.isOwnNode(l.clickTarget)||l.toggleMenu(!1),l.isFocus=!1,l.clickTarget=null,cm.removeClass(d.container,"active"),l.triggerEvent("onBlur",c)},_=function(){l.isOpen=!0,d.arrow.setAttribute("aria-expanded","true"),cm.addEvent(document,"keydown",M),cm.addEvent(document,"mousedown",A)},E=function(){l.isOpen=!1,d.arrow.setAttribute("aria-expanded","false"),cm.removeEvent(document,"keydown",M),cm.removeEvent(document,"mousedown",A)},S=function(e){var t,n;u.filter(e=>!e.disabled).length&&((t={ArrowUp:e=>V(e),ArrowDown:e=>B(e),Home:()=>P(),End:()=>H()})[e.code]&&(e.preventDefault(),n=u.indexOf(p[c]),t=t[e.code](n),n=u[t])&&(R(n,!0),I(n)),["Enter","Space"].includes(e.code))&&(e.preventDefault(),l.toggleMenu(!1))},A=function(e){l.clickTarget=cm.getEventTarget(e),l.isOwnNode(l.clickTarget)||l.toggleMenu(!1)},P=function(){return u.findIndex(e=>!e.disabled)},H=function(){return u.findLastIndex(e=>!e.disabled)},V=function(e){if(!cm.isNumber(e))return l.findLastIndex();let t=(e-1+h)%h;for(;u[t].disabled;)t=(t-1+h)%h;return t},B=function(e){if(!cm.isNumber(e))return l.findFirstIndex();let t=(e+1)%h;for(;u[t].disabled;)t=(t+1)%h;return t},k=function(e){return{value:e.value,text:e.innerHTML,classes:[e.className],style:e.style.cssText,hidden:e.hidden,disabled:e.disabled}},N=function(){var t,n,e=l.params.node.childNodes;cm.forEach(e,function(e){cm.isElementNode(e)&&("optgroup"===(t=e.tagName.toLowerCase())?(n=U(e),x(e.label,n)):"option"===t&&T(k(e)))})},U=function(e){var e=e.querySelectorAll("option"),t=[];return cm.forEach(e,function(e){t.push(k(e))}),t},x=function(e,t){var n={name:e,options:t};return n.optgroup=cm.node("optgroup",{label:n.name}),n.container=cm.node("li",{classes:"group",role:"option"},n.items=cm.node("ul",{classes:"pt__listing-items",role:"group"})),cm.isEmpty(n.name)||(cm.addClass(n.container,"group-sticky"),cm.insertFirst(cm.node("div",{classes:"title",innerHTML:n.name}),n.container)),cm.forEach(n.options,e=>T(e,n)),d.holder.appendChild(n.container),d.hidden.appendChild(n.optgroup),g.push(n),n},T=function(e,t){return(e=cm.merge({group:null,groupItem:null,hidden:!1,select:!1,selected:!1,disabled:!1,placeholder:!1,value:"",text:"",textNode:null,classes:[],style:null,renderCheckbox:l.params.renderCheckboxes},e)).placeholder=!!cm.isEmpty(e.value)||e.placeholder,cm.isEmpty(e.className)||(cm.isArray(e.classes)?e.classes.push(e.className):e.classes=[e.classes,e.className]),p[e.value]&&a(p[e.value]),cm.isUndefined(t)?cm.isEmpty(e.group)||(e.groupItem=n(e.group),e.groupItem)||(e.groupItem=x(e.group)):(e.groupItem=t,e.group=t.name),e.option=cm.node("option",{value:e.value,innerHTML:e.text}),e.node=cm.node("li",{classes:e.classes,style:e.style,role:"option","aria-selected":"false"},e.link=cm.node("a",{title:cm.cutHTML(e.text)})),cm.isNode(e.textNode)?cm.appendChild(e.textNode,e.link):e.link.innerHTML=e.text,e.renderCheckbox&&(e.checkbox=cm.node("input",{classes:"checkbox",type:l.params.multiple?"checkbox":"radio","aria-hidden":!0}),cm.insertFirst(e.checkbox,e.link)),e.hidden&&cm.addClass(e.node,"hidden"),e.disabled&&cm.addClass(e.node,"disabled"),e.placeholder&&cm.addClass(e.node,"placeholder"),(e.groupItem?(e.groupItem.items.appendChild(e.node),e.groupItem.optgroup):(d.holder.appendChild(e.node),d.hidden)).appendChild(e.option),cm.click.add(e.link,()=>{e.disabled||l.disabled||R(e,!0),l.params.multiple||l.toggleMenu(!1)}),p[e.value]=e,u.push(e),h=u.length,e.select&&R(e,!1),e},R=function(e,t){e&&(l.params.multiple?s:o)(e),t&&(l.triggerEvent("onSelect",c),r())},D=function(e){e.option.selected=!1,e.selected=!1,e.checkbox&&(e.checkbox.checked=!1),e.node.setAttribute("aria-selected","false"),cm.removeClass(e.node,"active")},F=function(e){e.option.selected=!0,e.selected=!0,e.checkbox&&(e.checkbox.checked=!0),e.node.setAttribute("aria-selected","true"),cm.addClass(e.node,"active")},L=function(e){var t=cm.isUndefined(e.value)?e.text:e.value;c=c.filter(function(e){return t!=e}),D(e)},I=function(e){m.menu&&!l.params.multiple&&(d.holder.scrollTop=e.node.offsetTop-d.holder.offsetTop)}
1,M=function(e){38!==(e=cm.getEvent(e)).keyCode&&40!==e.keyCode||cm.preventDefault(e)};l.destruct=function(){return this.isDestructed||(this.isDestructed=!0,l.params.customEvents&&cm.customEvent.remove(d.container,"destruct",l.destructHandler),this.removeFromStack()),this},l.get=function(){return c},l.getText=function(){var t=[];return cm.isArray(c)?cm.forEach(c,e=>{p[e]&&t.push(p[e].text)}):p[c]&&t.push(p[c].text),t.join(", ")||null},l.set=function(e,t){return t=!!cm.isUndefined(t)||t,cm.isUndefined(e)||(cm.isArray(e)?(cm.forEach(e,e=>{p[e]&&R(p[e],!1)}),t&&(l.triggerEvent("onSelect",c),l.triggerEvent("onChange",c))):p[e]&&R(p[e],t)),l},l.reset=function(e){e=!!cm.isUndefined(e)||e,l.params.multiple?l.deselectAll(e):h&&R(u[0],e),l.triggerEvent("onReset",c)},l.selectAll=function(e){return e=!!cm.isUndefined(e)||e,l.params.multiple&&(cm.forEach(p,L),cm.forEach(p,s),e)&&(l.triggerEvent("onSelect",c),r()),l},l.deselectAll=function(e){return e=!!cm.isUndefined(e)||e,l.params.multiple&&(cm.forEach(p,L),e)&&(l.triggerEvent("onSelect",c),r()),l},l.addOption=function(e,t){return cm.isObject(e)?T(e):T({value:e,text:t}),i(),l},l.addOptions=function(e){return cm.forEach(e,e=>{T(e)}),i(),l},l.editOption=function(e,t){var n;return!cm.isUndefined(e)&&p[e]&&(e=p[e],t=t,n=cm.isUndefined(e.value)?e.text:e.value,e.text=t,e.node.innerHTML=t,e.option.innerHTML=t,l.params.multiple||n!==c||(d.text.value=cm.decode(t))),l},l.removeOption=function(e){return!cm.isUndefined(e)&&p[e]&&(a(p[e]),i()),l},l.removeOptions=l.removeOptionsAll=function(){return cm.forEach(p,e=>{a(e,{setDefault:!1})}),i(),l},l.getOption=function(e){e=p[e];if(e)return e},l.getSelectedOption=l.getValueOption=function(){if(cm.isArray(c)){let t=[];return cm.forEach(c,e=>{e=l.getOption(e);e&&t.push(e)}),t}return l.getOption(c)},l.getOptions=l.getOptionsAll=l.getAllOptions=function(){let t=[];return cm.forEach(u,e=>{t.push({text:e.text,value:e.value})}),t},l.hideOption=function(e){e=l.getOption(e);e&&(e.hidden=!0,cm.addClass(e.node,"hidden"))},l.showOption=function(e){e=l.getOption(e);e&&(e.hidden=!1,cm.removeClass(e.node,"hidden"))},l.toggleOptionVisibility=function(e,t){l.getOption(e)&&(t?l.showOption(e):l.hideOption(e))},l.disableOption=function(e){e=l.getOption(e);e&&(e.disabled=!0,cm.addClass(e.node,"disabled"))},l.enableOption=function(e){e=l.getOption(e);e&&(e.disabled=!1,cm.removeClass(e.node,"disabled"))},l.focus=function(){return l.params.multiple||d.text.focus(),l},l.blur=function(){return l.params.multiple||d.text.blur(),l},l.disable=function(){return l.disabled=!0,cm.addClass(d.container,"disabled"),cm.addClass(d.items,"disabled"),cm.addClass(d.target,"disabled"),l.params.multiple||(d.text.disabled=!0,m.menu&&m.menu.disable()),l},l.enable=function(){return l.disabled=!1,cm.removeClass(d.container,"disabled"),cm.removeClass(d.items,"disabled"),cm.removeClass(d.target,"disabled"),l.params.multiple||(d.text.disabled=!1,0<h&&m.menu&&m.menu.enable()),l},l.toggleVisibility=function(e){return cm.toggleClass(d.container,"is-hidden",!e),l},l.toggleMenu=function(e,t){return!l.disabled&&m.menu&&(e?m.menu.show(t):m.menu.hide(t)),l},l.getNodes=function(e){return d[e]||d},l.getContainer=function(){return d.container},l.isOwnNode=function(e){return cm.isParent(d.container,e,!0)||m.menu.isOwnNode(e)},l.destructHandler=l.destruct.bind(l),l.setParams(e),cm.isNode(l.params.select)&&(l.params.node=l.params.select),l.convertEvents(l.params.events),l.getDataConfig(l.params.node),l.triggerEvent("onValidateParamsStart"),cm.isEmpty(l.params.className)?l.params.className=[]:cm.isString(l.params.className)&&(l.params.className=[l.params.className]),cm.isObject(l.params["Com.Tooltip"])&&(l.params.tooltip.constructorParams=cm.merge(l.params.tooltip.constructorParams,l.params["Com.Tooltip"])),l.params.tooltip.limitWidth||(l.params.tooltip.constructorParams.width="auto"),cm.isNode(l.params.node)&&(l.params.placeholder=l.params.node.getAttribute("placeholder")||l.params.placeholder,l.params.multiple=l.params.node.multiple,l.params.title=l.params.node.getAttribute("title")||l.params.title,l.params.name=l.params.node.getAttribute("name")||l.params.name,l.params.disabled=l.params.node.disabled||l.params.node.readOnly||l.params.disabled,l.params.tabindex=l.params.node.getAttribute("tabindex")||l.params.tabindex,l.params.id=l.params.node.id||l.params.id,e=Array.from(l.params.node.classList),l.params.className=cm.merge(l.params.className,e)),l.params.multiple&&(c=[]),l.triggerEvent("onValidateParams"),l.triggerEvent("onValidateParamsProcess"),f(),l.disabled=l.params.disabled,l.triggerEvent("onValidateParamsEnd"),l.addToStack(l.params.node),l.triggerEvent("onRenderStart"),(l.params.multiple?b:v)(),cm.addClass(d.c
1ontainer,l.params.className),cm.isEmpty(l.params.title)||(l.params.showTitleTag?d.container.title=l.params.title:d.container.setAttribute("aria-label",l.params.title)),cm.isNumber(l.params.tabindex)&&d.container.setAttribute("tabindex",l.params.tabindex),cm.isEmpty(l.params.id)||(d.container.id=l.params.id),cm.isNode(l.params.node)&&cm.forEach(l.params.node.attributes,e=>{/^data-(?!node|element)/.test(e.name)&&(d.hidden.setAttribute(e.name,e.value),d.container.setAttribute(e.name,e.value))}),l.params.name&&d.hidden.setAttribute("name",l.params.name),d.hidden.setAttribute("autocomplete","off"),cm.isEmpty(l.params.placeholder)||(d.placeholder=cm.node("li",cm.node("div",{classes:"text disabled"},cm.node("span",{classes:"label"},l.params.placeholder))),l.params.showPlaceholderAbove&&(cm.addClass(d.items,"has-placeholder-sticky"),cm.addClass(d.placeholder,["sticky","placeholder-sticky"])),cm.appendChild(d.placeholder,d.holder)),cm.isNode(l.params.node)&&N(),cm.forEach(l.params.options,e=>T(e)),l.embedStructure(d.container),l.params.multiple||(cm.addEvent(d.arrow,"mousedown",y),cm.addEvent(d.arrow,"click",y),cm.addEvent(d.text,"keydown",S),cm.addEvent(d.text,"focus",C),cm.addEvent(d.text,"blur",w),cm.getConstructor(l.params.tooltip.constructor,e=>{m.menu=new e(cm.merge(l.params.tooltip.constructorParams,{container:l.params.renderInBody?document.body:d.container,content:d.items,target:d.target,holdTarget:d.container,disabled:!h,events:{onShowStart:_.bind(l),onHideStart:E.bind(l)}}))})),l.disabled?l.disable():l.enable(),l.params.customEvents&&cm.customEvent.add(d.container,"destruct",l.destructHandler),l.params.multiple?!cm.isEmpty(l.params.value)&&cm.isArray(l.params.value)&&cm.forEach(l.params.value,e=>{p[e]&&R(p[e],!0)}):!cm.isEmpty(l.params.value)&&p[l.params.value]?R(p[l.params.value]):l.params.setInitialValue&&h&&R(u[0]),l.addToStack(d.container),l.triggerEvent("onRender",c)}),Com.FormFields.add("select",{node:cm.node("select"),fieldConstructor:"Com.AbstractFormField",constructor:"Com.Select"}),cm.define("Com.SelectFieldTrigger",{extend:"Com.AbstractController",params:{renderStructure:!0,embedStructureOnRender:!0,controllerEvents:!0,triggerName:null,triggerFieldSize:null,options:[],"Com.Toolbar":{embedStructure:"append"}}},function(e){Com.AbstractController.apply(this,arguments)}),cm.getConstructor("Com.SelectFieldTrigger",function(e,t,n){var a=n._inherit;n.onConstructStart=function(){this.fields={},this.changeEventHandler=this.changeEvent.bind(this)},n.onValidateParams=function(){this.components.form=this.params.form,this.components.formField=this.params.formField},n.onRender=function(){this.toggle()},n.renderView=function(){return this.triggerEvent("onRenderViewStart"),this.nodes.container=cm.node("div",{class:"app__select-trigger"}),this.triggerEvent("onRenderViewProcess"),this.triggerEvent("onRenderViewEnd"),this},n.renderViewModel=function(){a.prototype.renderViewModel.apply(this,arguments),this.getTriggerField(),this.getFields(),this.renderToolbar()},n.getTriggerField=function(){var e=this.components.form.getField(this.params.triggerName);e&&(this.components.trigger=e.controller,this.components.trigger.addEvent("onChange",this.changeEventHandler))},n.getFields=function(){var n=this;cm.forEach(n.params.options,function(t){cm.forEach(t.fields,function(e){cm.isObject(e)?n.processField(t.value,e):n.processField(t.value,{name:e})})})},n.processField=function(e,t){(t=cm.merge({value:e,name:null,size:null,field:null,controller:null,container:null},t)).field=this.components.form.getField(t.name),t.field&&(t.controller=t.field.controller,t.container=t.controller.getContainer()),this.fields[t.name]=t},n.renderToolbar=function(){var n=this;cm.getConstructor("Com.Toolbar",function(e,t){n.components.toolbar=new e(cm.merge(n.params[t],{container:n.nodes.container})),n.components.toolbar.addGroup({name:"trigger",position:"left"}).addGroup({name:"fields",position:"left"}).addField({group:"trigger",name:"trigger",node:n.components.trigger.getContainer(),size:n.params.triggerFieldSize})}),cm.forEach(n.fields,function(e,t){n.components.toolbar.addField({group:"fields",name:e.name,node:e.container,size:e.size,hidden:!0})})},n.changeEvent=function(){this.toggle()},n.toggle=function(){var n=this,a=n.components.trigger.get();cm.forEach(n.fields,function(e,t){e.value==a?n.components.toolbar.showField(e.name,"fields"):n.components.toolbar.hideField(e.name,"fields")})}}),Com.FormFields.add("select-field-trigger",{field:!1,fieldConstructor:"Com.AbstractFormField",constructor:"Com.SelectFieldTrigger"}),cm.define("Com.TagsInput",{modules:["Params","Events","Langs","Structure","DataConfig","Stack"],require:["Com.Autocomplete"],events:["onRender","onAdd","onRemove","onChange","onOpen","onClose","onReset"],params:{input:null,node:cm.node("input",{type:"text"}),container:null,name:"",embedStructure:"replace",data:[],maxSingleTagLength:255,max:0,autocomplete:!1,icons:{add:"icon default linked",remove:"icon default linked"},"Com.Autocomplete":{clearOnEmpty:!1}},strings:{tags:"Tags",add:"Add",remove:"Remove",placeholder:"Add tags..."}},function(e){function n(e){var t={tag:e};t.container=cm.node("div",{class:"item"},cm.node("div",{class:"inner"},cm.node("div",{class:"text",title:e}
1,e),t.button=cm.node("div",{class:s.params.icons.remove,title:s.lang("remove")}))),t.anim=new cm.Animation(t.container),cm.appendChild(t.container,o.tags),cm.addEvent(t.button,"click",function(){d(t)}),i[e]=t}function a(){s.value=r.join(","),o.hidden.value=s.value}var s=this,o={},r=[],i={},t=(s.isDestructed=null,s.value=null,s.components={},s.isAutocomplete=!1,function(){o.input=cm.node("input",{type:"text",maxlength:s.params.maxSingleTagLength,class:"adder",placeholder:s.lang("placeholder")}),cm.appendChild(o.input,o.inner),s.isAutocomplete&&(cm.getConstructor("Com.Autocomplete",function(e){s.components.autocomplete=new e(cm.merge(s.params["Com.Autocomplete"],{events:{onClickSelect:function(){c(!0)}}}))}),s.components.autocomplete.setTarget(o.input),s.components.autocomplete.setInput(o.input)),cm.addEvent(o.input,"keypress",function(e){44!==e.charCode&&59!==e.charCode||(cm.preventDefault(e),c(!0),s.isAutocomplete&&s.components.autocomplete.hide())}),cm.addEvent(o.input,"keydown",function(e){cm.inArray(["Enter","Escape"],e.code)&&(cm.preventDefault(e),c(!0),s.isAutocomplete)&&s.components.autocomplete.hide()}),cm.addEvent(o.input,"focus",function(){cm.addClass(o.container,"active"),cm.addClass(o.inner,"input-focus")}),cm.addEvent(o.input,"blur",function(){c(!0),cm.removeClass(o.container,"active"),cm.removeClass(o.inner,"input-focus")})}),c=function(t){var e=o.input.value.split(",");cm.forEach(e,function(e){l(e,t)}),o.input.value="",s.isAutocomplete&&s.components.autocomplete.clear()},l=function(e,t){(e=e.trim())&&e.length&&!/^[\s]*$/.test(e)&&!cm.inArray(r,e)&&(r.push(e),n(e),a(),t)&&(s.triggerEvent("onChange",{tag:e}),s.triggerEvent("onAdd",{tag:e}))},d=function(e){r=cm.arrayRemove(r,e.tag),delete i[e.tag],a(),s.triggerEvent("onChange",{tag:e.tag}),s.triggerEvent("onRemove",{tag:e.tag}),cm.remove(e.container)};s.destruct=function(){return this.isDestructed||(this.isDestructed=!0,this.removeFromStack()),this},s.get=function(){return cm.isEmpty(s.value)?"":s.value},s.set=function(e){return s.add(e),s},s.add=function(e){e=e?cm.isArray(e)?e:e.split(","):[];return cm.forEach(e,function(e){l(e,!0)}),s},s.remove=function(e){e=e?cm.isArray(e)?e:e.split(","):[];return cm.forEach(e,function(e){cm.inArray(r,e)&&d(i[e])}),s},s.reset=function(){return cm.forEach(i,function(e){d(e,!0)}),s.triggerEvent("onReset"),s},s.getAutocomplete=function(){return s.components.autocomplete},cm.isNode(s.params.input)&&(s.params.node=s.params.input),s.setParams(e),s.convertEvents(s.params.events),s.getDataConfig(s.params.node),cm.isNode(s.params.node)&&(s.params.name=s.params.node.getAttribute("name")||s.params.name),s.isAutocomplete=s.params.autocomplete,o.container=cm.node("div",{class:"com__tags-input"},o.hidden=cm.node("input",{type:"hidden"}),o.inner=cm.node("div",{class:"inner input"},o.tags=cm.node("div",{class:"tags"}))),t(),s.params.name&&o.hidden.setAttribute("name",s.params.name),cm.addEvent(o.container,"click",function(e){e=cm.getEventTarget(e);cm.isParent(o.tags,e,!0)||o.input.focus()}),s.embedStructure(o.container),s.addToStack(o.container),s.triggerEvent("onRender"),e=s.params.node.value.split(","),e=cm.extend(s.params.data,e),cm.forEach(e,function(e){l(e)})}),Com.FormFields.add("tags",{node:cm.node("input",{type:"text"}),fieldConstructor:"Com.AbstractFormField",constructor:"Com.TagsInput"}),cm.define("Com.TimeSelect",{modules:["Params","Events","Langs","Structure","DataConfig","Stack"],events:["onRender","onSelect","onChange","onClear"],params:{input:null,node:cm.node("input",{type:"text"}),container:null,embedStructure:"replace",name:"",renderSelectsInBody:!0,size:"default",format:"cm._config.timeFormat",showTitleTag:!0,title:!1,withHours:!0,hoursInterval:0,hoursFormat:24,withMinutes:!0,minutesInterval:0,withSeconds:!1,secondsInterval:0,selected:0},strings:{separator:":",Hours:"HH",Minutes:"MM",Seconds:"SS",HoursTitle:"Hours",MinutesTitle:"Minutes",SecondsTitle:"Seconds"}},function(e){var a=this,n={},s={},t=(a.date=new Date,a.value=0,a.previousValue=0,a.disabled=!1,function(){cm.isNode(a.params.input)&&(a.params.node=a.params.input)}),o=function(){cm.isNode(a.params.node)&&(a.params.title=a.params.node.getAttribute("title")||a.params.title,a.params.name=a.params.node.getAttribute("name")||a.params.name),!cm.isEmpty(a.params.hoursInterval)&&0!==a.params.hoursInterval||(a.params.hoursInterval=1),!cm.isEmpty(a.params.minutesInterval)&&0!==a.params.minutesInterval||(a.params.minutesInterval=1),!cm.isEmpty(a.params.secondsInterval)&&0!==a.params.secondsInterval||(a.params.secondsInterval=1)},r=function(){n.container=cm.node("div",{class:"com__timeselect"},n.hidden=cm.node("input",{type:"hidden"}),n.inner=cm.node("div",{class:"inner"})),cm.isEmpty(a.params.size)||cm.addClass(n.container,["size",a.params.size].join("-")),a.params.withHours&&i(),a.params.withMinutes&&c(),a.params.withSeconds&&l(),a.params.showTitleTag&&a.params.title&&(n.container.title=a.params.title),a.params.name&&n.hidden.setAttribute("name",a.params.name),a.embedStructure(n.container)},i=function(){var e,t=0;for(n.inner.childNodes.length&&n.inner.appendChild(cm.node("div",{class:"sep"},a.lang("separator"))),n.inner.appendChild(cm.node("div",{class:"field"},n.selectHours=cm.node("select",{placeholder:a.lang("Hours"),title:a.lang("HoursTitle")})));t<24;)e=24===a.params.hoursFormat?cm.addLeadZero(t):[t%12||12,t<12?"am":"pm"].join(""),n.selectHours.appendChild(cm.node("option",{value:t},e)),t+=a.params.hoursInterval},c=function(){var e=0;for(n.inner.childNodes.length&&n.inner.appendChild(cm.node("div",{class:"sep"},a.lang("separator"))),n.inner.appendChild(cm.node("div",{class:"field"},n.selectMinutes=cm.node("select",{placeholder:a.lang("Minutes"),title:a.lang("MinutesTitle")})));e<60;)n.selectMinutes.appendChild(cm.node("option",{value:e},cm.addLeadZero(e))),e+=a.params.minutesInterval},l=function(){var e=0;for(n.inner.childNodes.length&&n.inner.appendChild(cm.node("div",{class:"sep"},a.lang("separator"))),n.inner.appendChild(cm.node("div",{class:"field"},n.selectSeconds=cm.node("select",{placeholder:a.lang("Seconds"),title:a.lang("SecondsTitle")})));e<60;)n.selectSeconds.appendChild(cm.node("option",{value:e},cm.addLeadZero(e))),e+=a.params.secondsInterval},d=function(){a.params.withHours&&(s.selectHours=new Com.Select({select:n.selectHours,renderInBody:a.params.renderSelectsInBody}).addEvent("onChange",function(){m(!0)})),a.params.withMinutes&&(s.selectMinutes=new Com.Select({select:n.selectMinutes,renderInBody:a.params.renderSelectsInBody}).addEvent("onChange",function(){m(!0)})),a.params.withSeconds&&(s.selectSeconds=new Com.Select({select:n.selectSeconds,renderInBody:a.params.renderSelectsInBody}).addEvent("onChange",function(){m(!0)})),a.triggerEvent("onRender")},m=function(e){a.previousValue=a.value,a.params.withHours&&a.date.setHours(s.selectHours.get()),a.params.withMinutes&&a.date.setMinutes(s.selectMinutes.get()),a.params.withSeconds&&a.date.setSeconds(s.selectSeconds.get()),a.value=cm.dateFormat(a.date,a.params.format),n.hidden.value=a.value,e&&(a.triggerEvent("onSelect",a.value),p())},p=function(){a.previousValue&&(a.value||!a.previousValue)&&a.value==a.previousValue||a.triggerEvent("onChange",a.value)};a.set=function(e,t,n){return t=cm.isUndefined(t)?a.params.format:t,n=!!cm.isUndefined(n)||n,cm.isEmpty(e)||"string"==typeof e&&new RegExp(cm.dateFormat(!1,a.params.format)).test(e)?a.clear():(a.date="object"==typeof e?e:cm.parseDate(e,t),a.params.withHours&&s.selectHours.set(a.date.getHours(),!1),a.params.withMinutes&&s.selectMinutes.set(a.date.getMinutes(),!1),a.params.withSeconds&&s.selectSeconds.set(a.date.getSeconds(),!1),m(n)),a},a.get=function(){return a.value},a.getDate=function(){return a.date},a.getHours=function(){return a.date.getHours()},a.getMinutes=function(){return a.date.getMinutes()},a.getSeconds=function(){return a.date.getSeconds()},a.clear=function(e){return e=void 0===e||e,a.date.setHours(0),a.date.setMinutes(0),a.date.setSeconds(0),a.params.withHours&&s.selectHours.set(a.date.getHours(),!1),a.params.withMinutes&&s.selectMinutes.set(a.date.getMinutes(),!1),a.params.withSeconds&&s.selectSeconds.set(a.date.getSeconds(),!1),m(!1),e&&(a.triggerEvent("onClear",a.value),p()),a},a.disable=function(){return a.disabled=!0,a.params.withHours&&s.selectHours.disable(),a.params.withMinutes&&s.selectMinutes.disable(),a.params.withSeconds&&s.selectSeconds.disable(),a},a.enable=function(){return a.disabled=!1,a.params.withHours&&s.selectHours.enable(),a.params.withMinutes&&s.selectMinutes.enable(),a.params.withSeconds&&s.selectSeconds.enable(),a},a.setParams(e),t(),a.convertEvents(a.params.events),a.getDataConfig(a.params.node),o(),r(),d(),a.addToStack(n.container),a.params.selected?a.set(a.params.selected,a.params.format,!1):a.set(a.params.node.value,a.params.format,!1)}),cm.define("Com.TintRange",{extend:"Com.AbstractRange",params:{className:"com__range",theme:"theme--arrows",min:360,max:0,value:360}},function(){Com.AbstractRange.apply(this,arguments)}),cm.getConstructor("Com.TintRange",function(e,t,n){n.renderRangeContent=function(){var e=this.nodes.rangeContent={};return e.container=cm.node("div",{classes:"com__tint-range__content"}),e.container}}
1),Com.FormFields.add("tint-range",{node:cm.node("input",{type:"text"}),fieldConstructor:"Com.AbstractFormField",constructor:"Com.TintRange"}),cm.define("Com.TwoSideMultiSelect",{extend:"Com.AbstractInput",params:{controllerEvents:!0,className:"com__two-side-multi-select",setHiddenInput:!0,defaultValue:[],options:[],showLabels:!1,selectConstructor:"Com.Select",selectParams:{node:cm.node("select",{multiple:!0}),multiple:!0,className:"is-max"}},strings:{firstLabel:"Left:",secondLabel:"Right:",add:">>",remove:"<<",addTitle:"Add",removeTitle:"Remove"}},function(e){Com.AbstractInput.apply(this,arguments)}),cm.getConstructor("Com.TwoSideMultiSelect",function(e,t,n){var a=n._inherit;n.onConstructStart=function(){var e=this;e.value=[],e.options={},e.keyPressHandler=e.keyPressHelper.bind(e),e.moveToLeftHandler=e.moveToLeft.bind(e),e.moveToRightHandler=e.moveToRight.bind(e)},n.validateParamsValue=function(){var e;cm.isNode(this.params.node)&&(e=cm.getSelectValue(this.params.node),this.params.value=cm.isEmpty(e)?this.params.value:e),this.params.value=cm.isEmpty(this.params.value)?this.params.defaultValue:this.params.value},n.onSetEvents=function(){cm.addEvent(window,"keypress",this.keyPressHandler)},n.onUnsetEvents=function(){cm.removeEvent(window,"keypress",this.keyPressHandler)},n.renderHiddenContent=function(){var e={};return(this.nodes.hiddenContent=e).container=e.input=cm.node("select",{class:"display-none",multiple:!0}),e.container},n.renderContent=function(){var e=this,t={};return e.nodes.content=t,e.triggerEvent("onRenderContentStart"),t.container=cm.node("div",{class:"com__two-side__content"},t.inner=cm.node("div",{class:"inner"},t.firstColumn=cm.node("div",{class:"column column--first"}),t.controls=cm.node("div",{class:"controls"},t.moveToRight=cm.node("button",{class:"button button-primary is-box",type:"button",title:e.lang("addTitle")},e.lang("add")),t.moveToLeft=cm.node("button",{class:"button button-primary is-box",type:"button",title:e.lang("removeTitle")},e.lang("remove"))),t.secondColumn=cm.node("div",{class:"column column--second"}))),e.params.showLabels&&(cm.appendChild(cm.node("div",{class:"label"},e.lang("firstLabel")),t.firstColumn),cm.appendChild(cm.node("div",{class:"label"},e.lang("secondLabel")),t.secondColumn),cm.addClass(t.container,"has-labels")),e.triggerEvent("onRenderContentProcess"),cm.addEvent(t.moveToRight,"click",e.moveToRightHandler),cm.addEvent(t.moveToLeft,"click",e.moveToLeftHandler),e.triggerEvent("onRenderContentEnd"),t.container},n.renderViewModel=function(){var t=this;a.prototype.renderViewModel.apply(t,arguments),cm.getConstructor(t.params.selectConstructor,function(e){t.components.firstSelect=new e(cm.merge(t.params.selectParams,{container:t.nodes.content.firstColumn})),t.components.secondSelect=new e(cm.merge(t.params.selectParams,{container:t.nodes.content.secondColumn}))}),t.collectOptions(),cm.forEach(t.params.options,function(e){t.renderOption(e)})},n.collectOptions=function(){var t=this;cm.forEach(t.params.node.options,function(e){t.renderOption({value:e.value,text:e.innerHTML})})},n.renderOption=function(e){(e=cm.merge({value:null,text:null},e)).value=cm.isUndefined(e.value)?e.text:e.value,e.option=cm.node("option",{value:e.value,innerHTML:e.text}),this.nodes.hidden.appendChild(e.option),this.components.firstSelect.addOption(e.value,e.text),this.options[e.value]=e},n.moveToLeft=function(){var e=this.components.secondSelect.get();cm.isEmpty(e)||(this.components.secondSelect.deselectAll(),e=cm.extract(this.value,e),this.set(e,!0))},n.moveToRight=function(){var e=this.components.firstSelect.get();cm.isEmpty(e)||(this.components.firstSelect.deselectAll(),e=cm.extend(this.value,e),this.set(e,!0))},n.moveOptionToLeft=function(e){e.selected&&(e.selected=!1,this.components.secondSelect.removeOption(e.value),this.components.firstSelect.showOption(e.value))},n.moveOptionToRight=function(e){e.selected||(e.selected=!0,this.components.secondSelect.addOption(e.value,e.text),this.components.firstSelect.hideOption(e.value))},n.keyPressHelper=function(e){var t=this,n=cm.getElementAbove(e);
1cm.handleKey(e,"Enter",function(e){cm.isParent(t.nodes.content.firstColumn,n,!0)&&(cm.preventDefault(e),t.moveToRight()),cm.isParent(t.nodes.content.secondColumn,n,!0)&&(cm.preventDefault(e),t.moveToLeft())})},n.saveHiddenValue=function(t){var n;cm.forEach(this.options,function(e){cm.isEmpty(t)?e.option.selected=!1:(n=cm.isArray(t)&&cm.inArray(t,e.value),n=n||e.value===t,e.option.selected=n)})},n.setData=function(t){var n,a=this;cm.forEach(a.options,function(e){!cm.isEmpty(t)&&(n=cm.isArray(t)&&cm.inArray(t,e.value),n||e.value===t)?a.moveOptionToRight(e):a.moveOptionToLeft(e)})}}),(e=>{"function"==typeof define&&define.amd?define(e):e()})(function(){function i(e){this.message=e}(i.prototype=new Error).name="InvalidCharacterError";var n="undefined"!=typeof window&&window.atob&&window.atob.bind(window)||function(e){var t=String(e).replace(/=+$/,"");if(t.length%4==1)throw new i("'atob' failed: The string to be decoded is not correctly encoded.");for(var n,a,s=0,o=0,r="";a=t.charAt(o++);~a&&(n=s%4?64*n+a:a,s++%4)&&(r+=String.fromCharCode(255&n>>(-2*s&6))))a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(a);return r};function a(e){var t=e.replace(/-/g,"+").replace(/_/g,"/");switch(t.length%4){case 0:break;case 2:t+="==";break;case 3:t+="=";break;default:throw"Illegal base64url string!"}try{return decodeURIComponent(n(t).replace(/(.)/g,function(e,t){t=t.charCodeAt(0).toString(16).toUpperCase();return"%"+(t=t.length<2?"0"+t:t)}))}catch(e){return n(t)}}function s(e){this.message=e}function e(e,t){if("string"!=typeof e)throw new s("Invalid token specified");t=!0===(t=t||{}).header?0:1;try{return JSON.parse(a(e.split(".")[t]))}catch(e){throw new s("Invalid token specified: "+e.message)}}(s.prototype=new Error).name="InvalidTokenError",window&&("function"==typeof window.define&&window.define.amd?window.define("jwt_decode",function(){return e}):window&&(window.jwt_decode=e))}),"undefined"!=typeof module&&module.exports&&(module.exports=iosPWASplash),cm._config.redrawOnLoad=!1,cm._assetsUrl="//beautyalist.com",cm._baseUrl="//beautyalist.com",cm._locale="en-US",window.Data=window.Data||{},window.App={_i18n:JSON.parse('[{"code":"de","locale":"de-DE","name":"Deutsch","canonical":"German","primary":true},{"code":"de","locale":"de-AT","name":"Deutsch","canonical":"Austrian German","parent":"de-DE"},{"code":"de","locale":"de-CH","name":"Deutsch","canonical":"Swiss German","parent":"de-DE"},{"code":"en","locale":"en-US","name":"English","canonical":"American English","primary":true},{"code":"en","locale":"en-AU","name":"English","canonical":"Australian English","parent":"en-US"},{"code":"en","locale":"en-CA","name":"English","canonical":"Canadian English","parent":"en-US"},{"code":"en","locale":"en-GB","name":"English","canonical":"British English","parent":"en-US"},{"code":"en","locale":"en-IE","name":"English","canonical":"Irish English","parent":"en-US"},{"code":"en","locale":"en-NZ","name":"English","canonical":"New Zealand English","parent":"en-US"},{"code":"es","locale":"es-ES","name":"Español","canonical":"Spanish","primary":true},{"code":"es","locale":"es-US","name":"Español","canonical":"American Spanish","parent":"es-ES"},{"code":"fr","locale":"fr-FR","name":"Français","canonical":"French","primary":true},{"code":"fr","locale":"fr-BE","name":"Français","canonical":"Belgian French","parent":"fr-FR"},{"code":"fr","locale":"fr-CA","name":"Français","canonical":"Canadian French","parent":"fr-FR"},{"code":"fr","locale":"fr-CH","name":"Français","canonical":"Swiss French","parent":"fr-FR"},{"code":"it","locale":"it-IT","name":"Italiano","canonical":"Italian","primary":true},{"code":"lt","locale":"lt-LT","name":"Lietuvių","canonical":"Lithuanian","primary":true},{"code":"nl","locale":"nl-BE","name":"Nederlands","canonical":"Belgian Dutch"},{"code":"pl","locale":"pl-PL","name":"Polski","canonical":"Polish","primary":true}]'),_env:JSON.parse('{"environment":"prod","folder":"_prod","debug":false,"debugPWA":false,"title":"BeautyAList","description":"BeautyAList is a one-stop site for brands, professionals, salons, and consumers that combines technology for license verification with marketing, social media, and an eComm platform to serve the entire beauty industry.","metaTitle":"BeautyAList | Uniting clients with licensed beauty pros","metaKeywords":"BeautyAList, beauty professionals, license verification, beauty industry","baseUrl":"//beautyalist.com","baseHref":"//beautyalist.com/","protocol":"https:","clientId":"lic_c_id_lo3657zh5e8hwbr5lx8","apiKey":"1db76370-af25-11ea-9d47-cbf546b0b2ff","apiUrl":"//api.licensify.io","localUrl":"http://api.licensify-local.io","serverUrl":"//api.licensify.io","staticUrl":"//blist-mobile-api-data.s3.amazonaws.com","staticFolder":"user-files","dashboardUrl":"//dashboard.licensify.io","licensifyUrl":"//licensify.io","startUrl":"/","googleApiKey":"AIzaSyCX6nQyQjCvgO87u7_22ABsKd5fxI61hg8","googleTagID":"G-XF3GP7FKS6","redditPixelID":"a2_ghqexyw0zkzw","reC
1aptchaApiKey":"6LfGnlolAAAAAPCDhB0a_cMwk_UNR85vvV6syXor","appStoreLink":"https://itunes.apple.com/app/id1270835483?mt=8","googlePlayLink":"https://play.google.com/store/apps/details?id=com.nordwest.beauticianlist","googlePlayId":"com.nordwest.beauticianlist"}'),_version:"6.26.8",_path:{api:"//api.licensify.io",api_fastfoils:"https://fastfoils.beautyalist.com",server:"//api.licensify.io",thumbnail:"file/thumbnail",fonts:"./fonts",content:"./content",template:"","common.img":"./img/common","components.img":"./img/components","template.img":"./img/components/Template","blog.img":"./img/components/Blog","gallery.img":"./img/components/Gallery"},_api:{authentication:{create:"/v1.2/authentication/jwt",update:"/authentication/jwt",delete:"/authentication/jwt"},register_consumer:"/v1.2/users/register/consumer",register_technician:"/v1.8/users/register/technician",register_salon:"/v1.4/users/register/salon",register_student:"/v1.1/users/register/student",register_ticket:"/ticket/registration",reset:"/users/reset",unsubscribe:"/unsubscribe",notifications:"/notifications",blog_posts:{list:"/public/blog",read:"/blog/{id}",search:"/blog/search/{query}"},blog_categories:{read:"/public/blog/category/{id}"},photos:{list:"/publicphotos",create:"/photos",read:"/photos/{id}",update:"/photos/{id}",delete:"/photos/{id}"},pages:{read:"/pages/shortname/{id}"},users:{list:"/users",read:"/userswebsite/{id}",update:"/users/{id}"},me:{profile:"/me/profile",delete:"/users/{id}",params:"/me/params",tos:"/me/tos",photos:"/me/photos",like:{list:"/me/like",create:"/me/like/{id}",delete:"/me/like/{id}"},favorite:{list:"/me/favorite",create:"/me/favorite/{id}",delete:"/me/favorite/{id}"},tag:{list:"/me/tag",create:"/me/tag/{id}",delete:"/me/tag/{id}"},ncea:{list:"/me/ncea",create:"/me/ncea",update:"/me/ncea/{id}",delete:"/me/ncea/{id}"}},userslicenses:{list:"/userslicenses",create:"/userslicenses",read:"/userslicenses/{id}",update:"/userslicenses/{id}",delete:"/userslicenses/{id}"},ncea:{list:"/ncea",check:"/ncea/check"},userslicenses_check:"/userslicense/check",license_search:"/license/search",license_search_salon:"/salon/search",license_validate:"/license/validate",license_update:"/license/update",license_update_step2:"/license/update/step2",conversation:{list:"/conversation",create:"/conversation",read:"/conversation",update:"/conversation/{id}",delete:"/conversation/{id}"},chat_gpt:{create:"/openai/chat"},supports:"/supports",support:"/support",specialities:"/specialities",config:"/config",status:"/status",file:{create:"/file/upload",delete:"/file/{id}",uri:"/file/public/{id}",thumbnail:"/file/thumbnail/{id}"},brand:{list:"/brand",create:"/brand"},events:{list:"/public/events",export:"/public/event/{id}"},apikeys:{list:"/public/apikeys",forms:"/apikey/forms/{id}",forms_attach:"/apikey/forms/attach/{id}",forms_check:"/apikey/forms/check/{id}"},ecommerce:{checkout:"/ecommerce/checkout",book:"/book/checkout",list:"/ecommerce/products"},book:{read:"/book",list:"/book/chapters"},form:"/form/{slug}",forms:"/forms/{slug}",openid:{authorize:"/openid/v1.1/authorize",license_check:"/openid/v1.1/license/check",school_check:"/openid/v1.1/school/check",website:"/openid/v1.1/website",brand_info:"/openid/v1.1/brand/info"},social:{list:"/me/params",create:"/social/{name}",update:"/social/{name}",delete:"/social/{name}"},workers:{list:"/workers",create:"/workers",delete:"/workers/{id}",approve:"/workers/approve/{id}",decline:"/workers/decline/{id}"},talents:{list:"/talents",create:"/talents",delete:"/talent/{id}",viewed:"/talent/viewed/{id}"},invite:"/invite",questionary:{list:"/questions",create:"/questionary/submissions"}},_apiFastFoils:{forms:{attach:"/apikey/forms/attach/{id}"}},_apiRoutes:{apiauth_license:{search:"/apiauth/license/search",salon:{search:"/apiauth/salon/search"}}},_config:{titleSeparator:" - ",formats:{date:"%F %j, %Y",dateShort:"%n/%j/%Y",dateShortS:"%n / %j / %Y"},itemsPerPage:{gridlist:25,preferences:10,cardsList:25,blogPosts:8},info:{phone:"+1 866-563-3508",emailHello:"[email protected]",emailHelp:"[email protected]"},images:{blurredWidth:12},blog:{mainCategory:"real-talk",categoryImageWidth:2560,categoryImageWidths:[640,800,1280,1440,1920,2560],postImageWidth:600,postFeaturedImageWidth:1200,postAbstractLength:220,postsPerSection:4,featuredPostPerSection:3,relatedPostsPerSection:3,categoryPostsPerSection:5,categoryPostsPerPage:7},gallery:{size:500,imageWidths:[640,800,1280,1440,1920,2560],formWidth:900},user:{avatarWidth:500,avatarSizes:{small:Math.ceil(48*(window.devicePixelRatio||1)),default:Math.ceil(48*(window.devicePixelRatio||1)),medium:128,large:250,profile:500},coverWidth:1800,coverHeight:600,coverWidths:[800,1200,1800],socialLinks:["facebook","twitter","instagram","youtube","pinterest","snapchat","tumblr"],workingHours:["Sunday","Monday","Tuesday","Wednesday","Thursday","Frid
1ay","Saturday"]},dialog:{widthXSmall:400,widthSmall:500,widthMedium:700,widthLarge:1e3,widthContent:1200,widthHalf:600,heightMedium:700},map:{zoom:12,location:{lat:40.75,lng:-74}},acceptImageFormats:["image/jpeg","image/png","image/gif"],acceptImageCanvasFormats:["image/jpeg","image/png","image/gif","image/heic","image/heif","image/webp","image/avif"],acceptVideoFormats:["video/mpg","video/mp4","video/mov","video/wmv","video/avi","video/quicktime","video/x-ms-wmv"],acceptFormFileFormats:["image/jpeg","image/png","application/pdf"],acceptLicenseFileFormats:["image/jpeg","image/png","image/heic","image/heif","image/webp","image/avif","application/pdf"],acceptLicenseFileExtensions:["jpg","png","webp","avif","pdf"],acceptFileSize:1e7,specialUsers:{prod:["625db2489c3590001b59714f","671112620b66a0912317f09e"],dev:["615c87295b71a2f25c4517d5"]},specialBrands:{dev:"5ecbfc8402180b0017b38e0b",fastfoils_dev:"66e4ab532ca028a7bc4935b9",fastfoils:"66ba6be6e47080a6ce69314b"},specialKeys:{verify:"cff62190-d1d8-11ef-9dbb-efc70f49aa99"},fonts:["Montserrat, sans-serif","Open Sans, sans-serif","PT Serif, serif"],excludeRoutes:["error","contact","openid","openid.*","app.auth","app.external","signup","signup.*","signin","signin.*","user.reset","user.reset.code","user.unsubscribe"],google:{apiLink:"https://maps.googleapis.com/maps/api/js?key={key}&libraries=places,geometry,marker&language={language}&callback=AppGoogleMapsCallback"},klaviyo:{id:"X3CPAS",consumer:"WgRepC"}},_statesConstraints:{AL:{message:"License should contain digits only.",pattern:/^[\d]*$/,input:e=>e.replace(/[^\d]/g,""),change:!0},CA:{message:"License should contain digits only.",pattern:/^[\d]*$/,input:e=>e.replace(/[^\d]/g,""),change:!0},FL:{message:"License should not contain spaces.",pattern:/[^\s\uFEFF\xA0]/,input:e=>cm.removeSpaces(e).replace(/#/g,""),change:!0},IL:{message:"License should contain 9 digits.",pattern:/^[\d]{9}$/,input:e=>e.replace(/[^\d]/g,"").slice(0,9),change:!0},NC:{message:"License should contain digits only.",pattern:/^[\d]*$/,input:e=>e.replace(/[^\d]/g,""),change:!0},OR:{message:"License should contain digits only.",pattern:/^[\d]*$/,input:e=>e.replace(/[^\d]/g,""),change:!0},SC:{message:"License should contain digits only.",pattern:/^[\d]*$/,input:e=>e.replace(/[^\d]/g,""),change:!0},DEFAULT:{message:'License should not contain "#".',pattern:/^[^#]*$/,input:e=>e.replace(/#/g,""),change:!0}},_statesRestrictions:{AR:["license"],KY:["license"],ND:["license"]},_placeholders:{address:["0001 Cemetery Lane, USA","1313 Mockingbird Lane, Mockingbird Heights","742 Evergreen Terrace, Springfield","4 Privet Drive, Little Whinging, Surrey","124 Conch Street, Bikini Bottom","221B Baker Street, London","12 Grimmauld Place, London","30 Rockefeller Plaza, New York","1 Infinite Loop, Cupertino, CA","31 Spooner Street, Quahog, Rhode Island","0001 Ocean Avenue, Bikini Bottom","10 Downing Street, London","1000 Mission Street, San Francisco, CA","1600 Pennsylvania Avenue NW, Washington, DC"],licenses:[{id:"1995",state:"TX",licenseno:"Apollo 13",type:"Astronaut / Engineer"},{id:"1984",state:"NY",licenseno:"ECTO-1",type:"Paranormal Investigator"},{id:"1994",state:"AL",licenseno:"GUMP",type:"Runner / Entrepreneur"},{id:"1991",state:"CA",licenseno:"T800",type:"Cyborg / Protector"},{id:"2006",state:"NM",licenseno:"WALT-WH",type:"Chemistry Teacher / Pharmacist"},{id:"1980",state:"IL",licenseno:"BLUES",type:"Musician"},{id:"1989",state:"NY",licenseno:"BAT89",type:"Vigilante / Industrialist"},{id:"1975",state:"MA",licenseno:"SHARK1",type:"Police Chief / Marine Biologist"},{id:"1999",state:"RI",licenseno:"PT109",type:"Fisherman / Sailor"},{id:"2016",state:"DC",licenseno:"WW1984",type:"Antique Dealer / Superhero"}]}},(()=>{function s(n,a){return cm.forEach(n,function(e,t){cm.isObject(e)?n[t]=s(e,a):n[t]=[a,e].join("")}),n}App._api=s(App._api,App._path.api),App._apiFastFoils=s(App._apiFastFoils,App._path.api_fastfoils)})(),App.isMobile=function(){return cm.isBreakpoint("tabletDown")},App.i18nGetCodes=function(){return App._i18n.map(e=>e.code)},App.i18nGetLocales=function(){return App._i18n.map(e=>e.locale)},App.getPath=function(e,t){return e=App._path[e]||e,cm.isEmpty(t)?e:e+"/"+t},App.getAbsolutePath=function(e,t){e=(e=App._path[e]||e).replace(/^\./,"");e=""+App._env.protocol+App._env.baseUrl+e;return cm.isEmpty(t)?e:e+"/"+t},App.getHref=function(e){if(!cm.isEmpty(e))return e=App.getHrefHostname(e),e=/^(http|https):/.test(e)?e:"https://"+e}
1,App.getHrefDecoded=function(e){if(!cm.isEmpty(e))return App.getHref(decodeURIComponent(e))},App.getHrefHostname=function(e){if(!cm.isEmpty(e))return e.trim().replace(/^\/\//,"")},App.getURL=function(e){return new URL(App.getHrefDecoded(e))},App.getAddressHref=function(e){return"https://www.google.com/maps/search/?api=1&query="+encodeURIComponent(e)},App.getPhoneHref=function(e){return"tel:"+e.replace(/[\s-]/g,"")},App.getEmailHref=function(e){e=e.split("@");return'javascript:App.sendEmail("'+btoa(e[0])+'","'+btoa(e[1])+'")'},App.sendEmail=function(e,t){window.location.href="mailto:"+atob(e)+"@"+atob(t)},App.getEmailNode=function(e){e=e.split("@");return cm.node("span",cm.textNode(e[0]),cm.node("span",{classes:"display-none"},"hidden"),cm.textNode("@"),cm.node("span",{classes:"display-none"},"hidden"),cm.textNode(e[1]))},App.getApiUrl=function(e){return App._path.api+e},App.getStaticPath=function(e){if(!cm.isEmpty(e))return e=e.replace(/^\//,""),App._env.staticFolder+"/"+e},App.getStaticUrl=function(e){if(!cm.isEmpty(e))return App.getHref(App._env.staticUrl)+"/"+(e=e.replace(/^\//,""))},App.escapeValue=function(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&").trim()},App.capitalize=function(e){return e&&e[0].toUpperCase()+e.slice(1)||""},App.capitalizeWords=function(e){return e&&e.toLowerCase().replace(/\b\w/g,e=>e.toUpperCase())||""},App.getFileExt=function(e){if(!cm.isEmpty(e))return e.split(".").pop()},App.dateToLocal=function(e,t){if(cm.isString(e)&&(e=Date.parse(e)),!cm.isEmpty(e)&&(cm.isDate(e)||cm.isNumber(e)))return new Date(e).toLocaleString(cm._locale,cm.merge({year:"numeric",month:"numeric",day:"numeric",hour:"numeric",minute:"numeric",timeZone:"America/New_York",timeZoneName:"short"},t))},App.dateToLocalDate=function(e,t){if(cm.isString(e)&&(e=Date.parse(e)),!cm.isEmpty(e)&&(cm.isDate(e)||cm.isNumber(e)))return new Date(e).toLocaleDateString(cm._locale,cm.merge({year:"numeric",month:"numeric",day:"numeric"},t))},App.dateToLocalTime=function(e,t){if(cm.isString(e)&&(e=Date.parse(e)),!cm.isEmpty(e)&&(cm.isDate(e)||cm.isNumber(e)))return new Date(e).toLocaleTimeString(cm._locale,cm.merge({hour:"numeric",minute:"numeric",timeZone:"America/New_York",timeZoneName:"short"},t))},App.textFit=(()=>{let a=new Map,s=new ResizeObserver(e=>{for(var t of e)a.has(t.target)&&(t=a.get(t.target),o(t))}),o=e=>{cm.removeCSSVariable("--text-fit--size",e.node);var t=e.container.clientWidth/e.node.clientWidth*100,t=cm.isFunction(e.callback)?e.callback(t):t<100?t:0;t&&cm.setCSSVariable("--text-fit--size",t.toFixed(2)+"%",e.node)};return{observe:(e,t,n)=>{e&&!a.has(e)&&(e={node:e,container:t=t||e.parentNode,callback:n},a.set(e.node,e),a.set(e.container,e),s.observe(e.node),s.observe(e.container),o(e))},unobserve:e=>{e&&a.has(e)&&(e=a.get(e),s.unobserve(e.node),s.unobserve(e.container),a.delete(e.node),a.delete(e.container))},list:()=>a}})(),App.stringHashHue=function(t){let n=0;if(cm.isEmpty(t))return n;for(let e=0;e<t.length;e++){var a=t.charCodeAt(e);n=(n<<5)-n+a,n&=n}return(n%360+360)%360},App.getRandomSubset=function(e,t,n){n=Math.min(e.length,Math.floor(Math.random()*(n-t+1))+t);return e.slice().sort(()=>.5-Math.random()).slice(0,n)},App.scrollSidebarHelper=function(e,s,o){let r=cm.getBodyScrollTop(),i=()=>{s.style.minHeight=o.scrollHeight+"px"};var t=()=>{i();var e=cm.getBodyScrollTop(),t=cm.getRect(s),n=Template.getHeaderDimensions("height"),a=cm.getPageSize("winHeight"),n=t.top-(Template.isHeaderSticky()?n:0),t=t.bottom-a,a=e-r;o.scrollTop=0<=n?0:t<=0?o.scrollHeight:o.scrollTop+a,r=e};i(),t(),e.addEvent("onRedraw",i),e.addEvent("onScrollUpdate",t)},App.validateBrandData=function(e){return(e=cm.merge({website:[""+App._env.protocol+App._env.baseUrl],company:App._env.title,dba:App._env.title},e)).company=e.dba||e.company,e},window.AppGoogleMapsCallback=function(){},cm.hook.add("ajax.beforePrepare",function(e){e.headers=cm.merge(Application.userGetAccessTokenHeader(),e.headers)}),cm.hook.add("ajax.error",function(e){e instanceof ProgressEvent&&ErrorBeacon&&403===(e=e.target).status&&cm.isString(e.response)&&e.response.includes("403 Forbidden")&&(e={status:e.status,statusText:e.statusText,response:e.response,responseURL:e.responseURL,responseType:e.responseType},ErrorBeacon.send({details:e}))}),cm.setParams("Com.Notifications",{iconClasses:["icon","small","faded","linked"]}),cm.setParams("Com.ScrollPagination",{button:{enable:!1,classes:["button","button--border-black"]},placeholder:{enable:"auto"}}),cm.setParams("Com.Dialog",{theme:"theme-light",animate:!0}),cm.setParams("Com.Gridlist",{visibleDateFormat:"cm._config.displayDateTimeFormat",actionsMenu:{constructor:"App.ActionsMenu",constructorParams:{modifiers:["actions","gridlist"]}}}),cm.setParams("Com.AbstractInput",{renderHiddenContent:!1,setHiddenInput:!1}),cm.setParams("Com.Autocomplete",{minLength:1}),cm.setParams("Com.Select",{renderHiddenContent:!1,setHiddenInput:!1}),cm.setParams("Com.Input",{renderHiddenContent:!1,setHiddenInput:!1}),cm.setParams("Com.Check",{renderHiddenContent:!1,setHiddenInput:!1}),cm.setParams("Com.FileInput",{renderHiddenContent:!1,setHiddenInput:!1,outputValueType:"file"}),cm.setParams("Com.ImageInput",{renderHiddenContent:!1,setHiddenInput:!1,outputValueType:"file"}),cm.setParams("Com.DateSelect",{fields:["month","day","year"],fieldSizes:{year:["small","flex-none"],month:"medium",day:"small"}}),cm.setParams("Com.Datepicker",{calendar:{constructorParams:{className:["com__datepicker-calendar","is-today-highlight"],modifiers:["separator","datepicker"]}}}),cm.setParams("Com.ToggleBox",{icon:()=>Application.Images.embedIcon({icon:"chevronRight",classes:["small"]})}),cm.define("App.Application",{extend:"Com.AbstractController",events:["onRouteChange","onTokenRefresh","onTokenExpire"],params:{renderStructure:!1,embedStructureOnRender:!1,controllerEvents:!0,customEvents:!0,route:null,routeParam
1s:{},node:"document.body",router:{constructor:"App.Router",constructorParams:{name:"router",container:"document.body"}},template:{constructor:"App.Template",constructorParams:{name:"template",container:"document.body"}},trackingManager:{constructor:"App.TrackingManager",constructorParams:{}},errorBeacon:{constructor:"App.ErrorBeacon",constructorParams:{}},userRefresh:{constructor:"App.UserRefresh",constructorParams:{}},mediaManager:{constructor:"App.MediaManager",constructorParams:{exportScope:!0}}}},function(){Com.AbstractController.apply(this,arguments)}),cm.getConstructor("App.Application",function(e,t,n,a){n.onConstructStart=function(){this.isLoaded=!1,window.Application=this},n.onDestruct=function(){cm.forEach(this.components,e=>e.destruct())},n.renderViewModel=function(){let t=this;a.prototype.renderViewModel.apply(t,arguments),cm.getConstructor(t.params.errorBeacon.constructor,e=>{t.components.errorBeacon=new e(t.params.errorBeacon.constructorParams)}),cm.getConstructor(t.params.mediaManager.constructor,e=>{t.components.mediaManager=new e(t.params.mediaManager.constructorParams)})},n.renderApplication=function(){let t=this;t.isLoaded||(t.isLoaded=!0,t.Intl.processData(),t.setUserClass(),cm.getConstructor(t.params.router.constructor,e=>{t.components.router=new e(t.params.router.constructorParams),t.components.router.addEvent("onChange",t.routeChangeEvent.bind(t)),t.configureRoutes()}),cm.getConstructor(t.params.template.constructor,e=>{t.components.template=new e(t.params.template.constructorParams)}),cm.getConstructor(t.params.trackingManager.constructor,e=>{t.components.trackingManager=new e(t.params.trackingManager.constructorParams)}),t.components.router.embed(t.components.template.getContentHolder()),t.components.router.start(t.params.route,null,t.params.routeParams))},n.refreshResponse=function(e,t){this.renderApplication(),this.triggerEvent("onTokenRefresh",t)},n.refreshExpire=function(){this.triggerEvent("onTokenExpire"),Application.User.logout()},n.routeChangeEvent=function(e,t){TrackingManager.pushPageView(t.route),cm.isEmpty(t.parameters?.viewmode)||this.components.template.setViewMode(t.parameters.viewmode),this.components.template.redraw(),this.triggerEvent("onRouteChange",t)},n.setUserClass=function(){cm.forEach(Application.User.getRoles(),function(e){cm.replaceClass(cm.getDocumentHtml(),["user",e].join("--"))}),cm.addClass(cm.getDocumentHtml(),["user",Application.User.getRole()].join("--"))},n.start=function(){let t=this;return Application.User.isAuthorized()?cm.getConstructor(t.params.userRefresh.constructor,e=>{t.components.userRefresh=new e(cm.merge(t.params.userRefresh.constructorParams,{events:{onRequest:t.refreshResponse.bind(t)}}))}):t.renderApplication(),t},n.stop=function(){return this.destruct(),this}}),cm.getConstructor("App.Application",function(e,t,n,a){n.Buttons={},n.Buttons.render=function(e){let c={nodes:{},icons:{},params:cm.merge({container:cm.node("div"),insertMethod:"appendChild",classes:[],modifiers:[],activeClasses:[],selectedClasses:["selected"],checkedClasses:["active"],disabledClasses:["button-disabled","disabled"],attr:{},tagName:"button",label:null,title:null,link:null,target:null,rel:null,download:null,noRoute:!1,disabled:null,hidden:null,selected:null,checked:null,callback:null,handler:null,role:"button",tabindex:0,ariaLabel:null,ariaHasPopup:null,ariaSelected:null,ariaChecked:null,ariaPressed:null,ariaExpanded:null,ariaHidden:null,icons:{classes:[],transition:!1,before:null,after:null},checkbox:{render:!1,classes:[],type:"checkbox",name:null,checked:!1}},e),getContainer:()=>c.nodes.container,setClasses:e=>(cm.removeClass(c.nodes.container,c.params.classes),c.params.classes=["button",...e],c._classes=[...c.params.classes,...c._modifiers],cm.addClass(c.nodes.container,c._classes),c),setModifiers:e=>(cm.removeClass(c.nodes.container,c._modifiers),c.params.modifiers=e,c._modifiers=[],cm.forEach(c.params.modifiers,e=>c._modifiers.push("button--"+e)),c._classes=[...c.params.classes,...c._modifiers],cm.addClass(c.nodes.container,c._classes),c),setLabel:e=>{if(c.params.label=e,!cm.isEmpty(e))return c.nodes.label||(c.nodes.label=cm.node("div",{classes:"label"}),cm.appendChild(c.nodes.label,c.nodes.container)),cm.clearNode(c.nodes.label),cm.isNode(e)||cm.isArray(e)?cm.appendNodes(e,c.nodes.label):c.nodes.label.innerHTML=e,c;cm.remove(c.nodes.label),c.nodes.label=null},setTitle:e=>(c.params.title=e,c.nodes.container.title=e,c),setIcon:(e,t="before",n=c.params.icons.classes,a=c.params.icons.transition)=>{let s,o,r,i;return cm.isObject(e)?{icon:s,position:o=t,classes:r=n,transition:i=a}=e:(s=e,o=t,r=n),o=cm.inArray(["before","after"],o)?o:"before",c.params.icons[o]=s,c.icons[o]&&c.removeIcon(o,i),c.icons[o]=Application.Images.embedIcon({icon:s,classes:r,container:c.nodes.container,insertMethod:"after"===o?"insertLast":"insertFirst",ariaHidden:!0}),c.addIcon(o,i),c},setIconClasses:(e="before",t=[],n=!0)=>{e=c.icons[e];return e&&cm.toggleClass(e,t,n),c},removeIcon:(e,n)=>{let a=c.icons[e];if(c.icons[e]=null,a){if(n){let e=cm.isBoolean(n)?"transition":"transition-"+n,t=()=>{cm.removeEvent(a,"transitionend",t),cm.remove(a)};cm.addClass(a,["has-transition",e+"--in"]),cm.addEvent(a,"transitionend",t),cm.onSchedule(()=>cm.replaceClass(a,e+"--in",e+"--out"))}else cm.remove(a);c.icons.before||c.icons.after||cm.removeClass(c.nodes.container,"has-icon")}return c},addIcon:(e,t)=>{let n=c.icons[e];if(n){if(t){let e=()=>{cm.removeEvent(n,"transitionend",e),cm.removeClass(n,["has-transition","transition--in"])};cm.addClass(n,["has-transition","transition--out"]),cm.addEvent(n,"transitionend",e),cm.onSchedule(()=>cm.replaceClass(n,"transition--out","transition--in"))}cm.addClass(c.nodes.container,"has-icon")}return c},setHandler:e=>(cm.isFunction(c.params.handler)&&cm.click.remove(c.nodes.container,c.params.handler),c.params.handler=e,cm.isFunction(e)&&cm.click.add(c.nodes.container,e),c),toggleDisabled:e=>(c.params.disabled=e,c.nodes.container.toggleAttribute("disabled",e),cm.toggleClass(c.nodes.container,c.params.disabledClasse,e),c),toggleSelected:e=>(c.params.selected=e,c.params.ariaSelected=e,c.nodes.container.setAttribute("aria-selected",e),cm.toggleClass(c.nodes.container,c._selectedClasses,e),c.params.checkbox.render&&(c.params.checkbox.checked=e,c.nodes.checkbox.checked=e),c),toggleChecked:e=>(c.params.checked=e,c.params.ariaChecked=e,c.nodes.container.setAttribute("aria-checked",e),cm.toggleClass(c.nodes.container,c._checkedClasse
1s,e),c.params.checkbox.render&&(c.params.checkbox.checked=e,c.nodes.checkbox.checked=e),c),togglePressed:e=>(c.params.ariaPressed=e,c.nodes.container.setAttribute("aria-pressed",e),c),toggleExpanded:e=>(c.params.ariaExpanded=e,c.nodes.container.setAttribute("aria-expanded",e),c),toggleVisibility:e=>(c.params.hidden=!e,c.params.ariaHidden=!e,c.nodes.container.setAttribute("aria-hidden",!e),cm.toggleClass(c.nodes.container,"is-hidden",!e),c),setContainer:(e,t)=>(c.params.container=e,c.params.insertMethod=t||c.params.insertMethod,e?cm[c.params.insertMethod](c.nodes.container,c.params.container):cm.remove(c.nodes.container),c)};return c._tagName=cm.isEmpty(c.params.link)?c.params.tagName.toLowerCase():"a",c._classes=[],c._selectedClasses=cm.extend(c.params.activeClasses,c.params.selectedClasses),c._checkedClasses=cm.extend(c.params.activeClasses,c.params.checkedClasses),c._modifiers=[],c.nodes.container=cm.node(c._tagName),cm.isEmpty(c.params.label)||c.setLabel(c.params.label),cm.isEmpty(c.params.title)||c.setTitle(c.params.title),"a"===c._tagName&&(cm.isEmpty(c.params.link)||(c.nodes.container.href=c.params.link),cm.isEmpty(c.params.target)||(c.nodes.container.target=c.params.target),cm.isEmpty(c.params.rel)||(c.nodes.container.rel=c.params.rel),cm.isEmpty(c.params.download)||c.nodes.container.setAttribute("download",c.params.download),c.params.noRoute)&&(c.nodes.container.dataset.noRoute="true"),c.setClasses(c.params.classes),c.setModifiers(c.params.modifiers),cm.isEmpty(c.params.attr)||cm.forEach(c.params.attr,(e,t)=>{c.nodes.container.setAttribute(t,e)}),"button"===c._tagName&&"button"===c.params.role||c.nodes.container.setAttribute("role",c.params.role),"button"===c._tagName&&0===c.params.tabindex||c.nodes.container.setAttribute("tabindex",c.params.tabindex),cm.isEmpty(c.params.ariaLabel)||c.nodes.container.setAttribute("aria-label",c.params.ariaLabel),cm.isEmpty(c.params.ariaHasPopup)||c.nodes.container.setAttribute("aria-haspopup",c.params.ariaHasPopup),cm.isEmpty(c.params.ariaSelected)||c.nodes.container.setAttribute("aria-selected",c.params.ariaSelected),cm.isEmpty(c.params.ariaChecked)||c.nodes.container.setAttribute("aria-checked",c.params.ariaChecked),cm.isEmpty(c.params.ariaPressed)||c.nodes.container.setAttribute("aria-pressed",c.params.ariaPressed),cm.isEmpty(c.params.ariaExpanded)||c.nodes.container.setAttribute("aria-expanded",c.params.ariaExpanded),cm.isEmpty(c.params.ariaHidden)||c.nodes.container.setAttribute("aria-hidden",c.params.ariaHidden),cm.isArray(c.params.icons)&&cm.forEach(c.params.icons,e=>c.setIcon(e)),cm.isEmpty(c.params.icons.before)||c.setIcon(c.params.icons.before,"before",c.params.icons.classes),cm.isEmpty(c.params.icons.after)||c.setIcon(c.params.icons.after,"after",c.params.icons.classes),c.params.checkbox.render&&(c._checkboxClasses=cm.merge(["app__checkbox"],c.params.checkbox.classes),c.nodes.checkbox=cm.node("input",{classes:c._checkboxClasses,type:c.params.checkbox.type,name:c.params.checkbox.name,"aria-hidden":!0}),c.params.checkbox.checked&&(c.nodes.checkbox.checked=!0),cm.addClass(c.nodes.container,"has-icon"),cm.insertFirst(c.nodes.checkbox,c.nodes.container)),cm.isBoolean(c.params.disabled)&&c.toggleDisabled(c.params.disabled),cm.isBoolean(c.params.hidden)&&c.toggleVisibility(!c.params.hidden),cm.isBoolean(c.params.selected)&&c.toggleSelected(c.params.selected),cm.isBoolean(c.params.checked)&&c.toggleChecked(c.params.checked),cm.isFunction(c.params.callback)&&c.setHandler(c.params.callback),cm.isFunction(c.params.handler)&&c.setHandler(c.params.handler),cm.isNode(c.params.container)&&c.setContainer(c.params.container,c.params.insertMethod),c},n.Buttons.embed=function(){return Application.Buttons.render.apply(this,arguments).nodes.container},n.Buttons.renderContainer=function(e){let s={nodes:{},items:{},current:null,previous:null,params:cm.merge({container:cm.node("div"),insertMethod:"appendChild",classes:[],modifiers:[],styles:{},items:[],buttons:[],role:null,ariaLabel:null,scrollable:!1,onToggle:()=>{}},e),getContainer:()=>s.nodes.container,toggleItems:(n,e)=>{e=cm.merge({scroll:!0,redraw:!0},e),s.previous=s.current,s.current=n;var t=cm.arrayIndex(Object.keys(s.items),n),a=s.items[n];return cm.forEach(s.items,(e,t)=>{"radiogroup"===s.params.role?e.toggleChecked(t===n):e.toggleSelected(t===n)}),s.params.scrollable&&e.scroll&&a?.getContainer().scrollIntoView({behavior:"smooth",block:"nearest",inline:"center"}),e.redraw&&s.redraw(),cm.isFunction(s.params.onToggle)&&s.params.onToggle(n,t,a),s},redraw:()=>{var e,t=s.items[s.current];return t&&(e=t.getContainer().offsetWidth,t=t.getContainer().offsetLeft,cm.setCSSVariable("--pt-buttons--toggle-hero--width",e+"px",s.nodes.container),cm.setCSSVariable("--pt-buttons--toggle-hero--left",t+"px",s.nodes.container)),s}};return s._classes=cm.merge(["pt__buttons"],s.params.classes),s.params.scrollable&&s._classes.push("is-scrollable"),cm.forEach(s.params.modifiers,e=>{s._classes.push("pt__buttons--"+e)}),s.nodes.container=cm.node("div",{classes:s._classes,styles:s.params.styles},s.nodes.holder=cm.node("div",{classes:"inner"})),cm.isEmpty(s.params.role)||s.nodes.container.setAttribute("role",s.params.role),cm.isEmpty(s.params.ariaLabel)||s.nodes.container.setAttribute("aria-label",s.params.ariaLabel),cm.forEach(s.params.items,e=>{var t=Application.Buttons.render(e);s.items[e.name]=t,s.params.buttons.push(t.getContainer())}),cm.appendNodes(s.params.buttons,s.nodes.holder),cm[s.params.insertMethod](s.nodes.container,s.params.container),s},n.Buttons.embedContainer=function(){return Application.Buttons.renderContainer.apply(this,arguments).nodes.container}}
1),cm.getConstructor("App.Application",function(e,t,n,a){n.renderScrollShadow=function(e,t){function n(){8<t.scrollTop?cm.addClass(e,"has-top-shadow"):cm.removeClass(e,"has-top-shadow"),t.scrollTop<t.scrollHeight-t.offsetHeight-8?cm.addClass(e,"has-bottom-shadow"):cm.removeClass(e,"has-bottom-shadow")}return{add:function(){cm.addClass(e,"app__scroll-shadow"),cm.addEvent(t,"scroll",n)},remove:function(){cm.removeClass(e,"app__scroll-shadow"),cm.removeEvent(t,"scroll",n)},reset:n}},n.renderSocial=function(e){let t={nodes:{items:{}},links:[{url:"https://www.facebook.com/beauticianlist",title:"Facebook",icon:"facebook"},{url:"https://twitter.com/Beauticianlist",title:"Twitter",icon:"twitter"},{url:"https://www.instagram.com/beauty_a_list",title:"Instagram",icon:"instagram"},{url:"https://www.pinterest.com/beauticianlist",title:"Pinterest",icon:"pinterest"}],params:cm.merge({container:cm.node("div"),pull:"left",size:"medium",theme:"dark"},e)};return t.nodes.container=cm.node("div",{classes:"pt__line-share"},t.nodes.inner=cm.node("ul")),cm.addClass(t.nodes.container,["pull",t.params.pull].join("-")),cm.addClass(t.nodes.container,["theme",t.params.theme].join("--")),cm.forEach(t.links,function(e){t.nodes.items[e.title]=cm.node("li",cm.node("a",{classes:"menu__link",href:e.url,title:e.title,target:"_blank",rel:"noopener"},Application.Images.embedIcon({icon:e.icon,classes:[t.params.size]}))),cm.appendChild(t.nodes.items[e.title],t.nodes.inner)}),cm.appendChild(t.nodes.container,t.params.container),t},n.embedSocial=function(){return Application.renderSocial.apply(this,arguments).nodes.container},n.renderStoreLinks=function(e){var t,e={nodes:{},params:cm.merge({container:cm.node("div"),pull:null,classes:[],renderQRCode:!1},e)};return e.classes=cm.merge(["tpl__store-links"],e.params.classes),e.params.pull&&e.classes.push(["pull",e.params.pull].join("-")),e.nodes.container=cm.node("div",{classes:e.classes},e.nodes.holder=cm.node("div",{classes:"inner"},e.nodes.apple=cm.node("a",{classes:["menu__link","menu__link--appstore"],title:this.msg("apps.appstore"),href:App._env.appStoreLink,target:"_blank",rel:"noopener"},Application.Images.embedIcon({icon:"appstore",classes:["linked"]})),e.nodes.google=cm.node("a",{classes:["menu__link","menu__link--googleplay"],title:this.msg("apps.googleplay"),href:App._env.googlePlayLink,target:"_blank",rel:"noopener"},Application.Images.embedIcon({icon:"googleplay",classes:["linked"]})))),e.params.renderQRCode&&(t="prod"===App._env.environment?"qr-code":"qr-code--stage",Application.Images.embed({image:App.getPath("common.img",`apps/${t}.svg?version=`+App._version),title:this.msg("apps.qr_code"),modifiers:["apps-qr-code"],classes:["is-contain"],container:e.nodes.holder,imageDataset:{pinNopin:"true"}})),cm.appendChild(e.nodes.container,e.params.container),e},n.embedStoreLinks=function(){return Application.renderStoreLinks.apply(this,arguments).nodes.container},n.renderAccessBox=function(e){var t=Router.getCurrent();let n={nodes:{},params:cm.merge({container:cm.node("div"),insertMethod:"appendChild",audience:"beautician",classes:["has-padding"],modifiers:["border"],messages:{},loginParams:{returnRoute:t.route},registerParams:{returnRoute:t.route}},e)};if(n.data=Application.msgObject("access."+n.params.audience),!cm.isEmpty(n.data))return n.data=cm.merge(n.data,n.params.messages),n._classes=cm.merge(["tpl__box","tpl__box--access"],n.params.classes),cm.forEach(n.params.modifiers,e=>{n._classes.push("tpl__box--"+e)}),n.nodes.container=cm.node("section",{classes:n._classes,"aria-live":"polite"},cm.node("div",{classes:"inner"},cm.node("div",{classes:"tpl__box__title"},cm.node("h2",{innerHTML:n.data.title}),cm.node("h5",{classes:["p-sm"],innerHTML:n.data.description})),n.nodes.buttons=cm.node("div",{classes:["tpl__box__buttons","is-vertical"]}))),Application.User.isAuthorized()?n.nodes.loginButton=Application.Buttons.embed({container:n.nodes.buttons,label:Application.msg("actions.switchAccount"),classes:["button-primary","is-wide"],modifiers:["desktop-xxlarge"],link:Router.getURL("signin"),noRoute:!0,callback:e=>{cm.preventDefault(e),UserHelper.openLoginBox(n.params.loginParams)}}):(n.nodes.loginButton=Application.Buttons.embed({container:n.nodes.buttons,label:Application.msg("actions.login"),classes:["button-primary","is-wide"],modifiers:["desktop-xxlarge"],link:Router.getURL("signin"),noRoute:!0,callback:e=>{cm.preventDefault(e),UserHelper.openLoginBox(n.params.loginParams)}}),n.nodes.registerButtton=Application.Buttons.embed({container:n.nodes.buttons,label:Application.msg("actions.register"),classes:["button-primary","is-wide"],modifiers:["desktop-xxlarge"],link:Router.getURL("signup"),noRoute:!0,callback:e=>{cm.preventDefault(e),UserHelper.openRegisterBox(n.params.registerParams)}})),cm[n.params.insertMethod](n.nodes.container,n.params.container),n},n.renderTextSkeleton=function(e){let n={nodes:{},params:cm.merge({container:cm.node("div"),insertMethod:"appendChild",modifiers:[],classes:[],size:"relative",character:"-",count:1,length:cm.rand(24,40)},e)};return n._classes=cm.merge(["text--skeleton"],n.params.classes),cm.forEach(n.params.modifiers,e=>{n._classes.push("text--skeleton--"+e)}),n.nodes.container=cm.node("span",{"aria-hidden":"true"}),0===n.params.count?(e=n.params.character.repeat(n.params.length),e=cm.node("span",{classes:n._classes},e),cm.appendChild(e,n.nodes.container)):cm.forEach(n.params.count,e=>{var e=[...n._classes,1===n.params.count?"is-single":null,e+1<n.params.count?"is-full":"is-single"].filter(
1Boolean),t=n.params.character.repeat(n.params.length/n.params.count),e=cm.node("span",{classes:e},t);cm.appendChild(e,n.nodes.container)}),cm[n.params.insertMethod](n.nodes.container,n.params.container),n},n.embedTextSkeleton=function(){return Application.renderTextSkeleton.apply(this,arguments).nodes.container}}),cm.getConstructor("App.Application",function(e,t,n,a){n.Images={},n.Images.getSrc=function(e,t){if(!cm.isEmpty(e)){let n={data:e,params:cm.merge({width:"auto",maxwidth:"auto",height:"auto"},t)};return n.id=cm.isObject(n.data)?n.data.id:n.data,/\.svg$/.test(n.data?.file)||(n.uriParams={},cm.forEach(n.params,(e,t)=>{"auto"!==e&&(n.uriParams[t]=e)})),cm.isEmpty(n.uriParams)?n.src=cm.fillVariables(App._api.file.uri,{id:n.id}):(n.uri=cm.obj2URI(n.uriParams),n.src=cm.fillVariables(App._api.file.thumbnail,{id:n.id}),n.src=[n.src,n.uri].join("?")),App.getHref(n.src)}},n.Images.getType=function(t){if(!cm.isEmpty(t)){let e="image";return e=cm.isObject(t)&&/\.pdf$/.test(t.file)?"iframe":e}},n.Images.getSrcBlurred=function(e){return Application.Images.getSrc(e,{maxwidth:App._config.images.blurredWidth})},n.Images.getDomainColor=function(t,n){function e(){(e=cm.node("canvas",{width:t.naturalWidth,height:t.naturalHeight}).getContext("2d")).drawImage(t,0,0,1,1);var e=e.getImageData(0,0,1,1).data.join(",");cm.isFunction(n)&&n(e)}return t.complete?e():cm.addEvent(t,"load",e),t},n.Images.render=function(e){let n={nodes:{tools:{}},isLoaded:!1,isError:!1,params:cm.merge({container:cm.node("div"),insertMethod:"appendChild",type:"image",tag:"div",classes:[],modifiers:[],lazy:!0,id:null,image:null,width:null,height:null,thumbnail:null,thumbnailParams:{},sizes:[],srcset:[],blank:null,alt:"",title:null,link:null,target:null,rel:null,icon:null,ariaHidden:!1,overlay:!1,tools:{topLeft:[],topRight:[],middleCenter:[],bottomRight:[],bottomLeft:[]},toolsClasses:{topLeft:["pull","top-left"],topRight:["pull","top-right"],middleCenter:["pull","middle-center"],bottomRight:["pull","bottom-right"],bottomLeft:["pull","bottom-left"]},controls:[],imageDataset:{},imageAttr:{},popup:{show:!1,constructor:"Com.GalleryPopupContainer",constructorParams:{params:{showCounter:!1,showZoom:!1}}},renderSkeleton:!1,onLoad:function(){},onError:function(){},onDestruct:function(){}},e),getContainer:function(){return n.nodes.container},destruct:function(){n.popup&&n.popup.destruct(),n.params.onDestruct&&n.params.onDestruct()},remove:function(){n.destruct(),cm.remove(n.nodes.container)},onLoad:function(){n.isLoaded=!0,cm.removeEvent(n.nodes.img,"load",n.onLoad),cm.removeEvent(n.nodes.img,"error",n.onError),cm.replaceClass(n.nodes.container,"is-loading","is-loaded"),cm.isFunction(n.params.onLoad)&&n.params.onLoad(n)},onError:function(){n.isError=!0,cm.removeEvent(n.nodes.img,"load",n.onLoad),cm.removeEvent(n.nodes.img,"error",n.onError),cm.isEmpty(n.params.blank)||(cm.addClass(n.nodes.container,"is-blank"),"image"===n.params.type?(n.nodes.img.loading="eager",n.nodes.img.src=n.params.blank):n.nodes.img.style.backgroundImage=cm.URLToCSSURL(n.params.blank)),cm.replaceClass(n.nodes.container,"is-loading","is-loaded"),cm.isFunction(n.params.onError)&&n.params.onError(n)}};return n.params.blank=n.params.renderSkeleton?null:n.params.blank,cm.isEmpty(n.params.link)||(n.params.tag="a"),n.classes=cm.merge(["pt__image","is-loading"],n.params.classes),cm.forEach(n.params.modifiers,e=>{n.classes.push("pt__image--"+e)}),n.params.renderSkeleton&&n.classes.push("is-skeleton"),cm.isEmpty(n.params.alt)&&!cm.isEmpty(n.params.title)&&(n.params.alt=n.params.title),cm.isEmpty(n.params.image)?cm.isEmpty(n.params.id)?(n.classes.push("is-blank"),n.image=n.params.blank):n.image=Application.Images.getSrc(n.params.id):n.image=n.params.image,cm.isEmpty(n.params.thumbnail)?cm.isEmpty(n.params.id)?n.thumbnail=n.image:n.thumbnail=Application.Images.getSrc(n.params.id,n.params.thumbnailParams):n.thumbnail=n.params.thumbnail,cm.isEmpty(n.params.sizes)||(n.sizes=n.params.sizes.map(e=>e.join(" ")).join(", ")),cm.isEmpty(n.params.srcset)||(n.srcset=n.params.srcset.map(e=>e.join(" ")).join(", ")),n.nodes.container=cm.node(n.params.tag,{classes:n.classes},n.nodes.inner=cm.node("div",{classes:"inner"})),n.params.ariaHidden&&n.nodes.container.setAttribute("aria-hidden","true"),cm.isEmpty(n.params.link)||(n.nodes.container.href=n.params.link,cm.isEmpty(n.params.target)||(n.nodes.container.target=n.params.target),cm.isEmpty(n.params.rel))||(n.nodes.container.rel=n.params.rel),cm.isEmpty(n.params.icon)||(n.nodes.icon=cm.node("div",{class:n.params.icon}),cm.appendChild(n.nodes.icon,n.nodes.inner)),n.params.overlay&&(n.nodes.overlay=cm.n
1ode("div",{classes:["overlay","on-hover","is-dark"]}),cm.appendChild(n.nodes.overlay,n.nodes.container)),cm.forEach(n.params.tools,(e,t)=>{cm.isEmpty(e)||(n.nodes.tools[t]=cm.node("div",{classes:n.params.toolsClasses[t]}),cm.forEach(e,e=>{cm.appendChild(e,n.nodes.tools[t])}),cm.appendChild(n.nodes.tools[t],n.nodes.container))}),cm.isEmpty(n.params.controls)||(n.nodes.controls=cm.node("div",{classes:["pt__buttons","is-box"]},n.nodes.controlsHolder=cm.node("div",{classes:["inner"]})),cm.forEach(n.params.controls,e=>{cm.appendChild(e,n.nodes.controlsHolder)}),cm.appendChild(n.nodes.controls,n.nodes.container)),cm.isEmpty(n.thumbnail)||("image"===n.params.type?(n.nodes.img=cm.node("img",{classes:"descr",alt:n.params.alt,title:n.params.title,width:n.params.width,height:n.params.height}),cm.forEach(n.params.imageAttr,(e,t)=>{n.nodes.img.setAttribute(t,e)}),cm.forEach(n.params.imageDataset,(e,t)=>{n.nodes.img.dataset[t]=e}),n.params.lazy&&(n.nodes.img.loading="lazy"),cm.addEvent(n.nodes.img,"load",n.onLoad),cm.addEvent(n.nodes.img,"error",n.onError),cm.isEmpty(n.sizes)||(n.nodes.img.sizes=n.sizes),cm.isEmpty(n.srcset)||(n.nodes.img.srcset=n.srcset),n.nodes.img.src=n.thumbnail):(n.nodes.img=cm.node("div",{classes:"descr",title:n.params.title}),n.nodes.img.style.backgroundImage=cm.URLToCSSURL(n.thumbnail),cm.onImageLoad(n.thumbnail,n.onLoad)),cm.appendChild(n.nodes.img,n.nodes.inner)),n.params.popup.show&&!cm.isEmpty(n.image)&&cm.getConstructor(n.params.popup.constructor,e=>{n.popup=new e(n.params.popup.constructorParams),n.popup.set({type:"image",src:n.image,title:n.params.title}),cm.addClass(n.nodes.container,"is-zoom"),cm.addEvent(n.nodes.inner,"click",n.popup.openHandler)}),cm[n.params.insertMethod](n.nodes.container,n.params.container),n},n.Images.embed=function(){return Application.Images.render.apply(this,arguments).nodes.container},n.Images.renderSvg=function(e){e={nodes:{},svgns:"http://www.w3.org/2000/svg",xlinkns:"http://www.w3.org/1999/xlink",params:cm.merge({container:cm.node("div"),insertMethod:"appendChild",classes:[],icon:null,title:"",prefix:"icon--",ariaHidden:!1},e)};return e.href="#"+e.params.prefix+e.params.icon,e.nodes.container=document.createElementNS(e.svgns,"svg"),cm.addClass(e.nodes.container,e.params.classes),cm.isEmpty(e.params.title)||e.nodes.container.setAttribute("title",e.params.title),e.params.ariaHidden&&e.nodes.container.setAttribute("aria-hidden","true"),e.nodes.use=document.createElementNS(e.svgns,"use"),e.nodes.use.setAttributeNS(e.xlinkns,"href",e.href),cm.appendChild(e.nodes.use,e.nodes.container),cm[e.params.insertMethod](e.nodes.container,e.params.container),e},n.Images.embedSvg=function(){return Application.Images.renderSvg.apply(this,arguments).nodes.container},n.Images.renderIcon=function(e){let t={nodes:{},params:cm.merge({container:cm.node("div"),insertMethod:"appendChild",icon:null,title:null,classes:[],modifiers:[],tagName:"div",ariaHidden:!1,ariaHasPopup:null,role:null,tabindex:0,callback:null,handler:null},e)};return t._classes=cm.merge(["icon","app__icon"],t.params.classes),t._classes.push("app__icon--"+t.params.icon),cm.forEach(t.params.modifiers,e=>{t._classes.push("app__icon--"+e)}),t.nodes.container=cm.node(t.params.tagName,{classes:t._classes,title:t.params.title,"aria-hidden":t.params.ariaHidden},Application.Images.embedSvg({icon:t.params.icon,ariaHidden:!0})),cm.isEmpty(t.params.role)||(t.nodes.container.setAttribute("role",t.params.role),t.nodes.container.setAttribute("tabindex",t.params.tabindex)),cm.isEmpty(t.params.ariaHasPopup)||t.nodes.container.setAttribute("aria-haspopup",t.params.ariaHasPopup),cm.isFunction(t.params.callback)&&cm.click.add(t.nodes.container,t.params.callback),cm.isFunction(t.params.handler)&&cm.click.add(t.nodes.container,t.params.handler),cm[t.params.insertMethod](t.nodes.container,t.params.container),t},n.Images.embedIcon=function(){return Application.Images.renderIcon.apply(this,arguments).nodes.container}}),cm.getConstructor("App.Application",function(e,t,n,a){n.Intl={},n.Intl.countries={usa:{id:"usa",canonical:"United States"},canada:{id:"canada",canonical:"Canada"},australia:{id:"australia",canonical:"Australia"},austria:{id:"austria",canonical:"Austria"},belgium:{id:"belgium",canonical:"Belgium"},france:{id:"france",canonical:"France"},germany:{id:"germany",canonical:"Germany"},ireland:{id:"ireland",canonical:"Ireland"},lithuania:{id:"lithuania",canonical:"Lithuania"},mexico:{id:"mexico",canonical:"Mexico"},"new zealand":{id:"new zealand",canonical:"New Zealand"},poland:{id:"poland",canonical:"Poland"},spain:{id:"spain",canonical:"Spain"},switzerland:{id:"switzerland",canonical:"Switzerland"},"united kingdom":{id:"united kingdom",canonical:"United Kingdom"},other:{id:"other",canonical:"Other"}},n.Intl.processData=function(){var e=Application.msgObject("Intl");Application.Intl.countries=cm.merge(n.Intl.countries,e.countries)},n.Intl.getCountries=function(e=0){let t={};return cm.forEach(Application.Intl.countries,e=>{t[e.id]=e.name}),t},n.Intl.getCountryName=function(e){return Application.Intl.countries[e]?.name||e},n.Intl.getCountriesOptions=function(n){n=cm.merge({sort:!0,placeholder:!0},n);let t=[];return n.placeholder&&t.push({value:"",text:cm.getMessage("App.Form","placeholders.select"),isPlaceholder:!0}),Object.entries(Application.Intl.countries).sort((e,t)=>
1n.sort?"other"===e[0]?1:"other"===t[0]?-1:cm.arraySortAscLocale(e[1],t[1],"name"):0).forEach(e=>{t.push({text:e[1].name,value:e[1].id})}),t},n.Intl.getStates=function(e){return Application.Intl.countries[e]?.states},n.Intl.hasStates=function(e){return!!Application.Intl.countries[e]?.states},n.Intl.hasState=function(e,t){return!!Application.Intl.countries[e]?.states[t]},n.Intl.getStateName=function(e,t){return Application.Intl.countries[e]?.states[t]||t}}),cm.getConstructor("App.Application",function(e,t,n,a){n.Sections={},n.Sections.renderList=function(e){let t={nodes:{},params:cm.merge({renderContainer:!0,container:cm.node("div"),classes:[],items:[]},e)};return t.params.renderContainer?t.nodes.container=cm.node("ul",{classes:t.params.classes}):t.nodes.container=t.params.container,cm.forEach(t.params.items,e=>{e.container=cm.node("li"),cm.isNode(e.node)||(e.node=cm.node("a",{role:"button",tabindex:0,href:e.link,innerHTML:e.label})),cm.appendChild(e.node,e.container),cm.isEmpty(e.title)||(e.node.title=e.title),cm.isEmpty(e.target)||(e.node.target=e.target),cm.isEmpty(e.rel)||(e.node.rel=e.rel),e.noRoute&&(e.node.dataset.noRoute="true"),e.noRouteProcess&&(e.node.dataset.noRouteProcess="true"),cm.isFunction(e.callback)&&cm.click.add(e.node,e.callback),cm.isFunction(e.handler)&&cm.click.add(e.node,e.handler),e.active&&cm.addClass(e.container,"active"),cm.appendChild(e.container,t.nodes.container)}),t.params.renderContainer&&cm.appendChild(t.nodes.container,t.params.container),t},n.Sections.embedList=function(){return Application.Sections.renderList.apply(this,arguments).nodes.container},n.Sections.renderLinks=function(e){let t={nodes:{},params:cm.merge({container:cm.node("div"),sectionClasses:["is-box"],sectionModifiers:[],listClasses:[],items:[],renderSeparator:!0},e)};return t._sectionClasses=cm.merge(["tpl__section"],t.params.sectionClasses),cm.forEach(t.params.sectionModifiers,e=>{t._sectionClasses.push("tpl__section--"+e)}),t.nodes.container=cm.node("section",{classes:t._sectionClasses},t.nodes.inner=cm.node("div",{classes:"inner"})),t.params.renderSeparator&&(t.nodes.separator=cm.node("hr",{classes:"section__separator"}),cm.appendChild(t.nodes.separator,t.nodes.inner)),cm.isEmpty(t.params.items)||(t.nodes.links=cm.node("div",{classes:["section__links","h6"]},t.nodes.holder=cm.node("ul",{classes:t.params.listClasses})),cm.appendChild(t.nodes.links,t.nodes.inner),t.list=Application.Sections.renderList({renderContainer:!1,container:t.nodes.holder,items:t.params.items})),cm.appendChild(t.nodes.container,t.params.container),t},n.Sections.renderLangSwitch=function(e){let n={nodes:{},items:[],params:cm.merge({container:cm.node("div"),classes:[],langs:[]},e)},a=(cm.isEmpty(n.params.langs)&&(n.params.langs=App.i18nGetLocales()),Router.getCurrent());e=n.params.langs.map(t=>App._i18n.find(e=>e.locale===t)).filter(e=>!cm.isEmpty(e));return cm.forEach(e,e=>{var t=a.path.replace(/^[\/\.]+/,"").replace(/^[a-zA-Z]{2}(?:[_-][a-zA-Z]{2})?\//,"");n.items.push({label:e.name,title:e.canonical,link:Router.getURL("lang.route",null,{route:t,code:e.locale}),noRouteProcess:!0,active:cm._locale===e.locale})}),n.list=Application.Sections.renderList({classes:n.params.classes,items:n.items}),n.nodes.container=n.list.nodes.container,cm.appendChild(n.nodes.container,n.params.container),n},n.Sections.embedLangSwitch=function(){return Application.Sections.renderLangSwitch.apply(this,arguments).nodes.container},n.Sections.proResourcesMap={"digital-brains":{image:"digital-brains.jpg",route:"digital-brains"},"sparkle-energy":{image:"sparkle-energy.jpg",route:["page",null,{id:"sparkle-energy"}]},"sustainable-beauty-hub":{image:"sustainable-beauty-hub.jpg",route:["page",null,{id:"sustainable-beauty-hub"}]},"fine-free-zone":{image:"fine-free-zone.jpg",route:["page",null,{id:"fine-free-zone"}]},"the-safe-chair":{image:"the-safe-chair.jpg",route:["page",null,{id:"the-safe-chair"}]},"leadership-mode-snapshot":{image:"leadership-mode-snapshot2.jpg",route:["page",null,{id:"leadership-mode-snapshot"}]}},n.Sections.renderProResources=function(e){let t={nodes:{},entries:{},params:cm.merge({container:cm.node("div"),classes:[],entryClasses:[],boxClasses:["tpl__style--border-pad
1ding"]},e)};return t.entries=cm.merge(Application.Sections.proResourcesMap,Application.msgObject("pro-resources")),t.nodes.container=cm.node("ul",{classes:t.params.classes}),cm.forEach(t.entries,e=>{e.link=Router.getURL(...cm.isArray(e.route)?e.route:[e.route]),e.boxClasses=cm.extend(["pro-resources__entry"],t.params.boxClasses),e.nodes={},e.nodes.container=cm.node("li",{classes:t.params.entryClasses},cm.node("article",{classes:e.boxClasses},cm.node("a",{classes:"inner",href:e.link},cm.node("div",{classes:"entry__content"},cm.node("h4",{classes:"entry__title"},e.title),cm.node("p",e.description)),cm.node("div",{classes:"entry__image"},Application.Images.embed({image:App.getPath("common.img","pro-resources/"+e.image),title:e.title,classes:["is-cover"]}))))),cm.appendChild(e.nodes.container,t.nodes.container)}),cm.appendChild(t.nodes.container,t.params.container),t},n.Sections.embedProResources=function(){return Application.Sections.renderProResources.apply(this,arguments).nodes.container},n.Sections.barberSectionMap={"respect-in-the-chair":{image:"respect-in-the-chair.jpg",route:["blog.category",null,{id:"respect-in-the-chair"}]},"barbershop-talk-101":{image:"barbershop-talk-101.jpg",route:["blog.category",null,{id:"barbershop-talk-101"}]},"protecting-your-time":{image:"protecting-your-time.jpg",route:["blog.category",null,{id:"protecting-your-time"}]},"feedback-without-the-drama":{image:"feedback-without-the-drama.jpg",route:["blog.category",null,{id:"feedback-without-the-drama"}]},"when-clients-bring-their-problems":{image:"when-clients-bring-their-problems.jpg",route:["blog.category",null,{id:"when-clients-bring-their-problems"}]},"the-real-math-on-your-chair":{image:"the-real-math-on-your-chair.jpg",route:["blog.category",null,{id:"the-real-math-on-your-chair"}]},"running-the-shop":{image:"running-the-shop.jpg",route:["blog.category",null,{id:"running-the-shop"}]},"scripts-templates-checklists":{image:"scripts-templates-checklists.jpg",route:["blog.category",null,{id:"scripts-templates-checklists"}]}},n.Sections.isBarberSection=function(e){return Application.Sections.barberSectionMap[e]},n.Sections.renderBarberSection=function(e){let t={nodes:{},entries:{},params:cm.merge({container:cm.node("div"),classes:[],entryClasses:[],boxClasses:["tpl__style--border-padding"]},e)};return t.entries=cm.merge(Application.Sections.barberSectionMap,Application.msgObject("barber-section")),t.nodes.container=cm.node("ul",{classes:t.params.classes}),cm.forEach(t.entries,e=>{e.link=Router.getURL(...cm.isArray(e.route)?e.route:[e.route]),e.boxClasses=cm.extend(["barber-section__entry"],t.params.boxClasses),e.nodes={},e.nodes.container=cm.node("li",{classes:t.params.entryClasses},cm.node("article",{classes:e.boxClasses},cm.node("a",{classes:"inner",href:e.link},cm.node("div",{classes:"entry__content"},cm.node("h5",{classes:"entry__title"},e.title),cm.node("p",{classes:"entry__description",innerHTML:e.description}),cm.node("hr",{classes:"entry__separator"}),cm.node("p",{classes:["entry__start","is-small"],innerHTML:e.start})),cm.node("div",{classes:"entry__image"},cm.node("div",{classes:["entry__subtitle","h2"]},e.subtitle),Application.Images.embed({image:App.getPath("common.img","barber-section/"+e.image),title:e.title,classes:["is-cover"]}))))),cm.appendChild(e.nodes.container,t.nodes.container)}),cm.appendChild(t.nodes.container,t.params.container),t},n.Sections.embedBarberSection=function(){return Application.Sections.renderBarberSection.apply(this,arguments).nodes.container}}),cm.getConstructor("App.Application",function(e,t,n,a){n.Views={},n.Views.embedAnchor=function(e){return cm.node("a",{classes:"app__anchor",name:e})},n.Views.renderStatus=function(e){e={nodes:{},params:cm.merge({container:cm.node("div"),label:null,status:"default",icon:"info-border",iconClasses:["small","has-padding","is-round","is-filled"]},e)};return e.nodes.container=cm.node("div",{classes:["pt__field-status","has-icon",e.params.status]},Application.Images.embedIcon({icon:e.params.icon,classes:e.params.iconClasses,ariaHidden:!0}),cm.node("div",{classes:"label"},e.params.label)),cm.appendChild(e.nodes.container,e.params.container),e},n.Views.embedStatus=function(){return Application.Views.renderStatus.apply(this,arguments).nodes.container},n.Views.renderCard=function(e){let t={nodes:{},params:cm.merge({tagName:"div",classes:[],modifiers:[],defaultClasses:["is-flex"],container:cm.node("div"),callback:null,isButton:!1,link:{render:!1,classes:["has-hover"],href:null,no
1Route:!1,target:null},icon:{render:!1,content:null,title:null},name:{render:!1,tagName:"h5",classes:[],content:null},description:{render:!1,tagName:"h6",classes:[],content:null},action:{render:!1,classes:[],content:null}},e)};return t._tagName=t.params.link.render?"a":t.params.tagName,cm.isFunction(t.params.callback)&&(t.params.isButton=!0),t._classes=cm.merge(["app__card"],t.params.classes),t.params.link.render&&(t.params.defaultClasses=cm.merge(t.params.defaultClasses,t.params.link.classes)),cm.forEach(t.params.modifiers,e=>{t._classes.push("app__card--"+e)}),t._classes=cm.merge(t._classes,t.params.defaultClasses),t.nodes.container=cm.node(t._tagName,{classes:t._classes},t.nodes.inner=cm.node("div",{classes:"inner"},t.nodes.content=cm.node("div",{classes:"card__content"}))),t.params.icon.render&&(t.nodes.icon=cm.node("div",{classes:"card__icon",title:t.params.icon.title}),cm.isNode(t.params.icon.content)&&cm.appendChild(t.params.icon.content,t.nodes.icon),cm.insertFirst(t.nodes.icon,t.nodes.inner)),t.params.name.render&&(t._nameClasses=cm.merge(["card__name"],t.params.name.classes),t.nodes.name=cm.node(t.params.name.tagName,{classes:t._nameClasses}),cm.isEmpty(t.params.name.content)||(cm.isNode(t.params.name.content)||cm.isArray(t.params.name.content)?cm.appendNodes(t.params.name.content,t.nodes.name):t.nodes.name.innerHTML=t.params.name.content),cm.appendChild(t.nodes.name,t.nodes.content)),t.params.description.render&&(t._descriptionClasses=cm.merge(["card__description"],t.params.description.classes),t.nodes.description=cm.node(t.params.description.tagName,{classes:t._descriptionClasses}),cm.isEmpty(t.params.description.content)||(cm.isNode(t.params.description.content)||cm.isArray(t.params.description.content)?cm.appendNodes(t.params.description.content,t.nodes.description):t.nodes.description.innerHTML=t.params.description.content),cm.appendChild(t.nodes.description,t.nodes.content)),t.params.action.render&&(t._actionClasses=cm.merge(["card__action"],t.params.action.classes),t.nodes.action=cm.node("div",{classes:t._actionClasses}),cm.isNode(t.params.action.content)&&cm.appendChild(t.params.action.content,t.nodes.action),cm.insertLast(t.nodes.action,t.nodes.inner)),t.params.link.render&&"a"===t._tagName&&(cm.isEmpty(t.params.link.href)||(t.nodes.container.href=t.params.link.href),t.params.link.noRoute&&(t.nodes.container.dataset.noRoute="true"),cm.isEmpty(t.params.link.target)||(t.nodes.container.target=t.params.link.target)),t.params.isButton&&(t.nodes.container.setAttribute("role","button"),t.nodes.container.setAttribute("tabindex",0),cm.isEmpty(t.params.ariaHasPopup)||t.nodes.container.setAttribute("aria-haspopup",t.params.ariaHasPopup)),cm.isFunction(t.params.callback)&&cm.click.add(t.nodes.container,t.params.callback),cm.appendChild(t.nodes.container,t.params.container),t},n.Views.embedCard=function(){return Application.Views.renderCard.apply(this,arguments).nodes.container},n.Views.renderStatusCard=function(e){e={nodes:{},params:cm.merge({container:cm.node("div"),label:"",labelClasses:["h6"],icon:"plus",iconClasses:["is-round","large","inset-small"],action:!0,disabled:!1},e)};return e.card=Application.Views.renderCard({container:e.params.container,modifiers:["action"],classes:["no-padding","is-disabled"],icon:{render:!0,content:Application.Images.embedIcon({icon:e.params.icon,classes:e.params.iconClasses,ariaHidden:!0})},name:{render:!0,tagName:"div",classes:e.params.labelClasses,content:e.params.label}}),e.nodes=e.card.nodes,e},n.Views.embedStatusCard=function(){return Application.Views.renderStatusCard.apply(this,arguments).nodes.container}}),cm.define("App.Request",{extend:"Com.AbstractController",events:["onSuccess","onError","onComplete"],params:{renderStructure:!1,embedStructureOnRender:!1,controllerEvents:!0,autoSend:!0,promise:!1,successOnEmptyData:!1,data:{},body:{},ajax:{},responseKey:"data",responseCodeKey:"code",responseErrorsKey:"errors",responseMessageKey:"message",showLoader:!1,overlayParams:{},requestConstructor:"Com.Request",requestParams:{autoSend:!1,responseHTML:!1}}},function(){Com.AbstractController.apply(this,arguments)}),cm.getConstructor("App.Request",function(e,t,n,a){n.onConstruct=function(){this.sendHandler=this.send.bind(this)},n.onDestruct=function(){this.components.request?.destruct()},n.validateParams=function(){let t=this;t.triggerEvent("onValidateParamsStart"),t.params.ajax.variables=cm.merge(t.params.data,t.params.ajax.variables),t.params.ajax.data=cm.merge(t.params.body,t.params.ajax.data),t.triggerEvent("onValidateParams"),t.triggerEvent("onValidateParamsProcess");cm.forEach(["showLoader","overlayParams","responseKey","responseCodeKey","responseErrorsKey","responseMessageKey","ajax","promise","successOnEmptyData"],e=>
1{void 0!==t.params[e]&&(t.params.requestParams[e]=t.params[e])}),t.triggerEvent("onValidateParamsEnd")},n.renderViewModel=function(){a.prototype.renderViewModel.apply(this,arguments),this.renderRequest()},n.renderRequest=function(){let t=this;cm.getConstructor(t.params.requestConstructor,e=>{t.components.request=new e(t.params.requestParams),t.renderRequestEvents(),t.params.autoSend&&t.send()})},n.renderRequestEvents=function(){let n=this;n.components.request.addEvent("onSuccess",function(e,t){n.triggerEvent("onSuccess",t),n.triggerEvent("onComplete",t)}),n.components.request.addEvent("onError",function(e,t){n.triggerEvent("onError",t),n.triggerEvent("onComplete",t)})},n.setActionParams=function(e,t,n){var a=this;switch(t=cm.inArray(["raw","update","current"],t)?t:"current"){case"raw":a.params.ajax=cm.merge(a._raw.params.ajax,e);break;case"current":a.params.ajax=cm.merge(a.params.ajax,e);break;case"update":a.params.ajax=cm.merge(a._update.params.ajax,e)}n&&(a._update.params.ajax=cm.clone(a.params.ajax)),a.params.requestParams.ajax=a.params.ajax},n.setVariablesParams=function(e,t,n){var a=this;switch(t=cm.inArray(["raw","update","current"],t)?t:"current"){case"raw":a.params.ajax.variables=cm.merge(a._raw.params.ajax.variables,e);break;case"current":a.params.ajax.variables=cm.merge(a.params.ajax.variables,e);break;case"update":a.params.ajax.variables=cm.merge(a._update.params.ajax.variables,e)}n&&(a._update.params.ajax.variables=cm.clone(a.params.ajax.variables)),a.params.requestParams.ajax.variables=a.params.ajax.variables},n.send=function(){var e=this.components.request?.send();return this.params.promise?e:this},n.abort=function(){return this.components.request?.abort(),this},n.get=function(){return this.components.request?.get()||{}},n.setAction=function(e,t,n){return this.setActionParams(e,t,n),this.components.request?.setAction(this.params.ajax,t,n),this},n.setVariables=function(e,t,n){return this.setVariablesParams(e,t,n),this.components.request?.setVariables(this.params.ajax.variables,t,n),this},n.open=n.send}),cm.define("App.RequestContainer",{extend:"Com.AbstractContainer",events:["onSuccess","onError","onComplete"],params:{constructor:"App.Request",autoSend:!0,ajax:{},constructorParams:{},data:{},placeholder:!1}},function(e){Com.AbstractContainer.apply(this,arguments)}),cm.getConstructor("App.RequestContainer",function(e,t,n,a){n.construct=function(){this.afterCompleteHandler=this.afterComplete.bind(this),a.prototype.construct.apply(this,arguments)},n.onValidateParamsEnd=function(){this.params.constructorParams.autoSend=this.params.autoSend,this.params.constructorParams.data=this.params.data,this.params.constructorParams.ajax=this.params.ajax},n.renderControllerEvents=function(){var n=this;a.prototype.renderControllerEvents.apply(n,arguments),n.components.controller.addEvent("onSuccess",function(e,t){n.afterSuccess(t)}),n.components.controller.addEvent("onError",function(e,t){n.afterError(t)}),n.components.controller.addEvent("onComplete",function(e,t){n.afterComplete(t)})},n.afterSuccess=function(e){return this.triggerEvent("onSuccess",e),this},n.afterError=function(e){return this.triggerEvent("onError",e),this},n.afterComplete=function(e){return this.triggerEvent("onComplete",e),this},n.setActionParams=function(e,t,n){var a=this;switch(t=cm.inArray(["raw","update","current"],t)?t:"current"){case"raw":a.params.ajax=cm.merge(a._raw.params.ajax,e);break;case"current":a.params.ajax=cm.merge(a.params.ajax,e);break;case"update":a.params.ajax=cm.merge(a._update.params.ajax,e)}n&&(a._update.params.ajax=cm.clone(a.params.ajax)),a.params.constructorParams.ajax=a.params.ajax},n.setVariablesParams=function(e,t,n){var a=this;switch(t=cm.inArray(["raw","update","current"],t)?t:"current"){case"raw":a.params.ajax.variables=cm.merge(a._raw.params.ajax.variables,e);break;case"current":a.params.ajax.variables=cm.merge(a.params.ajax.variables,e);break;case"update":a.params.ajax.variables=cm.merge(a._update.params.ajax.variables,e)}n&&(a._update.params.ajax.variables=cm.clone(a.params.ajax.variables)),a.params.constructorParams.ajax.variables=a.params.ajax.variables},n.send=n.open,n.setAction=function(e,t,n){return!this.components.c
1ontroller||this.components.controller.isDestructed?this.setActionParams.apply(this,arguments):this.components.controller.setAction.apply(this.components.controller,arguments),this},n.setVariables=function(e,t,n){return!this.components.controller||this.components.controller.isDestructed?this.setVariablesParams.apply(this,arguments):this.components.controller.setVariables.apply(this.components.controller,arguments),this}}),cm.define("App.RequestList",{extend:"Com.AbstractController",events:["afterLoadSuccess","afterLoadError","afterLoadComplete","afterDataFiltered","afterDataEmpty"],params:{controllerEvents:!0,renderStructure:!0,embedStructureOnRender:!0,embedStructure:"append",actions:[],ajax:{enable:!0},data:null,fieldsData:{},editable:{enable:!0},controller:{constructor:"App.Request",constructorParams:{successOnEmptyData:!0,ajax:{method:"GET",params:{limit:0}}}},menu:{enable:!0,constructor:"App.ActionsMenu",constructorParams:{tooltip:{enable:!0,constructorParams:{left:"-(selfWidth-targetWidth)"}}}}}},function(){Com.AbstractController.apply(this,arguments)}),cm.getConstructor("App.RequestList",function(e,t,n,a){n.onConstruct=function(){this.views={}},n.validateParamsHandler=function(){this.params.controller.constructorParams.data=this.params.data,this.params.controller.constructorParams.ajax=cm.merge(this.params.controller.constructorParams.ajax,this.params.ajax),a.prototype.validateParamsHandler.apply(this,arguments)},n.renderView=function(){this.nodes.container=cm.node("div",{classes:["app__list","app__list--request","app__list--"+this.params.name,"is-transparent"]})},n.renderViewModel=function(){a.prototype.renderViewModel.apply(this,arguments),this.params.ajax.enable?this.renderController():this.afterSuccess({data:this.params.data})},n.renderController=function(){let t=this;cm.getConstructor(t.params.controller.constructor,e=>{t.components.controller=new e(t.configParams(t.params.controller.constructorParams))})},n.configParams=function(e){return cm.merge(e,{container:this.nodes.container,messages:this.msgObject("*"),callbacks:this.configCallbacks(),events:this.configEvents()})},n.configCallbacks=function(){return{}},n.configEvents=function(){let n=this;return{onSuccess:(e,t)=>n.afterSuccess(t),onError:(e,t)=>n.triggerEvent("afterLoadError",t),onComplete:(e,t)=>n.triggerEvent("afterLoadComplete",t)}},n.afterSuccess=function(e){var t=this;t.data=t.filterData(e.data),t.triggerEvent("afterDataFiltered",t.data),cm.isEmpty(t.data)?(cm.addClass(t.nodes.container,"is-hidden"),t.triggerEvent("afterDataEmpty")):(t.views.list=t.renderListView({container:t.nodes.container}),cm.removeClass(t.nodes.container,"is-transparent")),t.triggerEvent("afterLoadSuccess",t.data)},n.filterData=function(e){let t=this;return cm.forEach(e,function(e){e._name=t.getItemLabelName(e),cm.isEmpty(t.params.routeName)||(e._url=Router.getURL(t.params.routeName,null,{id:e.id}))}),e},n.getItemLabelName=function(e){return cm.isEmpty(e.name)?e.id:e.name},n.renderListView=function(e){let t=this,n={nodes:{},items:[],params:cm.merge({container:cm.node("div")},e)};return n.nodes.container=cm.node("div",{classes:["app__cards-grid",`app__cards-grid--${t.params.name}-list`]}),cm.forEach(t.data,e=>{e=t.renderItemView(e,{container:n.nodes.container});n.items.push(e)}),cm.appendChild(n.nodes.container,n.params.container),n},n.renderItemView=function(e,t){e={nodes:{},data:e,params:cm.merge({container:cm.node("div")},t)};return this.renderItemMenu(e),this.renderItemStructure(e),cm.appendChild(e.nodes.container,e.params.container),e},n.renderItemStructure=function(e){},n.renderItemMenu=function(t){let n=this;t.actions=n.configItemMenuActions(t),cm.getConstructor(n.params.menu.constructor,e=>{t.menu=new e(cm.merge(n.params.menu.constructorParams,{items:t.actions,events:n.configItemMenuEvents(t)}))})},n.checkItemActionsAccess=function(e){return this.params.editable.enable&&0<e.actions.length},n.configItemMenuActions=function(t){let n=this,a=[];return cm.forEach(n.params.actions,e=>{e=n.configItemMenuAction(t,e);e.access&&a.push(e)}),a},n.configItemMenuEvents=function(e){return{}},n.configItemMenuAction=function(e,t){return(t=cm.merge({name:null,label:null,access:!0,data:e.data,dataKey:"data",dataPath:null,constructor:!1,constructorParams:{},callback:null,callbackParams:{}},t)).access=this.checkItemMenuActionAccess(e,t),t.attr=this.fillItemMenuActionAttr(e,t),t},n.checkItemMenuActionAccess=function(e,t){return cm.isFunction(t.access)?t.access(e,t):t.access},n.fillItemMenuActionAttr=function(e,n){return cm.isEmpty(n.attr)?{}:(cm.forEach(n.attr,(e,t)=>{n.attr[t]=cm.fillVariables(e,n.data,!0)}),n.attr)},n.hasAction=function(t){return this.params.actions.find(e=>e.name===t)}
1,n.getController=function(){return this.components.controller}}),cm.define("App.Audio",{extend:"Com.AbstractController",events:["onBack","onSkip","onLoading","onReady","onProgress","onPlayInitiate","onPlay","onPauseInitiate","onPause","onEnd"],params:{controllerEvents:!0,renderStructure:!0,embedStructureOnRender:!0,embedStructure:"replace",source:null,sources:[],metadata:null,duration:null,time:null,preloadSource:!1,playOnLoad:!1,playbackRate:1,volume:1,seekOffset:10,actions:["load","play","pause","scrubber","seekbackward","seekforward"],header:{render:!0},buttons:{classes:[],modifiers:["round","player"],load:{classes:[],modifiers:["xxlarge"]},play:{classes:[],modifiers:["player-play","xxlarge"]},pause:{classes:[],modifiers:["player-play","xxlarge"]},seekbackward:{classes:["button-transparent"],modifiers:["player-seekbackward","xlarge"]},seekforward:{classes:["button-transparent"],modifiers:["player-seekforward","xlarge"]},back:{classes:["button-transparent"],modifiers:["player-back","xlarge"]},skip:{classes:["button-transparent"],modifiers:["player-skip","xlarge"]}},icons:{classes:[],load:{icon:"mediaLoad",defaultClasses:["cm-animate","animated","spin-reverse"],classes:["large"],transition:!0},play:{icon:"mediaPlay",classes:["medium"],transition:!0},pause:{icon:"mediaPause",classes:["medium"],transition:!0},seekbackward:{icon:"mediaSeekBackward",classes:["medium"]},seekforward:{icon:"mediaSeekForward",classes:["medium"]},back:{icon:"mediaBack",classes:["medium"]},skip:{icon:"mediaSkip",classes:["medium"]}}}},function(){Com.AbstractController.apply(this,arguments)}),cm.getConstructor("App.Audio",function(e,t,n,a){n.onConstructStart=function(){var e=this;e.timeouts={},e.actions={},e.isReady=!1,e.setDurationOnLoad=null,e.setTimeOnLoad=null,e.playOnLoad=!1,e.currentState=null,e.animateTitleEndHandler=e.animateTitleEnd.bind(e)},n.onValidateParams=function(){let n=this;n.params.source=n.processParamsSource(),cm.forEach(n.params.buttons,(e,t)=>{cm.inArray(["classes","modifiers"],t)||(e.classes=[...n.params.buttons.classes||[],...e.classes||[]],e.modifiers=[...n.params.buttons.modifiers||[],...e.modifiers||[]])}),cm.forEach(n.params.icons,(e,t)=>{"classes"!==t&&(e.classes=[...n.params.icons.classes||[],...e.defaultClasses||[],...e.classes||[]])})},n.onRedraw=function(){this.animateTitle()},n.onDestructEnd=function(){cm.forEach(this.timeouts,e=>clearTimeout(e))},n.onDestructStart=function(){this.isPaused()||this.pause(),MediaManager?.remove(this),this.components.audio=null},n.renderView=function(){var e=this;e.triggerEvent("onRenderViewStart"),e.nodes.container=cm.node("div",{classes:["app__audio","is-pending"],"aria-label":e.msg("title"),"aria-role":"region"},e.nodes.timeline=cm.node("div",{classes:"app__audio__timeline"},e.nodes.timeline=cm.node("div",{classes:"app__audio__times"},e.nodes.time=cm.node("div",{classes:["app__audio__counter","app__audio__counter--time"]}),e.nodes.duration=cm.node("div",{classes:["app__audio__counter","app__audio__counter--duration"]}))),e.nodes.controls=cm.node("div",{classes:"app__audio__controls"})),e.params.header.render&&e.renderHeader(),e.triggerEvent("onRenderViewProcess"),e.triggerEvent("onRenderViewEnd")},n.renderViewModel=function(){a.prototype.renderViewModel.apply(this,arguments),MediaManager?.add(this),this.renderActions(),this.initialState(),this.processPlayer(),this.params.preloadSource&&!cm.isEmpty(this.params.source)&&this.setSource(this.params.source)},n.processParamsSource=function(){return cm.isEmpty(this.params.source)?cm.isEmpty(this.params.source)?cm.isEmpty(this.nodes.sources)?null:this.nodes.sources.pop()?.src:this.params.sources.pop():this.params.source},n.renderHeader=function(){this.nodes.header=cm.node("hgroup",{classes:"app__audio__header"},this.nodes.label=cm.node("p",{classes:["label","is-small","p-sm-xsmall"]},this.msg("header.label")),this.nodes.title=cm.node("h4",{classes:["title","is-empty","h6-sm"]}),this.nodes.artist=cm.node("p",{classes:["artist","is-empty","is-small","p-sm-xsmall"]})),cm.insertFirst(this.nodes.header,this.nodes.container)},n.setHeader=function(e){var t=this;t.params.header.render&&(cm.clearNode(t.nodes.title),cm.clearNode(t.nodes.artist),cm.isEmpty(e)||(cm.toggleClass(t.nodes.title,"is-empty",cm.isEmpty(e.title)),cm.isEmpty(e.title)||(t.nodes.titlelElement=cm.node("span",{classes:"title-element"},e.title),cm.appendChild(t.nodes.titlelElement,t.nodes.title),t.animateTitle()),cm.toggleClass(t.nodes.artist,"is-empty",cm.isEmpty(e.artist)),cm.isEmpty(e.artist))||(t.no
1des.artist.innerText=e.artist))},n.animateTitle=function(){let e=this;e.cleanupTitle(),e.timeouts.title&&clearTimeout(e.timeouts.title),e.timeouts.title=setTimeout(()=>e.animateTitleHandler(),3e3)},n.animateTitleHandler=function(){let t=this,n=cm.getCSSStyle(t.nodes.title,"gap",!0);var e=cm.getCSSStyle(t.nodes.title,"padding-inline",!0),e=t.nodes.title.offsetWidth-2*e,a=t.nodes.titlelElement.offsetWidth;if(0<a-e){let e=((a+n)/100*2e3).toFixed(2);t.nodes.titlelElementDuplicate=t.nodes.titlelElement.cloneNode(!0),t.nodes.titlelElementDuplicate.setAttribute("aria-hidden",!0),cm.addClass(t.nodes.titlelElementDuplicate,"is-animated"),cm.appendChild(t.nodes.titlelElementDuplicate,t.nodes.title),cm.addClass(t.nodes.titlelElement,"is-animated"),cm.addEvent(t.nodes.titlelElement,"transitionend",t.animateTitleEndHandler),cm.onSchedule(()=>{t.nodes.titlelElementDuplicate.style.transitionDuration=e+"ms",t.nodes.titlelElementDuplicate.style.transform=`translateX(calc(-100% - ${n}px))`,t.nodes.titlelElement.style.transitionDuration=e+"ms",t.nodes.titlelElement.style.transform=`translateX(calc(-100% - ${n}px))`})}else t.animateTitle()},n.animateTitleEnd=function(e){e.target===this.nodes.titlelElement&&this.animateTitle()},n.cleanupTitle=function(){cm.remove(this.nodes.titlelElementDuplicate),this.nodes.titlelElement&&(cm.removeEvent(this.nodes.titlelElement,"transitionend",this.animateTitleEndHandler),cm.removeClass(this.nodes.titlelElement,"is-animated"),this.nodes.titlelElement.style.transitionDuration="",this.nodes.titlelElement.style.transform="")},n.renderActions=function(){let e=this;e.hasAction("scrubber")&&e.renderActionScrubber(),e.hasAction("back")&&(e.actions.back=Application.Buttons.render({container:e.nodes.controls,classes:e.params.buttons.back.classes,modifiers:e.params.buttons.back.modifiers,title:e.msg("actions.back"),icons:{before:e.params.icons.back},handler:()=>e.back()})),e.hasAction("seekbackward")&&(e.actions.seekbackward=Application.Buttons.render({container:e.nodes.controls,classes:e.params.buttons.seekbackward.classes,disabledClasses:[],modifiers:e.params.buttons.seekbackward.modifiers,title:e.msgParse("actions.seekbackward",{value:e.params.seekOffset}),ariaLabel:e.msgParse("actions.seekbackward",{value:e.params.seekOffset}),label:e.params.seekOffset,icons:{before:e.params.icons.seekbackward},handler:()=>e.seekBackward()})),e.actions.playPause=Application.Buttons.render({container:e.nodes.controls,disabledClasses:[],handler:()=>e.togglePlay()}),e.hasAction("seekforward")&&(e.actions.seekforward=Application.Buttons.render({container:e.nodes.controls,classes:e.params.buttons.seekforward.classes,disabledClasses:[],modifiers:e.params.buttons.seekforward.modifiers,title:e.msgParse("actions.seekforward",{value:e.params.seekOffset}),ariaLabel:e.msgParse("actions.seekforward",{value:e.params.seekOffset}),label:e.params.seekOffset,icons:{before:e.params.icons.seekforward},handler:()=>e.seekForward()})),e.hasAction("skip")&&(e.actions.skip=Application.Buttons.render({container:e.nodes.controls,classes:e.params.buttons.skip.classes,modifiers:e.params.buttons.skip.modifiers,title:e.msg("actions.skip"),icons:{before:e.params.icons.skip},handler:()=>e.skip()}))},n.renderActionScrubber=function(){let e=this,t=(e.actions.scrubber=cm.node("input",{classes:"app__audio__scrubber",type:"range",min:0,max:1,step:1,value:0,"aria-label":e.msg("actions.scrubber")}),()=>{cm.removeClass(e.actions.scrubber,"active"),cm.removeEvent(document,"pointerup",t)});cm.addEvent(e.actions.scrubber,"pointerdown",()=>{cm.addClass(e.actions.scrubber,"active"),cm.addEvent(document,"pointerup",t)}),cm.addEvent(e.actions.scrubber,"input",()=>e.afterScrub()),cm.appendChild(e.actions.scrubber,e.nodes.timeline)},n.processPlayer=function(){let e=this;e.components.audio=new Audio,e.components.audio.addEventListener("canplay",()=>e.afterCanPlay()),e.components.audio.addEventListener("play",()=>e.afterPlay()),e.components.audio.addEventListener("pause",()=>e.afterPause()),e.components.audio.addEventListener("ended",()=>e.afterEnded()),e.components.audio.addEventListener("timeupdate",()=>e.afterProgress())},n.setSource=function(e,t){this.isReady=!1,this.playOnLoad=cm.isBoolean(t)?t:this.params.playOnLoad,this.components.audio.volume=this.params.volume,this.components.audio.playbackRate=this.params.playbackRate,this.components.audio.src=e,this.afterLoading()},n.setTimeField=function(e){this.nodes.time.textContent=cm.isEmpty(e)?"--:--":this.formatTime(e),this.setScrubberField(null,cm.isEmpty(e)?0:e)},n.setDurationField=function(e){this.nodes.duration.textContent=cm.isEmpty(e)?"--:--":this.formatTime(e),this.setScrubberField(cm.isEmpty(e)?1:e,null)},n.setScrubberField=function(e,t){this.actions.scrubber&&(cm.isEmpty(e)||(this.actions.scrubber.max=e),cm.isEmpty(t)||(this.actions.scrubber.value=Math.round(t)),this.updateScrubberField())},n.updateScrubberField=function(){var e=parseFloat(this.actions.scrubber.value),e=(100/parseFloat(this.actions.scrubber.max)*e).toFixed(2);cm.setCSSVariable("--audio-scrubber--value",e+"%",this.actions.scrubber)},n.afterLoading=function(){cm.replaceClass(this.nodes.container,"is-pending","is-loading"),this.loadState(),this.triggerEvent("onLoading")},n.afterCanPlay=function(){var e=this;e.isReady||(e.isReady=!0,cm.replaceClass(e.nodes.container,"is-loading","is-ready"),e.setDurationField(e.getDuration()),e.setTimeField(e.getTime()),e.triggerEvent("onReady")),cm.isEmpty(e.setTimeOnLoad)||e.setTime(e.setTimeOnLoad),e.playOnLoad?(e.playOnLoad=!1,e.components.audio.play()):e.isPaused()?e.pauseState():e.playState()},n.afterPlay=function(){this.isDestructed||(this.playState(),this.triggerEvent("onPlay"))},n.afterPause=function(){this.isDestructed||(this.pauseState(),this.triggerEvent("onPause"))},n.afterEnded=function(){this.isDestructed||(this.components.audio.currentTime=0,this.pauseState(),this.triggerEvent("onEnd"))},n.afterProgress=function(){this.isDestructed||(this.setTimeField(this.getTime()),this.triggerEvent("onProgress",this.getDuration(),this.getTime()))},n.afterScrub=function(){var e;this.isDestructed||(e=parseInt(this.actions.scrubber.value),this.updateScrubberField(),this.setTime(e))},n.initialState=function(){var e=this;"initial"!==e.currentState&&(e.currentState="initial",e.setDurationField(e.params.duration),e.setTimeField(e.params.time),e.setHeader(e.params.metadata),e.actions.scrubber&&(e.actions.scrubber.disabled=!0),e.hasAction("seekbackward")&&e.actions.seekbackward.toggleDisabled(!0),e.actions.playPause.toggleDisabled(!1).togglePressed(!1).setClasses(e.params.buttons.play.classes).setModifiers(e.params.buttons.play.modifiers).setTitle(e.msg("actions.listen")).setIcon(e.params.icons.play),e.hasAction("seekforward"))&&e.actions.seekforward.toggleDisabled(!0)},n.loadState=function(){var e=this;"load"!==e.currentState&&(e.currentState="load",e.actions.scrubber&&(e.actions.scrubber.disabled=!0),e.hasAction("seekbackward")&&e.actions.seekbackward.toggleDisabled(!0),e.actions.playPause.toggleDisabled(!0).togglePressed(!0).setClasses(e.params.buttons.load.classes).setModifiers(e.params.buttons.load.modifiers).setTitle(e.msg("actions.load")).setIcon(e.params.icons.load),e.hasAction("seekforward"))&&e.actions.seekforward.toggleDisabled(!0)},n.playState=function(){var e=this;"play"!==e.currentState&&(e.currentState="play",e.actions.scrubber&&(e.actions.scrubber.disabled=!1),e.hasAction("seekbackward")&&e.actions.seekbackward.toggleDisabled(!1),e.actions.playPause.toggleDisabled(!1).togglePressed(!0).setClasses(e.params.buttons.pause.classes).setModifiers(e.params.buttons.pause.modifiers).setTitle(e.msg("actions.pause")).setIcon(e.params.icons.pause),e.hasAction("seekforward"))&&e.actions.seekforward.toggleDisabled(!1)},n.pauseState=function(){var e=this;"pause"!==e.currentState&&(e.currentState="pause",e.actions.scrubber&&(e.actions.scrubber.disabled=!1),e.hasAction("seekbackward")&&e.actions.seekbackward.toggleDisabled(!1),e.actions.playPause.toggleDisabled(!1).togglePressed(!1).setClasses(e.params.buttons.play.classes).setModifiers(e.params.buttons.play.modifiers).setTitle(e.msg("actions.play")).setIcon(e.params.icons.play),e.hasAction("seekforward"))&&e.actions.seekforward.toggleDisabled(!1)},n.formatTime=function(e){return Math.floor(e/60)+":"+("0"+Math.floor(e)%60).slice(-2)},n.formatMinutes=function(e){return Math.round(e/60)},n.getArtworkFromId=function(n){if(cm.isObject(n)&&(n=n[App._env.environment]||n.dev),!cm.isEmpty(n)){let t=[];return cm.forEach([128,192,256,384,512],e=>{t.push({src:Application.Images.getSrc(n,{width:e}),sizes:e+"x"+e,type:"image/jpeg"})}),t}},n.set=function(e,t){return t=cm.merge({time:null,duration:null,metadata:null,playOnLoad:null},t),this.pause(),cm.isEmpty(t.duration)||(this.setDurationOnLoad=t.duration,this.setDurationField(t.duration)),cm.isEmpty(t.time)||(this.setTimeOnLoad=t.time,this.setTimeField(t.time)),cm.isEmpty(t.metadata)||this.setMedata(t.metadata),this.setSource(e,t.playOnLoad),this},n.togglePlay=function(e){return(e=cm.isBoolean(e)?e:this.isPaused())?this.play():this.pause(),this},n.play=function(e=null,t=!0){return t&&this.triggerEvent("onPlayInitiate"),this.setTime(e),this.isReady?this.components.audio?.play():this.set(this.params.source,{metadata:this.params.metadata,playOnLoad:!0}),this},n.pause=function(e=!0){return e&&this.triggerEvent("onPauseInitiate"),this.playOnLoad=!1,this.components.audio?.pause(),this},n.isPaused=function(){return!this.components.audio||this.components.audio.paused},n.back=function(){return this.hasAction("back")&&this.triggerEvent("onBack"),this},n.skip=function(){return this.hasAction("skip")&&this.triggerEvent("onSkip"),this},n.seekBackward=function(e){e||=this.params.seekOffset;e=Math.max(this.getTime()-e,0);this.setTime(e)},n.seekForward=function(e){e||=this.params.seekOffset;e=Math.min(this.getTime()+e,this.getDuration());this.setTime(e)},n.setMedata=function(e){return this.params.metadata=e,cm.isEmpty(e)||cm.isEmpty(e.artworkId)||(e.artwork=this.getArtworkFromId(e.artworkId),delete e.artworkId),this.setHeader(e),this},n.getMetadata=function(){return this.params.metadata},n.setTime=function(e){if(!cm.isEmpty(e))return this.isReady?(this.setTimeOnLoad=null,this.setDurationOnLoad=null,this.components.audio.currentTime=e):this.setTimeOnLoad=e,this},n.getTime=function(){return this.isReady?this.components.audio.currentTime:this.setTimeOnLoad||0},n.getDuration=function(){return this.isReady?this.components.audio.duration:this.setDurationOnLoad||0},n.getPlaybackRate=function(){return(this.isReady?this.components.audio:this.params).playbackRate},n.getSeekOffset=function(){return this.params.seekOffset},n.hasAction=function(e){return cm.inArray(this.params.actions,e)}}),cm.define("App.MediaManager",{extend:"Com.AbstractController",params:{controllerEvents:!0,renderStructure:!1,embedStructureOnRender:!1,exportScope:!1}},function(){Com.AbstractController.apply(this,arguments)}),cm.getConstructor("App.MediaManager",function(e,t,n,a){n.onConstructStart=function(){this.timeouts=[],this.players=new Map,this.currentPlayer=null,this.currentMetadata=null},n.onConstructEnd=function(){this.params.exportScope&&(window.MediaManager=this)},n.onDestructStart=function(){cm.forEach(this.timeouts,e=>clearTimeout(e)),this.remove(this.currentPlayer)},n.MEDIA_SESSION_ACTIONS=["play","pause","previoustrack","nexttrack","stop","seekbackward","seekforward","seekto","skipad","togglemicrophone","togglecamera","hangup","previousslide","nextslide"],n.setMetadata=function(s){var e=this.players.get(s);if(cm.supportsMediaSession&&e.supportsMetadata){e=s.getMetadata();if(e&&cm.stringifyJSON(e)!==cm.stringifyJSON(this.currentMetadata)&&(this.currentMetadata=e,navigator.mediaSession.metadata=new Media
1Metadata(e),!this.isCurrent(s))){let a=[];cm.forEach({play:["play",()=>s.play()],pause:["pause",()=>s.pause()],back:["previoustrack",()=>s.back()],skip:["nexttrack",()=>s.skip()],scrubber:["seekto",e=>s.setTime(e.seekTime)],seekbackward:["seekbackward",e=>s.seekBackward(e.seekOffset)],seekforward:["seekforward",e=>s.seekForward(e.seekOffset)]},(e,t)=>{if(s.hasAction(t)&&!("seekbackward"===t&&cm.inArray(a,"back")||"seekforward"===t&&cm.inArray(a,"skip"))){var[e,n]=e;try{a.push(t),navigator.mediaSession.setActionHandler(e,n)}catch{}}})}}},n.setMetadataPosition=function(e){var t=this.players.get(e);cm.supportsMediaSession&&t.supportsMetadata&&navigator.mediaSession.setPositionState({duration:e.getDuration(),position:e.getTime(),playbackRate:e.getPlaybackRate()})},n.setMetadataState=function(e){cm.supportsMediaSession&&(navigator.mediaSession.playbackState="none",navigator.mediaSession.playbackState=e)},n.resetMetadata=function(){cm.supportsMediaSession&&(navigator.mediaSession.metadata=null,navigator.mediaSession.setPositionState(null),navigator.mediaSession.playbackState="none",cm.forEach(this.MEDIA_SESSION_ACTIONS,e=>{try{navigator.mediaSession.setActionHandler(e,null)}catch{}}))},n.afterPlay=function(e){var t=this;t.isCurrent(e)||(t.pause(),t.reset()),t.resetTimeout&&clearTimeout(t.resetTimeout),t.setMetadataState("playing"),t.setMetadata(e),t.setMetadataPosition(e),t.setMetadataState("playing"),t.currentPlayer=e},n.afterPause=function(e){this.isCurrent(e)&&this.setMetadataState("paused")},n.afterEnd=function(e){let t=this;t.isCurrent(e)&&(t.resetTimeout&&clearTimeout(t.resetTimeout),t.resetTimeout=setTimeout(()=>t.reset(),5e3))},n.afterProgress=function(e){this.isCurrent(e)&&this.setMetadataPosition(e)},n.add=function(e,t){let n=this;if(e&&!n.has(e))return"vimeo"===(t=cm.merge({type:"audio",supportsMetadata:!0},t)).type?(e.on("play",()=>n.afterPlay(e)),e.on("pause",()=>n.afterPause(e)),e.on("ended",()=>n.afterEnd(e))):(e.addEvent("onPlay",()=>n.afterPlay(e)),e.addEvent("onPause",()=>n.afterPause(e)),e.addEvent("onEnd",()=>n.afterEnd(e)),e.addEvent("onProgress",()=>n.afterProgress(e))),n.players.set(e,t),n},n.remove=function(e){e&&this.has(e)&&(e.pause(),this.isCurrent(e)&&this.reset(),this.players.delete(e))},n.has=function(e){return this.players.has(e)},n.pause=function(){if(!cm.isEmpty(this.currentPlayer))return this.currentPlayer.pause(),this},n.reset=function(){this.resetMetadata(),this.currentPlayer=null,this.currentMetadata=null},n.isCurrent=function(e){return this.currentPlayer===e}}),cm.define("App.AudioWaveSurfer",{extend:"Com.AbstractController",events:["onReady","onPlay","onPause","onEnd"],params:{controllerEvents:!0,renderStructure:!0,embedStructureOnRender:!0,embedStructure:"replace",sources:[]}},function(){Com.AbstractController.apply(this,arguments)}),cm.getConstructor("App.AudioWaveSurfer",function(e,t,n,a){n.formatTime=App.Audio.prototype.formatTime,n.onDestructEnd=function(){this.components.wavesurfer?.destroy()},n.renderView=function(){var e=this;e.triggerEvent("onRenderViewStart"),e.nodes.container=cm.node("div",{classes:["app__audio","app__audio--wave","is-loading"]},e.nodes.player=cm.node("div",{classes:"app__audio__player"}),e.nodes.controls=cm.node("div",{classes:"app__audio__controls"},e.nodes.time=cm.node("div",{classes:["app__audio__counter","app__audio__counter--time"]},"--:--"),e.nodes.duration=cm.node("div",{classes:["app__audio__counter","app__audio__counter--duration"]},"--:--"))),e.nodes.playPause=Application.Buttons.render({container:e.nodes.controls,modifiers:["editable"],label:e.msg("actions.load"),icons:{classes:["medium","cm-animate","animated","spin-reverse"],before:"mediaLoad"},disabled:!0,ariaPressed:!1}),e.triggerEvent("onRenderViewProcess"),e.triggerEvent("onRenderViewEnd")},n.renderViewModel=function(){let t=this;a.prototype.renderViewModel.apply(t,arguments),cm.loadScript({path:"WaveSurfer",src:"%assetsUrl%/libs/wavesurfer/wavesurfer.min.js?%version%",callback:()=>{if("undefined"!=typeof WaveSurfer){let e;cm.isEmpty(t.params.sources)||(e=t.params.sources.pop()),cm.isEmpty(e)&&(e=t.nodes.sources.pop()?.src),cm.isEmpty(e)||t.renderPlayer(e)}}})},n.renderPlayer=function(e){let t=this;var n=Math.max(t.nodes.player.offsetHeight,100),a=cm.node("canvas",{width:1,height:n}).getContext("2d"),s=a.createLinearGradient(0,0,1,n),a=(s.addColorStop(0,cm.getLESSVariable("@AppColor-Third")),s.addColorStop(1,cm.getLESSVariable("@AppColor-Secondary")),a.createLinearGradient(0,0,1,n));a.addColorStop(0,cm.getLESSVariable("@AppColor-AccentTo")),a.addColorStop(1,cm.getLESSVariable("@AppColor-AccentFrom")),t.components.wavesurfer=WaveSurfer.create({container:t.nodes.player,height:n,normalize:!0,interact:!0,dragToSeek:!0,waveColor:s,progressColor:a,barWidth:2,url:e}),t.components.wavesurfer.once("ready",()=>t.afterReady()),t.components.wavesurfer.on("play",()=>t.afterPlay()),t.components.wavesurfer.on("pause",()=>t.afterPause()),t.components.wavesurfer.on("finish",()=>t.afterEnded()),t.components.wavesurfer.on("decode",e=>{t.nodes.time.textContent=t.formatTime(0),t.nodes.duration.textContent=t.formatTime(e)}),t.components.wavesurfer.on("timeupdate",e=>{t.nodes.time.textContent=t.formatTime(e)})},n.afterReady=function(){let e=this;cm.replaceClass(e.nodes.container,"is-loading","is-ready"),e.nodes.playPause.toggleDisabled(!1).setLabel(e.msg("actions.play")).setIcon("mediaPlay--border","before",["medium"]).setHandler(()=>e.components.wavesurfer.playPause()),e.triggerEvent("onReady")},n.afterPlay=function(){this.nodes.playPause.setLabel(this.msg("actions.pause")).setIcon("mediaPause--border","before",["medium"]).togglePressed(!0),this.triggerEvent("onPlay")},n.afterPause=function(){this.nodes.playPause.setLabel(this.msg("actions.play")).setIcon("mediaPlay--border","before",["medium"]).togglePressed(!1),this.triggerEvent("onPause")},n.afterEnded=function(){this.triggerEvent("onEnd")},n.togglePlay=function(e){if(this.components.wavesurfer){if(cm.isBoolean(e))return e?this.components.wavesurfer.play():this.components.wavesurfer.pause(),this;this.components.wavesurfer.playPause()}}}),cm.define("App.Tabset",{extend:"Com.Tabset2",params:{controllerEvents:!0,renderStructure:!0,embedStructureOnRender:!0,embedStructure:"append",tabsAlign:"justify",adaptive:!1}},function(){Com.AbstractController.apply(this,arguments)}),cm.getConstructor("App.Tabset",function(e,t,n,a){n.onConstructStart=function(){this.viewMode=null,this.hooksHandlers={},a.prototype.onConstructStart.apply(this,arguments)},n.onDestructStart=function(){cm.forEach(this.hooksHandlers,(e,t)=>{cm.forEach(e,e=>{cm.hook.remove(t,e)})}),cm.remove(this.nodes.stylesheet)},n.onRedraw=function(){var e=this.getCurrentTab();this.setTabGutter(e)},n.onTabChangeStart=function(e,t){e.setTabGutter(t)},n.setAttributes=function(){a.prototype.setAttributes.apply(this,arguments);var e=this.params.name.replace(/\s+/g,"-");cm.addClass(this.nodes.container,["app__tabset","app__tabset--"+e])},n.setTabGutter=function(e){var t;e&&this.params.animateSwitch&&(t=this.params.name.replace(/\s+/g,"-"),this.renderStyles(".app__tabset--"+t,{"--tabset--gutter-width":e.label.container.offsetWidth+"px","--tabset--gutter-left":e.label.container.offsetLeft+"px"}))},n.renderStyles=function(e,t){cm.remove(this.nodes.stylesheet),this.nodes.stylesheet=document.createElement("style"),document.head.appendChild(this.nodes.stylesheet),cm.addCSSRule(this.nodes.stylesheet.sheet,e,t)},n.renderTabLink=function(e,t){var n=a.prototype.renderTabLink.apply(this,arguments);return"menu"!==t&&(e[t]=n,cm.isEmpty(e.notifications)||(e.notificationsData=Application.User.getNotifications(e.notifications),cm.isEmpty(e.notificationsData))||this.renderTabNotifications(e),e.hooks?.notifications)&&this.renderTabNotifications
1Hook(e),n},n.renderTabNotifications=function(e){cm.remove(e.label.notifications),e.notificationsData.toggle&&(e.label.notifications=cm.node("div",{classes:"counter",title:e.notificationsData.message},cm.node("div",{classes:"app__counter"},cm.formatNumber(e.notificationsData.count))),cm.appendChild(e.label.notifications,e.label.link))},n.renderTabNotificationsHook=function(t){let n=this,e=(t.notificationsHandler=e=>{t.notificationsData=e,cm.isEmpty(t.notificationsData)||n.renderTabNotifications(t)},cm.hook.add(t.hooks.notifications,t.notificationsHandler),n.hooksHandlers[t.hooks.notifications]);(e=e||(n.hooksHandlers[t.hooks.notifications]=[])).push(t.notificationsHandler)}}),cm.define("App.TabsetPanel",{extend:"Com.Tabset2",params:{controllerEvents:!0,renderStructure:!0,embedStructureOnRender:!0,embedStructure:"append",redrawOnRender:!1,adaptive:!1,toggleOnHashChange:!1,showMenu:!1,tabsHolderTagName:"div",tabsPosition:"panel",renderTitle:!1,renderToolbar:"mobile",layout:{constructor:"App.FlowLayout",constructorParams:{}}}},function(){Com.AbstractController.apply(this,arguments)}),cm.getConstructor("App.TabsetPanel",function(e,t,n,a){n.onConstructStart=function(){this.viewMode=null,this.hooksHandlers={},a.prototype.onConstructStart.apply(this,arguments)},n.onConstructEnd=function(){this.viewMode=cm._pageSize.winWidth>=cm._breakpoints.tabletUp?"desktop":"mobile";var e=window.location.hash.slice(1);cm.isEmpty(e)&&"mobile"===this.viewMode?this.unset():this.setInitialTab()},n.onDestructStart=function(){cm.forEach(this.hooksHandlers,(e,t)=>{cm.forEach(e,e=>{cm.hook.remove(t,e)})})},n.onRedraw=function(){var e=this;cm._pageSize.winWidth>=cm._breakpoints.tabletUp?cm.isBoolean(e.viewMode)&&"desktop"===e.viewMode||(e.viewMode="desktop",e.current)||e.setInitialTab():cm.isBoolean(e.viewMode)&&"mobile"===e.viewMode||(e.viewMode="mobile",e.current?e.components.layout.set("content","instant"):e.components.layout.set("tabs","instant"))},n.onTabChangeStart=function(){var e=this.isInitial?"instant":void 0;this.components.layout.set("content",e)},n.onUnsetStart=function(){this.components.layout.set("tabs")},n.renderViewModel=function(){let n=this;a.prototype.renderViewModel.apply(n,arguments),cm.getConstructor(n.params.layout.constructor,e=>{n.components.layout=new e(cm.merge(n.params.layout.constructorParams,{container:n.nodes.container,events:{onSet:(e,t)=>{"tabs"===t&&n.unset()}}})),n.components.layout.add({name:"tabs",node:n.nodes.headerTabs,title:{render:n.params.renderTitle,label:n.msg("title")}}),n.components.layout.add({name:"content",parent:"tabs",node:n.nodes.content,toolbar:{render:n.params.renderToolbar,label:n.msg("actions.back"),link:Router.getURL("user.settings")}})})},n.renderViewStructure=function(){a.prototype.renderViewStructure.apply(this,arguments),cm.addClass(this.nodes.container,["app__tabset-panel","app__tabset-panel--"+this.params.name]),cm.replaceClass(this.nodes.headerTabs,"com__tabset__head-tabs","app__tabset-panel__tabs"),cm.addClass(this.nodes.content,["app__tabset-panel__content"])},n.renderTabLink=function(e,t){return"menu"===t?a.prototype.renderTabLink.apply(this,arguments):(e.card={},e.card.container=cm.node("div",{classes:["app__card","app__card--tabset-panel","is-flex","has-hover"]},e.card.link=cm.node("div",{classes:"inner"},e.card.contentHolder=cm.node("div",{classes:"card__content"}))),cm.isEmpty(e.title)||(e.card.title=cm.isNode(e.title)?cm.clone(e.title,!0):cm.node("h5",{innerHTML:e.title}),cm.addClass(e.card.title,"card__name"),cm.appendChild(e.card.title,e.card.contentHolder)),cm.isEmpty(e.icon)||(e.iconClasses||=["inset-half"],e.card.iconHolder=cm.node("div",{classes:"card__icon"},Application.Images.embedIcon({icon:e.icon,classes:["is-round","size-field",...e.iconClasses],ariaHidden:!0})),cm.insertFirst(e.card.iconHolder,e.card.link)),cm.isEmpty(e.notifications)||(e.notificationsData=Application.User.getNotifications(e.notifications),cm.isEmpty(e.notificationsData))||this.renderTabNotifications(e),e.hooks?.notifications&&this.renderTabNotificationsHook(e),e.card)},n.renderTabNotifications=function(e){cm.remove(e.card.notifications),e.notificationsData.toggle&&(e.card.notifications=cm.node("div",{classes:"card__counter",title:e.notificationsData.message},cm.node("div",{classes:"app__counter"},cm.formatNumber(e.notificationsData.count))),cm.appendChild(e.card.notifications,e.card.link))}
1,n.renderTabNotificationsHook=function(t){let n=this,e=(t.notificationsHandler=e=>{t.notificationsData=e,cm.isEmpty(t.notificationsData)||n.renderTabNotifications(t)},cm.hook.add(t.hooks.notifications,t.notificationsHandler),n.hooksHandlers[t.hooks.notifications]);(e=e||(n.hooksHandlers[t.hooks.notifications]=[])).push(t.notificationsHandler)},n.set=function(e,t){if("initial"!==e)return a.prototype.set.apply(this,arguments);"mobile"===this.viewMode?this.unset():this.setInitialTab()},n.getViewMode=function(){return this.viewMode}}),cm.define("App.Form",{extend:"Com.AbstractController",events:["onValidate","onSend","onSuccess","onError","onAbort","onComplete","onChange","onInput","onSet","onOpen","onClose","onReset","onRequestSuccess","onRequestError","onRequestComplete"],params:{controllerEvents:!0,embedStructure:"append",titleTag:"h2",titleClasses:[],renderTitle:!0,renderContent:!1,renderButtons:!0,renderButtonSpinner:!1,renderButtonsSeparator:!0,buttonsClasses:["pt__buttons--flex"],buttonsContainerClasses:[],buttonsAlign:"right",buttonsAdaptive:!0,buttonsHandler:!1,buttonsSpinnerClasses:["button--round","button--xlarge"],disabled:!1,validate:!1,validateOnChange:!1,validateOnInput:!1,showNotifications:!0,showNotificationsMessages:!0,showSuccessNotification:!1,showValidationNotification:!1,showValidationMessages:!0,notificationsParams:{closable:!0},data:{},fieldsData:{},mergeData:!1,sendable:!0,autoSend:!1,sendOnChange:!1,sendEmptyForm:!0,sendEmptyFields:!0,sendOnlyChangedFields:!1,abortPreviousRequest:!1,successOnEmptyData:!1,responseKey:null,responseCodeKey:"code",responseErrorsKey:"errors",responseMessageKey:"message",responseMessageCodeKey:!1,responseMessageDetailsKey:!1,ajax:{type:"json",method:"POST",paramsType:"form-data"},showLoader:!0,loaderCoverage:"fields",overlayParams:{},tooltip:{constructor:"App.Tooltip",constructorParams:{setTargetEvent:!1,autoHide:!0,autoHideDelay:3e3,align:"underTopLeft"}},formConstructor:"Com.Form",formParams:{autoSend:!1,removeOnDestruct:!1}}},function(){Com.AbstractController.apply(this,arguments)}),cm.getConstructor("App.Form",function(e,t,n,a){n.onConstructStart=function(){this.sendHandler=this.send.bind(this),this.resetHandler=this.reset.bind(this)},n.onConstructEnd=function(){this.params.autoSend&&this.send()},n.onValidateParams=function(){this.setMessages(this.validateMessagesParams()),this.setData(this.params.data),this.params.formParams=cm.merge(this.validateFormParams(),this.params.formParams)},n.onDestructStart=function(){},n.onDestruct=function(){this.components.tooltip&&this.components.tooltip.destruct(),this.components.form&&this.components.form.destruct()},n.onDestructEnd=function(){},n.validateMessagesParams=function(){var e=this.getMsg(["title",this.params.action].join("_"));return{title:cm.isUndefined(e)?this.msg("title"):e}},n.validateRequestVariables=function(e){return e},n.validateFormParams=function(){var t=this,n={};return cm.forEach(["name","mergeData","validate","validateOnChange","validateOnInput","showNotifications","showNotificationsMessages","showSuccessNotification","showValidationNotification","showValidationMessages","notificationsParams","renderButtons","renderButtonsSeparator","buttonsClasses","buttonsContainerClasses","buttonsAlign","buttonsAdaptive","renderNames","showLoader","loaderCoverage","overlayParams","sendable","sendOnChange","sendEmptyForm","sendEmptyFields","sendOnlyChangedFields","abortPreviousRequest","successOnEmptyData","responseKey","responseCodeKey","responseErrorsKey","responseMessageKey","responseMessageCodeKey","responseMessageDetailsKey","callbacks"],function(e){void 0!==t.params[e]&&(n[e]=t.params[e])}),"PATCH"===t.params.ajax.method.toUpperCase()&&(n.sendEmptyFields=!0,n.sendOnlyChangedFields=!0),n.data=t.data,n.ajax=t.ajax,n},n.validateParamsData=function(e){return e},n.renderView=function(){var e=this;e.nodes.container=e.nodes.holder=cm.node("div",{class:["app__form form",e.params.name].join("--")}),e.params.renderTitle&&(e.nodes.title=cm.node(e.params.titleTag,{class:"com__form__title"},e.msg("title")),cm.addClass(e.nodes.title,e.params.titleClasses),cm.appendChild(e.nodes.title,e.nodes.holder)),e.params.renderContent&&(e.nodes.contentContainer=e.renderContentView(),e.nodes.contentContainer)&&cm.appendChild(e.nodes.contentContainer,e.nodes.holder)},n.renderViewModel=function(){let t=this;a.prototype.renderViewModel.apply(t,arguments),cm.getConstructor(t.params.tooltip.constructor,e=>{t.components.tooltip=new e(t.params.tooltip.constructorParams)}),t.renderForm()},n.renderContentView=function(){var e={};return(this.nodes.content=e).container=cm.node("div",{class:"form__content"}),e.container},n.renderForm=function(){let t=this,n=t.msgObject("form");n.error_codes=cm.merge(n.error_codes,t.msgObject("errorCodes")),n.status_codes=cm.merge(n.status_codes,t.msgObject("statusCodes")),cm.getConstructor(t.params.formConstructor,e=>{t.components.form=new e(cm.merge(t.params.formParams,{container:t.nodes.holder,messages:n,callbacks:t.renderFormCallbacks()})),t.nodes.form=t.components.form.getNodes(),t.renderFormFields(),t.renderFormButtons(),t.renderFormEvents(),t.params.disabled&&t.disable()})},n.renderFormCallbacks=function(){return{filterStatusDetails:(e,t)=>({emailHello:App._config.info.emailHello,emailHelp:App._config.info.emailHelp,...t})}},n.renderFormFields=function(){},n.renderFormButtons=function(){var e={name:"send",action:"submit",label:this.msg("send")};this.params.buttonsHandler&&(e.handler=this.sendHandler),this.params.renderButtonSpinner&&(e.classes=[...this.params.buttonsSpinnerClasses],e.spinner=!0,e.spinnerClasses=["large"]),this.components.form.addButton(e)},n.renderFormEvents=function(){let n=this;n.components.form.addEvent("onSet",function(){n.triggerEvent("onSet")}),n.components.form.addEvent("onInput",function(){n.triggerEvent("onInput")}),n.components.form.addEvent("onChange",function(){n.triggerEvent("onChange")}),n.components.form.addEvent("onValidate",function(e,t){n.triggerEvent("onValidate",t)}),n.components.form.addEvent("onSendStart",function(){n.triggerEvent("onSend")}),n.components.form.addEvent("onRequestSuccess",function(e,t){n.triggerEvent("onRequestSuccess",t),n.triggerEvent("onRequestComplete",t)}),n.components.form.addEvent("onRequestError",function(e,t){n.triggerEvent("onRequestError",t),n.triggerEvent("onRequestComplete",t)}),n.components.form.addEvent("onSuccess",function(e,t){n.triggerEvent("onSuccess",t)}),n.components.form.addEvent("onError",function(e,t){n.triggerEvent("onError",t)}),n.components.form.addEvent("onAbort",function(){n.triggerEvent("onAbort")}),n.components.form.addEvent("onSendEnd",function(){n.triggerEvent("onComplete")}
1),n.components.form.addEvent("onReset",function(){n.triggerEvent("onReset")})},n.getForm=function(){return this.components.form},n.renderNotification=function(e){return this.components.form.renderNotification(e),this},n.clearNotification=function(){return this.components.form.clearNotification(),this},n.getNotifications=function(){return this.components.form.getNotifications()},n.renderError=function(e,t){return this.components.form.renderError(e,t),this},n.clearError=function(){return this.components.form.clearError(),this},n.isProcessing=function(){return this.components.form.isProcess},n.isValid=function(e){return this.components.form.validate(e).valid},n.setAction=function(e,t,n){return this.components.form.setAction(e,t,n),this},n.validate=function(e){return this.components.form.validate(e)},n.send=function(){return this.isProcessing()?this.components.form.abort():this.components.form.send(),this},n.sendStart=function(){return this.components.form.sendStart(),this},n.sendEnd=function(){return this.components.form.sendEnd(),this},n.sendPlaceholder=function(){return this.components.form.sendPlaceholder(),this},n.abort=function(){return this.components.form.abort(),this},n.get=function(e,t){return this.components.form.get(e,t)||{}},n.getAll=function(){return this.components.form.getAll()||{}},n.set=function(e,t){return this.setData(e),this.components.form.setAction(this.ajax,"raw"),this.components.form.set(this.data,t),this},n.setData=function(e){this.data=this.validateParamsData(e),this.ajax=cm.clone(this.params.ajax),this.ajax.variables=cm.merge(this.validateRequestVariables(this.data),this.params.ajax.variables)},n.getData=function(){return this.data},n.reset=function(){return this.components.form.reset(),this},n.enable=function(){return this.components.form.enable(),this},n.disable=function(){return this.components.form.disable(),this},n.open=function(){return this.triggerEvent("onOpen"),this},n.close=function(){return this.triggerEvent("onClose"),this},n.getField=function(e){return this.components.form.getField(e)},n.getFields=function(e){return this.components.form.getFields(e)},n.setFieldParams=function(){return this.components.form.setFieldParams.apply(this.components.form,arguments)},n.getContainer=function(){return this.nodes.container},n.getFieldsContainer=function(){return this.components.form.getNodes("fieldsContainer")},n.getLoader=function(){return this.components.form.getLoader()},n.showLoader=function(){return this.components.form.showLoader(),this},n.hideLoader=function(){return this.components.form.hideLoader(),this}}),cm.define("App.FormContainer",{extend:"Com.AbstractContainer",events:["onSend","onSuccess","onError","onAbort","onComplete"],params:{controllerEvents:!0,constructor:"App.Form",action:"create",view:null,focusFieldOnOpen:null,redrawOnOpen:!0,closeOnSuccess:!0,closeOnComplete:!1,data:{},itemData:{},instanceData:{},fieldsData:{},mergeData:!1,sendable:!0,autoSend:!1,ajax:{},constructorParams:{renderTitle:!1,renderButtons:!1},placeholder:!0,placeholderConstructor:"Com.DialogContainer",placeholderParams:{renderButtons:!0,renderSaveButton:!0,renderCloseButton:!0,buttonsAdaptive:"reverse",buttonClasses:{close:"button-transparent",save:"button-primary"},constructorParams:{theme:"theme-light"}}}},function(){Com.AbstractContainer.apply(this,arguments)}),cm.getConstructor("App.FormContainer",function(e,t,n,a){n.onConstructStart=function(){this.sendHandler=this.send.bind(this),this.resetHandler=this.reset.bind(this),this.abortHandler=this.abort.bind(this)},n.onValidateParamsEnd=function(){let t=this;var e=t.getMsg(["title",t.params.action].join("_"));t.setLangs({title:cm.isUndefined(e)?t.msg("title"):e});cm.forEach(["messages","data","itemData","instanceData","fieldsData","mergeData","ajax","action","view","sendable","autoSend","sendOnChange"],function(e){void 0!==t.params[e]&&(t.params.constructorParams[e]=t.params[e])})},n.onOpenEnd=function(){let e=this;e.params.redrawOnOpen&&e.components.controller.redraw("full"),cm.isEmpty(e.params.focusFieldOnOpen)||cm.onSchedule(()=>e.focus())}
1,n.renderControllerEvents=function(){this.components.controller.addEvent("onOpen",this.afterOpenControllerHandler),this.components.controller.addEvent("onClose",this.afterCloseControllerHandler),this.renderFormEvents()},n.renderFormEvents=function(){let n=this;n.components.controller.addEvent("onSend",e=>n.afterSend()),n.components.controller.addEvent("onSuccess",(e,t)=>n.afterSuccess(t)),n.components.controller.addEvent("onError",(e,t)=>n.afterError(t)),n.components.controller.addEvent("onAbort",e=>n.afterAbort()),n.components.controller.addEvent("onComplete",e=>n.afterComplete())},n.renderPlaceholderTitle=function(){var e=this.params.placeholderParams.title||this.msg("title");return cm.textNode(e)},n.renderPlaceholderButtons=function(){var e=this;e.params.placeholderParams.renderCloseButton&&e.components.placeholder.addButton({name:"close",label:e.msg("cancel"),classes:e.params.placeholderParams.buttonClasses.close,callback:e.closeHandler}),e.params.placeholderParams.renderSaveButton&&e.components.placeholder.addButton({name:"save",label:e.msg("save"),classes:e.params.placeholderParams.buttonClasses.save,callback:e.sendHandler})},n.afterOpenPlaceholderEnd=function(){this.afterOpenControllerEnd(),a.prototype.afterOpenPlaceholderEnd.apply(this,arguments)},n.afterClosePlaceholderStart=function(){this.afterCloseControllerStart(),a.prototype.afterClosePlaceholderStart.apply(this,arguments)},n.afterSend=function(){this.triggerEvent("onSend")},n.afterSuccess=function(e){this.triggerEvent("onSuccess",e),this.params.closeOnSuccess&&this.close()},n.afterError=function(e){this.triggerEvent("onError",e)},n.afterAbort=function(){this.triggerEvent("onAbort")},n.afterComplete=function(){this.triggerEvent("onComplete"),this.params.closeOnComplete&&this.close()},n.set=function(e,t){return this.params.data=e,this.params.constructorParams.data=this.params.data,this.components.controller&&cm.isFunction(this.components.controller.set)&&this.components.controller.set(e,t),this},n.get=function(e,t){return this.components.controller&&cm.isFunction(this.components.controller.get)&&this.components.controller.get(e,t)},n.send=function(e){return e&&cm.preventDefault(e),this.components.controller&&cm.isFunction(this.components.controller.send)&&this.components.controller.send(),this},n.abort=function(e){return e&&cm.preventDefault(e),this.components.controller&&cm.isFunction(this.components.controller.abort)&&this.components.controller.abort(),this},n.reset=function(e){return e&&cm.preventDefault(e),this.components.controller&&cm.isFunction(this.components.controller.reset)&&this.components.controller.reset(),this},n.enable=function(){return this.components.controller&&cm.isFunction(this.components.controller.enable)&&this.components.controller.enable(),this},n.disable=function(){return this.components.controller&&cm.isFunction(this.components.controller.disable)&&this.components.controller.disable(),this},n.focus=function(){return this.components.controller&&(cm.isFunction(this.components.controller.focus)?this.components.controller.focus():cm.isEmpty(this.params.focusFieldOnOpen)||this.components.controller.getField(this.params.focusFieldOnOpen).fieldController?.focus()),this},n.setAction=function(e,t,n){var a=this;if(a.components.controller)cm.isFunction(a.components.controller.setAction)&&a.components.controller.setAction(e,t,n);else{switch(t=cm.inArray(["raw","update","current"],t)?t:"current"){case"raw":a.params.ajax=cm.merge(a._raw.params.ajax,e);break;case"current":a.params.ajax=cm.merge(a.params.ajax,e);break;case"update":a.params.ajax=cm.merge(a._update.params.ajax,e)}n&&(a._update.params.ajax=cm.clone(a.params.ajax)),a.params.constructorParams.ajax=a.params.ajax}return a},n.setTitle=function(e){return this.params.placeholderParams.title=e,this.components.placeholder&&cm.isFunction(this.components.placeholder.setTitle)&&this.components.placeholder.setTitle(e),this}}),cm.getConstructor("App.Application",function(e,t,n){n.FieldConstraints={},n.FieldConstraints.emailFormat=function(){return cm.constraintsPattern(/^[^\s@]+@[^\s@]+\.[^\s@]+$/i,!0,cm.getMessage("App.Form","errors.email.invalid_format"))},n.FieldConstraints.passwordMatch=function(e,t){let n=this;return cm.constraintsPattern(()=>n.getField(e).fieldController.get(),!0,cm.getMessage("App.Form","errors.password.not_match"))},n.FieldConstraints.urlFormat=function(){return cm.constraintsPattern(/^(https?:\/\/)?([\w-]+\.)+[\w-]+(\/.*)?$/i,!0,cm.getMessage("App.Form","errors.url.invali
1d_format"))},n.InputConstraints={},n.InputConstraints.shortname=function(e){return e.replace(/[^a-z0-9._-]/gi,"")},n.FieldHandlers={},n.FieldHandlers.emailInputEvent=function(e,t){/\.con$/.test(t)?this.isEmailComShown||(this.isEmailComShown=!0,t=cm.node("p",{classes:"pt__line-icon"},Application.Images.embedIcon({icon:"info-border",classes:["small"]}),cm.node("span",{classes:"label",innerHTML:cm.getMessage("App.Form","errors.email.dot_com")})),this.components.tooltip.setTarget(e.getContainer()).setContent(t).show()):(this.isEmailComShown=!1,this.components.tooltip.hide())},n.FieldHandlers.passwordValidate=function(e,t){var n=this.getFields([e,t]),e=n[e].fieldController.get();cm.isEmpty(e)?n[t].fieldController.validate():n[t].fieldController.validate({required:!0})}}),cm.define("App.FlowLayout",{extend:"Com.AbstractController",events:["onSet"],params:{controllerEvents:!0,renderStructure:!1,embedStructureOnRender:!1}},function(){Com.AbstractController.apply(this,arguments)}),cm.getConstructor("App.FlowLayout",function(e,t,n,a){n.onConstructStart=function(){this.panels={},this.current=null,this.isProcess=!1,this.processTimeout=null},n.onDestruct=function(){this.unsetProcess()},n.onRedraw=function(){this.set(this.current,"instant")},n.renderViewModel=function(){a.prototype.renderViewModel.apply(this,arguments),cm.addClass(this.params.container,"app__flow-layout"),"onscrollend"in window?cm.addEvent(this.params.container,"scrollend",this.scrollEndEvent.bind(this)):cm.onScrollEnd(this.params.container,this.scrollEndEvent.bind(this))},n.scrollEndEvent=function(e){let a=this;cm.isBreakpoint("tabletUp")||(cm.forEach(a.panels,(e,t)=>{var n;e.isVisible&&(n=e.params.node.offsetLeft,a.params.container.scrollLeft===n)&&(a.setVisibility(t),a.setEvents(t,e))}),a.unsetProcess())},n.renderTitle=function(e){e.nodes.title=cm.node("h1",{classes:"app__flow-layout__title"},e.params.title.label),"mobile"===e.params.title.render&&cm.addClass(e.nodes.title,"media--on-mobile"),cm.insertFirst(e.nodes.title,e.params.node)},n.renderToolbar=function(t){let n=this;t.nodes.toolbar=cm.node("div",{classes:"app__flow-layout__toolbar"}),t.nodes.actionBack=Application.Buttons.embed({container:t.nodes.toolbar,modifiers:["editable"],label:t.params.toolbar.label,link:t.params.toolbar.link,noRoute:!0,icons:{before:"chevronLeft"},callback:e=>{cm.preventDefault(e),n.set(t.params.parent)}}),"mobile"===t.params.toolbar.render&&cm.addClass(t.nodes.toolbar,"media--on-mobile"),cm.insertFirst(t.nodes.toolbar,t.params.node)},n.add=function(e){e={nodes:{},params:cm.merge({name:null,parent:null,node:cm.node("div"),title:{render:!1,label:null},toolbar:{render:!1,label:null,link:null}},e)};cm.addClass(e.params.node,"app__flow-layout__panel"),e.params.title.render&&this.renderTitle(e),e.params.toolbar.render&&this.renderToolbar(e),this.panels[e.params.name]=e},n.get=function(e){return this.panels[e]},n.set=function(e,t="smooth"){var n,a,s=this;s.isProcess||cm.isBreakpoint("tabletUp")||(n=s.get(e))&&(s.setVisibility(e,{resetScroll:!1,hideOther:!1}),a=n.params.node.offsetLeft,s.params.container.scrollLeft===a?(s.setVisibility(e),s.setEvents(e,n),s.unsetProcess()):(s.setProcess(),n.params.node.scrollTop=0,s.params.container.scrollTo({left:a,behavior:t}),s.processTimeout&&clearTimeout(s.processTimeout),s.processTimeout=setTimeout(s.unsetProcess.bind(s),1e3)))},n.setProcess=function(){this.isProcess=!0,cm.addClass(this.params.container,"is-process")},n.unsetProcess=function(){this.isProcess=!1,cm.removeClass(this.params.container,"is-process")},n.setEvents=function(e,t){this.current!==e&&(this.current=e,this.triggerEvent("onSet",e,t))},n.setVisibility=function(e,t){let n=[],a=(t=cm.merge({resetScroll:!0,hideOther:!0},t),this.get(e));for(;a;)n.push(a.params.name),a.isVisible=!0,cm.replaceClass(a.params.node,"is-hidden","is-visible"),t.resetScroll&&a.params.name!==e&&(a.params.node.scrollTop=0),a=this.get(a.params.parent);t.hideOther&&cm.forEach(this.panels,e=>{cm.inArray(n,e.params.name)||(e.isVisible=!1,cm.replaceClass(e.params.node,"is-visible","is-hidden"))})}}),cm.define("App.UserPreferencesContainer",{extend:"Com.AbstractContainer",events:["onEditableSuccess","onEditableError"],params:{controllerEvents:!0,active:null,data:{},fieldsData:{},constructor:"App.UserPreferences",constructorParams:{},placeholder:!0,placeholderConstructor:"Com.DialogContainer",placeholderParams:{renderTitle:!0,renderButtons:!1,justifyButtons:"center",constructorParams:{width:App._config.dialog.widthContent,theme:"theme-light",he
1ight:cm.getLESSVariable("@AppUserPreferences-Content-Height","auto",!0),heightBasis:"content",className:"com__dialog--preferences",animateHeight:!0}}}},function(){Com.AbstractContainer.apply(this,arguments)}),cm.getConstructor("App.UserPreferencesContainer",function(e,t,n,a){n.onConstruct=function(){this.hasUpdated=!1,this.hasUpdatedData=null},n.onOpen=function(){this.hasUpdated=!1,this.hasUpdatedData=null},n.onCloseStart=function(){this.hasUpdated&&this.triggerEvent("onEditableSuccess",this.hasUpdatedData)},n.constructControllerParams=function(e){var t=a.prototype.constructControllerParams.apply(this,arguments);return cm.merge(t,{data:this.params.data,fieldsData:this.params.fieldsData,activeTab:this.params.activeTab})},n.constructControllerEvents=function(){let n=this;var e=a.prototype.constructControllerEvents.apply(n,arguments);return cm.merge(e,{onEditableSuccess:(e,t)=>{n.hasUpdated=!0,n.hasUpdatedData=t},onTabChangeStart:()=>{n.components.placeholder?.getController()?.scrollContentTo({top:0,duration:n.components.controller?.getTabset()?.getParams("animateDuration"),behavior:"smooth"})}})},n.openTab=function(e){this.params.activeTab=e,this.open(),this.components.controller&&!this.components.controller.isDestructed&&this.components.controller.setTab(e,{isInitial:!0})}}),cm.define("App.UserPreferences",{extend:"Com.AbstractController",events:["onTabChangeStart","onTabChangeEnd","onEditableSuccess","onEditableError"],params:{controllerEvents:!0,renderStructure:!0,embedStructureOnRender:!0,embedStructure:"append",data:{},fieldsData:{},activeTab:"profile",tabset:{constructor:"App.TabsetPanel",constructorParams:{name:"preferences",animateHeight:!1,removeOnDestruct:!1}},formParams:{titleTag:"h3",renderTitle:!0,titleClasses:["tpl__block__title","is-sticky"],buttonsContainerClasses:["is-sticky"],renderButtonsSeparator:!1,showSuccessNotification:!0,removeOnDestruct:!0},pageParams:{title:{render:!0,tagName:"h3"},editable:{enable:!0},removeOnDestruct:!0}}},function(){Com.AbstractController.apply(this,arguments)}),cm.getConstructor("App.UserPreferences",function(e,t,n,a){n.onValidateParams=function(){this.profileData=Application.User.validateProfile(this.params.data,{populateData:!1});var e=this.messageObject(this.profileData.role);cm.isEmpty(e)||this.setMessages(e),this.tabsConfig=(this.Configs[this.profileData.role]||this.Configs.default)()},n.onRedraw=function(){this.components.tabset&&this.components.tabset.redraw()},n.renderView=function(){this.nodes.container=cm.node("div",{classes:"app__user-preferences"})},n.renderViewModel=function(){let t=this;a.prototype.renderViewModel.apply(t,arguments),t.tabs=t.tabsConfig.filter(e=>!1!==e.access).map(e=>t.validateTabParams(e)),cm.getConstructor(t.params.tabset.constructor,e=>{t.components.tabset=new e(cm.merge(t.params.tabset.constructorParams,{container:t.nodes.container,items:t.tabs,active:t.params.activeTab,events:{onTabChangeStart:()=>t.triggerEvent("onTabChangeStart"),onTabChangeEnd:()=>t.triggerEvent("onTabChangeEnd")}}))})},n.validateTabParams=function(e){return e.title=this.msg("tabs."+e.name),cm.isEmpty(e.components)||(e.component=e.components[this.profileData.role]||e.components.default),"page"===e.type?this.getTabPageParams(e):this.getTabFormParams(e)},n.getTabFormParams=function(n){let a=this;return cm.merge({id:n.name,title:n.title,callback:t=>{a.components[n.name]&&cm.isFunction(a.components[n.name].destruct)&&a.components[n.name].destruct(),cm.getConstructor(n.component.constructor,e=>{a.components[n.name]=new e(Object.assign({},a.params.formParams,n.component.constructorParams,{container:t.tab.inner,data:a.profileData.data,fieldsData:a.params.fieldsData,events:{onSuccess:(e,t)=>a.renderFormSuccess(t),onError:(e,t)=>a.renderFormError(t)}}))})}},n.params)},n.getTabPageParams=function(n){let a=this;return cm.merge({id:n.name,title:n.title,callback:t=>{a.components[n.name]&&cm.isFunction(a.components[n.name].destruct)&&a.components[n.name].destruct(),cm.getConstructor(n.component.constructor,e=>{a.components[n.name]=new e(Object.assign({},a.params.pageParams,n.component.constructorParams,{container:t.tab.inner,data:a.profileData.data,fieldsData:a.params.fieldsData,editable:{enable:!cm.isBoolean(n.editable)||n.editable},events:{onEditableSuccess:(e,t,n)=>a.renderFormSuccess(t,n),onEditableError:(e,t)=>
1a.renderFormError(t)}}))})}},n.params)},n.setTab=function(e,t){return this.components.tabset?.set.apply(this.components.tabset,arguments),this},n.getTabset=function(){return this.components.tabset},n.renderFormSuccess=function(e,t){!cm.isEmpty(e)&&cm.isObject(e)&&("partial"===t&&(e=Object.assign({},this.profileData.data,e)),this.profileData=Application.User.validateProfile(e,{populateData:!1}),Application.User.setProfile(this.profileData.data)),this.triggerEvent("onEditableSuccess",e)},n.renderFormError=function(e){this.triggerEvent("onEditableError",e)}}),cm.getConstructor("App.UserPreferences",function(e,t,n,a){n.Configs=n.Configs||{},n.Configs.default=function(){return[{name:"profile",type:"form",params:{icon:"member-border"},component:{constructor:"Form.ProfileEnthusiast",constructorParams:{}}},{name:"privacy",type:"form",params:{icon:"hidden",iconClasses:["inset-medium"]},component:{constructor:"Form.ProfilePrivacy",constructorParams:{}}},{name:"security",type:"form",params:{icon:"shield-border"},component:{constructor:"Form.ProfilePassword",constructorParams:{}}}]}}),cm.getConstructor("App.UserPreferences",function(e,t,n,a){n.Configs=n.Configs||{},n.Configs.salon=function(){return[{name:"profile",type:"form",params:{icon:"member-border"},component:{constructor:"Form.ProfileSalon",constructorParams:{}}},{name:"privacy",type:"form",params:{icon:"hidden",iconClasses:["inset-medium"]},component:{constructor:"Form.ProfilePrivacy",constructorParams:{}}},{name:"social-links",type:"form",params:{icon:"globe-border"},component:{constructor:"Form.ProfileSocialLinks",constructorParams:{}}},{name:"employees",type:"page",params:{icon:"user-pro",notifications:"workers",hooks:{notifications:"user.notifications.workers"}},component:{constructor:"App.UserEmploymentSalon",constructorParams:{}}},{name:"working-details",type:"form",params:{icon:"star-border"},component:{constructor:"Form.ProfileSalonWorkingDetails",constructorParams:{}}},{name:"working-hours",type:"form",params:{icon:"clock-border"},component:{constructor:"Form.ProfileWorkingHours",constructorParams:{}}},{name:"booking-services",type:"page",params:{icon:"book-border"},component:{constructor:"App.UserBookingServices",constructorParams:{}}},{name:"professional-credentials",type:"page",params:{icon:"checked-border",notifications:"professionalCredentials",hooks:{notifications:"user.notifications.professionalCredentials"}},component:{constructor:"App.UserProfessionalCredentials",constructorParams:{}}},{name:"talents",type:"page",params:{icon:"briefcase",notifications:"lookingForTalents",hooks:{notifications:"user.notifications.lookingForTalents"}},component:{constructor:"App.UserTalentsComposite",constructorParams:{}}}]}}),cm.getConstructor("App.UserPreferences",function(e,t,n,a){n.Configs=n.Configs||{},n.Configs.student=function(){return[{name:"profile",type:"form",params:{icon:"member-border"},component:{constructor:"Form.ProfileStudent",constructorParams:{}}},{name:"security",type:"form",params:{icon:"shield-border"},component:{constructor:"Form.ProfilePassword",constructorParams:{}}},{name:"licenses",type:"page",editable:!1,params:{icon:"checked-border",notifications:"professionalCredentials",hooks:{notifications:"user.notifications.professionalCredentials"}},component:{constructor:"App.UserLicenses",constructorParams:{}}}]}}),cm.getConstructor("App.UserPreferences",function(e,t,n,a){n.Configs=n.Configs||{},n.Configs.tech=function(){return[{name:"profile",type:"form",params:{icon:"member-border"},component:{constructor:"Form.ProfileTechnician",constructorParams:{}}},{name:"privacy",type:"form",params:{icon:"hidden",iconClasses:["inset-medium"]},component:{constructor:"Form.ProfilePrivacy",constructorParams:{}}},{name:"social-links",type:"form",params:{icon:"globe-border"},component:{constructor:"Form.ProfileSocialLinks",constructorParams:{}}},{name:"employment",type:"page",params:{icon:"briefcase",notifications:"workers",hooks:{notifications:"user.notifications.workers"}},component:{constructor:"App.UserEmploymentIndividual",constructorParams:{}}},{name:"working-details",type:"form",params:{icon:"star-border"},component:{constructor:"Form.ProfileIndividualWorkingDetails",constructorParams:{}}},{name:"working-hours",type:"form",params:{icon:"clock-border"},component:{constructor:"Form.ProfileWorkingHours",constructorParams:{}}},{name:"booking-services",type:"page",params:{icon:"book-border"},component:{constructor:"App.UserBookingServices",constructorParams:{}}},{name:"professional-credentials",type:"page",params:{icon:"checked-border",notifications:"professionalCredentials",hooks:{notifications:"user.notifications.professionalCredentials"}},component:{constructor:"App.UserProfessionalCredentials",constructorParams:{}}}]}}),cm.define("App.UserSignup",{extend:"Com.AbstractController",events:["onSuccess","onPending","onError"],params:{name:"abstract",controllerEvents:!0,renderStructure:!0,embedStructureOnRender:!0,embedStructure:"append",modifiers:[],setFocus:!1,introStage:"verification",pendingReturnRoute:"index",brandData:{},section:{titleTagName:"h1",classes:["is-box"]},returnButton:{render:!0,renderOnError:!1,noRoute:!1},backLink:{noRoute:!1},loginLink:{noRoute:!0},reportLink:{noRoute:!0},resetLink:{noRoute:!0},userHelper:{constructor:"App.UserHelper"},statesRequest:{enable:!0,constructor:"App.StatesRequest",constructorParams:{autoSend:!1,showLoader:!0,overlayParams:{appendMode:"insertFirst"}}},verification:{enable:!0,renderBackLink:!0,renderTabs:!0,renderDescription:!0,focusField:"first_name",data:{},constructor:"Form.LicenseCheckIndividual",constructorParams:{}}
1,validation:{enable:!0,renderSkipLink:!0,data:{},constructor:"Form.LicenseValidate",constructorParams:{}},registration:{renderBackLink:!1,renderSkipLink:!0,renderDescription:!0,focusField:null,data:{},constructor:"Form.RegisterIndividual",constructorParams:{}},registrationOther:{renderBackLink:!0,renderTabs:!0,renderDescription:!0,focusField:null,data:{},constructor:"Form.RegisterOther",constructorParams:{}},registrationTicket:{enable:!0,data:{},constructor:"Form.RegisterTicket",constructorParams:{}}}},function(){Com.AbstractController.apply(this,arguments)}),cm.getConstructor("App.UserSignup",function(e,t,n,a){n.onConstructStart=function(){this.stages={},this.currentStage=null,this.manualStates=[],this.statesData=null,this.verificationData=null,this.verificationType=null,this.verificationStatus=null},n.onValidateParamsStart=function(){cm.isEmpty(this.params.returnButton.label)&&(this.params.returnButton.label=this.msgParse("return_button")),cm.isEmpty(this.params.pendingReturnRoute)||(this.params.returnButton.link=Router.getURL(this.params.pendingReturnRoute)),this.params.brandData=App.validateBrandData(this.params.brandData)},n.renderView=function(){let t=["app__user-signup","app__user-signup--"+this.params.name];cm.forEach(this.params.modifiers,e=>{t.push("app__user-signup--"+e)}),this.nodes.container=cm.node("div",{classes:t})},n.renderViewModel=function(){let t=this;a.prototype.renderViewModel.apply(t,arguments),cm.find(t.params.userHelper.constructor,null,null,e=>{t.components.userHelper=e}),t.requestStates(),t.setStage(t.params.introStage)},n.setStage=function(n){var e=this;if(e.currentStage=n,!e.stages[n])switch(n){case"verification":e.stages.verification=e.renderVerificationView({container:e.nodes.container});break;case"validation":e.stages.validation=e.renderValidationView({container:e.nodes.container});break;case"error":e.stages.error=e.renderVerificationErrorView({container:e.nodes.container});break;case"registration":e.stages.registration=e.renderRegistrationView({container:e.nodes.container});break;case"registrationOther":e.stages.registrationOther=e.renderRegistrationOtherView({container:e.nodes.container});break;case"pending":e.stages.pending=e.renderPendingView({container:e.nodes.container})}cm.forEach(e.stages,(e,t)=>{e.nodes.container.setAttribute("aria-hidden",n!==t),cm.toggleClass(e.nodes.container,"is-hidden",n!==t)})},n.getStage=function(e){return this.stages[e]},n.renderBackLink=function(){return cm.node("div",{classes:"section__button--top"},Application.Buttons.embed(cm.merge(this.params.backLink,{modifiers:["editable"],label:this.msgParse("actions.back"),link:Router.getURL("signup"),icons:{before:"chevronLeft"}})))},n.renderTabs=function(e){let t=this;var n={};return n.container=Application.Buttons.embedContainer({modifiers:["flex","toggle-bordered","toggle-checkbox"],classes:["pull-justify","is-adaptive"],role:"tablist",ariaLabel:t.msgParse("tabs.label"),buttons:[n.tech=Application.Buttons.embed({label:t.msgParse("tabs.tech.label"),title:t.msgParse("tabs.tech.title"),modifiers:["toggle"],classes:["is-compact","is-wrap"],role:"tab",selected:"tech"===e,checkbox:{render:!0,classes:["media--tablet-down"],name:"signup-tabs--"+e,type:"radio"},callback:()=>t.setStage("verification")}),n.other=Application.Buttons.embed({label:t.msgParse("tabs.other.label"),title:t.msgParse("tabs.other.title"),modifiers:["toggle"],classes:["is-compact","is-wrap"],role:"tab",selected:"other"===e,checkbox:{render:!0,classes:["media--tablet-down"],name:"signup-tabs--"+e,type:"radio"},callback:()=>t.setStage("registrationOther")})]}),n.container},n.requestStates=function(){let t=this;t.params.statesRequest.enable&&cm.getConstructor(t.params.statesRequest.constructor,e=>{t.components.statesRequest=new e(cm.merge(t.params.statesRequest.constructorParams,{overlayParams:{container:t.params.container}
1,events:{onSuccess:t.renderStatesResponse.bind(t)}})),t.components.statesRequest.send()})},n.renderStatesResponse=function(e,t){cm.isEmpty(t.data)||(this.statesData=t.data,this.components.verification?.setStatesData(this.statesData))},n.renderVerificationView=function(e){let t=this,n=t.processVerificationData(t.params.verification.data),a={nodes:{},params:cm.merge({container:cm.node("div")},e)};return a.nodes.container=cm.node("div",{classes:["tpl__wrapper","tpl__wrapper--signup-verification","is-hidden"]},cm.node("section",{classes:cm.merge(["tpl__section","tpl__section--signup-title"],t.params.section.classes)},a.nodes.titleInner=cm.node("div",{classes:"inner"},a.nodes.titleHolder=cm.node("div",{classes:"section__title"},cm.node(t.params.section.titleTagName,t.msgParse("verification.title"))))),cm.node("section",{classes:cm.merge(["tpl__section","tpl__section--signup-form"],t.params.section.classes)},a.nodes.formInner=cm.node("div",{classes:"inner"},a.nodes.holder=cm.node("div",{classes:"section__entry"})))),t.params.verification.renderBackLink&&(a.nodes.buttonTop=t.renderBackLink(),cm.insertFirst(a.nodes.buttonTop,a.nodes.titleInner)),t.params.verification.renderTabs&&(a.nodes.tabs=t.renderTabs("tech"),cm.appendChild(a.nodes.tabs,a.nodes.titleHolder)),t.params.verification.renderDescription&&(e=[t.msgParse("verification.description",n),t.msgParse("verification.disclaimer",n)],a.nodes.description=cm.node("div",{classes:"section__entry",innerHTML:e.join("\n")}),cm.insertLast(a.nodes.description,a.nodes.titleInner)),cm.getConstructor(t.params.verification.constructor,e=>{t.components.verification=new e(cm.merge(t.params.verification.constructorParams,{data:n,container:a.nodes.holder,overlayParams:{container:a.nodes.container},messages:t.msgObject("verification.form"),events:{onSuccess:t.verificationResponse.bind(t),onError:t.verificationError.bind(t)}}))}),cm.appendChild(a.nodes.container,a.params.container),a},n.processVerificationData=function(e){return e.brand=this.params.brandData,e},n.setVerificationData=function(e){this.components.verification.set(e)},n.getVerificationData=function(){return this.components.verification.get()},n.verificationResponse=function(e,t){var n=this;return cm.isEmpty(t)?n.verificationError.apply(n,arguments):n.isVerificationManual()?n.verificationManual.apply(n,arguments):(n.verificationData=t||[],n.verificationType="verification",n.verificationStatus="success",n.setStage("registration"),n.setVerificationData({image:n.verificationData[0]?.image}),void n.setRegistrationData(n.getVerificationData()))},n.verificationManual=function(e,t){this.verificationData=t||{},this.verificationData.message=this.msgParse("errors.error_verification_message"),this.verificationType="verification",this.verificationStatus="manual",this.setStage("error"),this.triggerEvent("onError",this.verificationData)},n.verificationError=function(e,t){var n=this,a=cm.isEmpty(t?.message),s=n.processNotification(t,{labelMsg:"errors.error_verification_message"});n.verificationData=t||{},n.verificationData.message=s.labelStr,n.verificationType="verification",n.verificationStatus="error",n.components.verification.clearNotification().renderNotification(s),a&&(n.isValidationEnabled()?(n.setStage("validation"),n.setValidationData(n.getVerificationData())):n.setStage("error")),n.triggerEvent("onError",n.verificationData)},n.renderVerificationErrorView=function(e){let t=this,n={nodes:{},params:cm.merge({container:cm.node("div")},e)};return n.nodes.container=cm.node("div",{classes:["tpl__wrapper","tpl__wrapper--signup-verification-error","is-hidden"]},n.nodes.section=cm.node("section",{classes:cm.merge(["tpl__section","tpl__section--signup-title","tpl__section--signup-title-error","pull-center"],t.params.section.classes)},cm.node("div",{classes:"inner"},cm.node(t.params.section.titleTagName,{classes:"section__title"},t.msgParse("verificationError.title")),n.nodes.holder=cm.node("div",{classes:"section__form"}),cm.node("div",{classes:"section__entry",innerHTML:t.msgParse("verificationError.description",{email:App._config.info.emailHelp})}),cm.node("div",{classes:"section__buttons"},cm.node("div",{classes:["pt__buttons","pull-center","is-adaptive"]},cm.node("div",{classes:"inner"},Application.Buttons.embed({label:t.msgParse("actions.reset"),modifiers:["xlarge","round","border"],callback:()=>t.setStage("verification")}),Application.Buttons.embed(cm.merge({label:t.msgParse("actions.contact"),modifiers:["xlarge","round","border"],link:Router.getURL("contact"),callback:()=>t.components.userHelper.openReportBox()},t.params.reportLink)))))))),t.params.returnButton.renderOnError&&t.renderErrorReturnButton(n),t.params.registrationTicket.enable&&cm.getConstructor(t.params.registrationTicket.constructor,e=>{t.components.registrationTicket=new e(cm.merge(t.params.validation.constructorParams,{overlayParams:{container:n.nodes.section,appendMode:"insertFirst"},container:n.nodes.holder,data:t.params.registrationTicket.data}))}),cm.appendChild(n.nodes.container,n.params.container),n},n.renderErrorReturnButton=function(e){var t=cm.merge(["tpl__section","tpl__section--buttons","tpl__section--signup-buttons"],this.params.section.classes),t=(e.nodes.buttonSection=cm.node("section",{classes:t},cm.node("div",{classes:"inner"},cm.node("div",{classes:"section__entry"},cm.node("div",{classes:"pt__buttons pull-center"},e.nodes.returnButtonHolder=cm.node("div",{classes:"inner"}))))),cm.clone(this.params.returnButton));t.classes.push("button-transparent"),t.container=e.nodes.returnButtonHolder,e.nodes.returnButton=Application.Buttons.embed(t),cm.appendChild(e.nodes.buttonSection,e.nodes.container)},n.sendRegistrationTicket=function(e){this.params.registrationTicket.enable&&this.components.registrationTicket.reset().set(e).send()},n.renderPendingView=function(e){e={nodes:{},params:cm.merge({container:cm.node("div")},e)};
1return e.nodes.container=cm.node("div",{classes:["tpl__wrapper","tpl__wrapper--signup-pending","is-hidden"]},cm.node("section",{classes:cm.merge(["tpl__section","tpl__section--signup-title"],this.params.section.classes)},cm.node("div",{classes:"inner"},cm.node(this.params.section.titleTagName,{classes:"section__title"},this.msgParse("pending.title")),e.nodes.content=cm.node("div",{classes:"section__entry",innerHTML:this.msgParse("pending.description")}))),cm.node("section",{classes:cm.merge(["tpl__section","tpl__section--buttons","tpl__section--signup-buttons"],this.params.section.classes)},cm.node("div",{classes:"inner"},cm.node("div",{classes:"section__entry"},cm.node("div",{classes:"pt__buttons pull-center"},e.nodes.returnButtonHolder=cm.node("div",{classes:"inner"})))))),this.params.returnButton.render&&(e.nodes.returnButton=Application.Buttons.embed(cm.merge(this.params.returnButton,{container:e.nodes.returnButtonHolder}))),cm.appendChild(e.nodes.container,e.params.container),e},n.setPendingViewMessage=function(e){let t=this.getStage("pending");cm.clearNode(t.nodes.content),cm.forEach(e,e=>{cm.appendChild(cm.node("p",{classes:["is-large","p-sm"]},e),t.nodes.content)})},n.renderValidationView=function(e){let t=this,n={nodes:{},params:cm.merge({container:cm.node("div")},e)};return n.nodes.container=cm.node("div",{classes:["tpl__wrapper","tpl__wrapper--signup-validation","is-hidden"]},cm.node("section",{classes:cm.merge(["tpl__section","tpl__section--signup-title"],t.params.section.classes)},n.nodes.titleInner=cm.node("div",{classes:"inner"},cm.node(t.params.section.titleTagName,{classes:"section__title"},t.msgParse("validation.title")),cm.node("div",{classes:"section__entry",innerHTML:t.msgParse("validation.description")}))),cm.node("section",{classes:cm.merge(["tpl__section","tpl__section--signup-form"],t.params.section.classes)},cm.node("div",{classes:"inner"},n.nodes.holder=cm.node("div",{classes:"section__entry"})))),t.params.validation.renderSkipLink&&Application.Sections.renderLinks({container:n.nodes.container,sectionClasses:[],sectionModifiers:["signup-links"],listClasses:["is-horizontal","is-adaptive"],renderSeparator:!1,items:[{label:t.msgParse("actions.skipValidation"),callback:e=>{cm.preventDefault(e),t.components.validation.skip()}}]}),cm.getConstructor(t.params.validation.constructor,e=>{t.components.validation=new e(cm.merge(t.params.validation.constructorParams,{container:n.nodes.holder,data:t.params.validation.data,events:{onSuccess:t.validationResponse.bind(t),onError:t.validationError.bind(t)}}))}),cm.appendChild(n.nodes.container,n.params.container),n},n.setValidationData=function(e){this.components.validation.set(e)},n.getValidationData=function(){return this.components.validation.get()},n.validationResponse=function(e,t){var n=this;if(cm.isEmpty(t))return n.validationError.apply(n,arguments);n.verificationData=t||[],n.verificationType="validation",n.verificationStatus="success",n.setStage("registration"),n.setValidationData({image:n.verificationData[0]?.image}),n.setRegistrationData(n.getValidationData())},n.validationError=function(e,t){var n=cm.isEmpty(t?.message),a=this.processNotification(t,{labelMsg:"errors.error_validation_message"});this.verificationData=t||{},this.verificationData.message=a.labelStr,this.verificationType="validation",this.verificationStatus="error",this.components.validation.clearNotification().renderNotification(a),n&&this.setStage("error"),this.triggerEvent("onError",this.verificationData)},n.renderRegistrationView=function(e){let t=this,n=t.processRegistrationData(t.params.registration.data),a={nodes:{},params:cm.merge({container:cm.node("div")},e)};return a.nodes.container=cm.node("div",{classes:["tpl__wrapper","tpl__wrapper--signup-registration","is-hidden"]},cm.node("section",{classes:cm.merge(["tpl__section","tpl__section--signup-title"],t.params.section.classes)},a.nodes.titleInner=cm.node("div",{classes:"inner"},cm.node(t.params.section.titleTagName,{classes:"section__title"},t.msgParse("registration.title")))),cm.node("section",{classes:cm.merge(["tpl__section","tpl__section--signup-form"],t.params.section.classes)},cm.node("div",{classes:"inner"},a.nodes.holder=cm.node("div",{classes:"section__entry"})))),t.params.registration.renderBackLink&&(a.nodes.buttonTop=t.renderBackLink(),cm.insertFirst(a.nodes.buttonTop,a.nodes.titleInner)),t.params.registration.renderDescription&&(a.nodes.description=cm.node("div",{classes:"section__entry",innerHTML:t.msgParse("registration.description")}),cm.insertLast(a.nodes.description,a.nodes.titleInner)),t.params.registration.renderSkipLink&&Application.Sections.renderLinks({container:a.nodes.container,sectionClasses:[],sectionModifiers:["signup-links"],listClasses:["is-horizontal","is-adaptive"],renderSeparator:!1,items:[{label:t.msgParse("actions.skipRegistration"),callback:e=>{cm.preventDefault(e),t.registrationSkip()}}]}),cm.getConstructor(t.params.registration.constructor,e=>{t.components.registration=new e(cm.merge(t.params.registration.constructorParams,{data:n,container:a.nodes.holder,events:{onSuccess:t.registrationResponse.bind(t),onError:t.registrationError.bind(t)}}))}),cm.appendChild(a.nodes.container,a.params.container),a},n.processRegistrationData=function(e){return e},n.setRegistrationData=function(e){this.components.registration.setStatesData(this.statesData),this.components.registration.setCards(this.verificationData),this.components.registration.set(e)},n.registrationResponse=function(e,t){1010===t.code?(this.setPendingViewMessage(t.messages),this.setStage("pending"),this.triggerEvent("onPending",t)):this.triggerEvent("onSuccess",t)},n.registrationError=function(e,t){var n=this.processNotification(t,{labelMsg:"errors.error_registration"});this.components.registration.clearNotification().renderNotification(n),this.triggerEvent("onError",t)},n.registrationSkip=function(){var e=this;"validation"!==e.verificationType&&e.isValidationEnabled()?(e.setStage("validation"),e.setValidationData(e.getVerificationData())):(e.setStage("error"),e.sendRegistrationTicket("validation"===e.verificationType?e.getValidationData():e.getVerificationData()))},n.renderRegistrationOtherView=function(e){let t=this,n=t.processRegistrationOtherData(t.params.registrationOther.data),a={nodes:{},params:cm.merge({container:cm.node("div")},e)};return a.nodes.container=cm.node("div",{classes:["tpl__wrapper","tpl__wrapper--signup-registration-other","is-hidden"]},cm.node("section",{classes:cm.merge(["tpl__section","tpl__section--signup-title"],t.params.section.classes)},a.nodes.titleInner=cm.node("div",{classes:"inner"},a.nodes.titleHolder=cm.node("div",{classes:"section__title"},cm.node(t.params.section.titleTagName,t.msgParse("registrationOther.title"))))),cm.node("section",{classes:cm.merge(["tpl__section","tpl__section--signup-form"],t.params.section.classes)},a.nodes.formInner=cm.node("div",{classes:"inner"},a.nodes.holder=cm.node("div",{classes:"section__entry"})))),t.params.registrationOther.renderBackLink&&(a.nodes.buttonTop=t.renderBackLink(),cm.insertFirst(a.nodes.buttonTop,a.nodes.titleInner)),t.params.registrationOther.renderTabs&&(a.nodes.tabs=t.renderTabs("other"),cm.appendChild(a.nodes.tabs,a.nodes.titleHolder)),t.params.registrationOther.renderDescription&&(a.nodes.description=cm.node("div",{classes:"section__entry",innerHTML:t.msgParse("registrationOther.description",n)}),cm.insertLast(a.nodes.description,a.nodes.titleInner)),cm.getConstructor(t.params.registrationOther.constructor,e=>{t.components.registrationOther=new e(cm.merge(t.params.registrationOther.constructorParams,{data:n,container:a.nodes.holder,overlayParams:{container:a.nodes.container},events:{onSuccess:t.registrationOtherResponse.bind(t),onError:t.registrationOtherError.bind(t)}}))}),cm.appendChild(a.nodes.container,a.params.container),a},n.processRegistrationOtherData=function(e){return e.brand=this.params.brandData,e},n.registrationOtherResponse=function(e,t){this.verificationData=t||{},this.verificationType="other",this.verificationStatus="manual",this.setStage("pending"),this.triggerEvent("onPending",this.verificationData)},n.registrationOtherError=function(e,t){var n=this.processNotification(t,{labelMsg:"errors.error_registration"});this.verificationData=t||{},this.verificationData.message=n.labelStr,this.verificationType="other",this.verificationStatus="error",this.components.registrationOther.clearNotification().renderNotification(n),this.triggerEvent("onError",this.verificationData)},n.notifications={},n.notifications.email_uniqueness=function(e){e.modifiers.push("condensed"),e.label=cm.node("div",{classes:["com__notifications__message","com__notifications__message--signup"],innerHTML:e.label});var t=cm.getNodes(e.label);return this.renderNotificationActions(t),e},n.notifications.license_uniqueness=function(e){e.modifiers.push("condensed"),e.label=cm.node("div",{classes:["com__notifications__message","com__notifications__message--signup"],innerHTML:e.label});var t=cm.getNodes(e.label);return this.renderNotificationActions(t),e},n.processNotification=function(e,t){t=cm.merge({label:null,labelStr:null,labelMsg:null,type:"danger",modifiers:[]},t),e.messageDetails=App.validateBrandData(e.messageDetails),t.label=t.labelStr=cm.isEmpty(e?.message)?this.msgParse(t.labelMsg,e.messageDetails):cm.parseMessage(e.message,e.messageDetails);e=this.notifications[e.messageCode];return e?e.call(this,t):t},n.renderNotificationActions=function(e){let t=this;
1var n=["button-danger","is-inherit","is-inline","is-compact"],a=["medium","round","dangler-light"];Application.Buttons.render(cm.merge({classes:n,modifiers:a,container:e.signin,insertMethod:"replaceNode",label:t.msgParse("actions.signIn"),link:Router.getURL("signin"),callback:()=>t.components.userHelper.openLoginBox()},t.params.loginLink)),Application.Buttons.render(cm.merge({classes:n,modifiers:a,container:e.reset,insertMethod:"replaceNode",label:t.msgParse("actions.resetPassword"),link:Router.getURL("user.reset"),callback:()=>t.components.userHelper.openResetBox()},t.params.resetLink)),Application.Buttons.render(cm.merge({classes:n,modifiers:a,container:e.report,insertMethod:"replaceNode",label:t.msgParse("actions.report"),link:Router.getURL("contact"),callback:()=>t.components.userHelper.openReportBox()},t.params.reportLink))},n.isValidationEnabled=function(){var e=this.getVerificationData();return this.params.validation.enable&&"usa"===e.country&&!cm.isEmpty(this.statesData)&&cm.inArray(this.statesData["ocr-enabled"],e.state)},n.isVerificationManual=function(){var e=this.getVerificationData();return"usa"!==e.country||!cm.isEmpty(this.statesData)&&cm.inArray(this.statesData["manual-states"],e.state)},n.focus=function(){var e=this.components[this.currentStage]?.getField?.(this.params[this.currentStage]?.focusField);this.params.setFocus&&e&&e.controller.focus()},n.get=function(){return this.components[this.currentStage]?.get?.("sendPath")}}),cm.define("App.UserSignupEnthusiast",{extend:"App.UserSignup",params:{name:"enthusiast",introStage:"registration",statesRequest:{enable:!1},verification:{enable:!1},registration:{renderBackLink:!0,renderSkipLink:!1,renderDescription:!0,focusField:"firstname",constructor:"Form.RegisterEnthusiast",constructorParams:{}},registrationTicket:{enable:!1}}},function(){App.UserSignup.apply(this,arguments)}),cm.define("App.UserSignupIndividual",{extend:"App.UserSignup",params:{name:"individual",verification:{focusField:"first_name",constructor:"Form.LicenseCheckIndividual",constructorParams:{}},registration:{constructor:"Form.RegisterIndividual",constructorParams:{}},registrationOther:{focusField:"first_name",constructorParams:{renderTabs:!1,activeTab:"individual",renderCountryField:!1,defaultCountry:"usa"}}}},function(){App.UserSignup.apply(this,arguments)}),cm.define("App.UserSignupIndividualAustralia",{extend:"App.UserSignup",params:{name:"individual-australia",introStage:"registrationOther",statesRequest:{enable:!1},verification:{enable:!1},registrationOther:{focusField:"first_name",renderTabs:!1,constructor:"Form.RegisterAustralia",constructorParams:{activeTab:"individual"}},registrationTicket:{enable:!1}}},function(){App.UserSignup.apply(this,arguments)}),cm.define("App.UserSignupIndividualInternational",{extend:"App.UserSignup",params:{name:"individual-international",introStage:"registrationOther",statesRequest:{enable:!1},verification:{enable:!1},registrationOther:{focusField:"first_name",renderTabs:!1,renderDescription:!1,constructor:"Form.RegisterOther",constructorParams:{renderTabs:!1,activeTab:"individual"}},registrationTicket:{enable:!1}}},function(){App.UserSignup.apply(this,arguments)}),cm.define("App.UserSignupOther",{extend:"App.UserSignup",params:{name:"other",introStage:"registrationOther",statesRequest:{enable:!1},verification:{enable:!1},registrationOther:{focusField:"first_name",renderTabs:!1,constructor:"Form.RegisterOther",constructorParams:{}},registrationTicket:{enable:!1}}},function(){App.UserSignup.apply(this,arguments)}),cm.define("App.UserSignupSalon",{extend:"App.UserSignup",params:{name:"salon",verification:{focusField:"business_name",constructor:"Form.LicenseCheckSalon",constructorParams:{}},registration:{constructor:"Form.RegisterSalon",constructorParams:{}},registrationOther:{focusField:"business_name",constructorParams:{renderTabs:!1,activeTab:"salon",renderCountryField:!1,defaultCountry:"usa"}}}},function(){App.UserSignup.apply(this,arguments)}),cm.define("App.UserSignupSalonAustralia",{extend:"App.UserSignup",params:{name:"salon-australia",introStage:"registrationOther",statesRequest:{enable:!1},verification:{enable:!1},registrationOther:{focusField:"business_name",renderTabs:!1,constructor:"Form.RegisterAustralia",constructorParams:{activeTab:"salon"}},registrationTicket:{enable:!1}}},function(){App.UserSignup.apply(this,arguments)}),cm.define("App.UserSignupSalonInternational",{extend:"App.UserSignup",params:{name:"salon-international",introStage:"registrationOther",statesRequest:{enable:!1},verification:{enable:!1},registrationOther:{focusField:"business_name",renderTabs:!1,renderDescription:!1,constructor:"Form.RegisterOther",constructorParams:{renderTabs:!1,activeTab:"salon"}},registrationTicket:{enable:!1}}},function(){App.UserSignup.apply(this,arguments)}),cm.define("App.UserSignupStudent",{extend:"App.UserSignup",params:{name:"student",verification:{focusField:"first_name",renderTabs:!1,renderDescription:!1,constructor:"Form.RegisterStudentContents",constructorParams:{}},registration:{constructor:"Form.RegisterStudentContinue",constructorParams:{}}
1,validation:{renderSkipLink:!1,constructor:"Form.RegisterStudent",constructorParams:{}}}},function(){App.UserSignup.apply(this,arguments)}),cm.getConstructor("App.UserSignupStudent",function(e,t,n,a){n.verificationManual=function(e,t){this.registrationOtherResponse.apply(this,arguments)},n.validationResponse=function(e,t){this.registrationOtherResponse.apply(this,arguments)},n.validationError=function(e,t){this.registrationOtherError.apply(this,arguments)},n.isVerificationManual=function(){return"registration"===this.components.verification.getFormVariant()},n.isValidationEnabled=function(){return!0}}),cm.define("App.ActionsMenu",{extend:"Com.Menu",params:{renderStructure:!0,embedStructureOnRender:!0,modifiers:["actions"],icon:{icon:"menuDots-vertical",classes:["large","inset-small"],modifiers:["action"],ariaHidden:!0},tooltip:{constructorParams:{animate:"drop-bottom-left",top:cm._config.tooltipDown,left:0}}}},function(){Com.Menu.apply(this,arguments)}),cm.getConstructor("App.ActionsMenu",function(e,t,n,a){n.renderIconView=function(){return Application.Images.embedIcon(this.params.icon)}}),cm.define("App.AnimationBlock",{extend:"Com.AbstractController",params:{controllerEvents:!0,renderStructure:!1,embedStructureOnRender:!1,autoStart:!0,autoStartDelay:cm._config.loadDelay,observer:!0,observerDelay:0,observerDelayAdaptive:null,threshold:.35,animations:{},animationsAdaptive:{},delay:"0ms",delayAdaptive:null,duration:cm._config.lazyDelay+"ms",easing:cm._config.motionAsymmetric,observe:"container"}},function(){Com.AbstractController.apply(this,arguments)}),cm.getConstructor("App.AnimationBlock",function(e,t,n,a){n.onConstruct=function(){let a=this;a.hasPlayed=!1,a.hasDelayed=!1,a.hasObserverDelayed=!1,a.hasPlayDelayed=!1,a.animations={opacity:{property:"opacity"},"slide-top":{property:"transform"},"slide-right":{property:"transform"},"slide-bottom":{property:"transform"},"slide-bottom-10":{property:"transform"},"slide-left":{property:"transform"},expand:{property:"transform"},"expand-full":{property:"transform"},"rotate-cw-90-0":{property:"rotate"},"rotate-ccw-90-0":{property:"rotate"},"support-cards":{property:"transform"},"dashboard-cards":{property:"transform"},"text-wave":{property:null,onProcess:(e,t)=>{cm.forEach(t,function(n){var e=n.innerText;let a=e.length;cm.clearNode(n),cm.forEach(e,function(e,t){e=cm.node("span",{classes:"character"},e);cm.setCSSTranslate(e,0,100/a*t+"%"),cm.appendChild(e,n)})})}},"text-writing":{property:null,onProcess:(e,t)=>{let n=[];cm.forEach(t,function(e){a.textWritingPrepare(e,n)})}}}},n.onValidateParams=function(){var e=this;e.isAdaptive=cm._pageSize.winWidth<=cm._breakpoints.tabletDown,cm.isEmpty(e.params.observerDelayAdaptive)||(e.params.observerDelay=e.isAdaptive?e.params.observerDelayAdaptive:e.params.observerDelay),cm.isEmpty(e.params.animationsAdaptive)||(e.params.animations=e.isAdaptive?e.params.animationsAdaptive:e.params.animations)},n.onDestruct=function(){this.autoStartDelay&&clearTimeout(this.autoStartDelay),this.observerDelay&&clearTimeout(this.observerDelay),this.observer&&this.observer.disconnect()},n.renderViewModel=function(){a.prototype.renderViewModel.apply(this,arguments),this.observer=new IntersectionObserver(this.processObserverEntries.bind(this),{root:null,rootMargin:"0px",threshold:this.params.threshold}),this.process(),this.params.autoStart&&this.start()},n.processObserverEntries=function(e){let t=this;cm.forEach(e,e=>{t.hasPlayed||(t.observerDelay&&clearTimeout(t.observerDelay),e.isIntersecting&&(t.hasObserverDelayed?t.playHelper():(t.hasObserverDelayed=!0,t.observerDelay=setTimeout(()=>t.playHelper(),t.params.observerDelay))))})},n.getAnimation=function(e,t){if(this.animations[e])return(t=cm.merge(this.animations[e],t)).name=e,t.duration=t.duration||this.params.duration,t.easing=t.easing||this.params.easing,cm.isEmpty(t.delay)&&(t.delay=!cm.isEmpty(this.params.delayAdaptive)&&this.isAdaptive?this.params.delayAdaptive:this.params.delay),t.cssClass=["animation",t.name].join("--"),t.transition=[t.property,t.duration,t.delay,t.easing].join(" "),t},n.process=function(){let n=this,a=(cm.addClass(n.nodes.container,"animation-block"),cm.isEmpty(n.nodes.target)&&(n.nodes.target=[n.nodes.container]),cm.isNode(n.nodes.target)&&(n.nodes.target=[n.nodes.target]),["animation","animation-pending"]),s=[],o=[];cm.forEach(n.params.animations,(e,t)=>{t=cm.isObject(e)?n.getAnimation(t,e):n.getAnimation(e);t&&(a.push(t.cssClass),t.property&&(s.push(t.transition),o.push(t.property)),cm.isFunction(t.onProcess))&&t.onProcess(t,n.nodes.target)}),cm.forEach(n.nodes.target,e=>{cm.addClass(e,a),cm.addStyles(e,{transition:s.join(","),willChange:o.join(",")})}),n.params.observer&&n.observer.observe("parent"===n.params.observe?n.nodes.container.parentNode:n.nodes.container)},n.start=function(){let e=this;e.autoStartDelay=setTimeout(()=>{e.hasDelayed=!0,e.hasPlayDelayed&&e.play()},e.params.autoStartDelay)},n.playHelper=function(){this.hasPlayed=!0,this.hasDelayed?this.play():this.hasPlayDelayed=!0},n.play=function(){cm.forEach(this.nodes.target,function(e){cm.removeClass(e,"animation-pending"),cm.onSchedule(()=>cm.addClass(e,"animation-play"))})},n.textWritingPrepare=function(e,t){let n=this;
1if(e.nodeType===Node.TEXT_NODE){var a=e.nodeValue;if(a.trim()){var s,o=document.createDocumentFragment();for(s of a){var r=cm.node("span",{classes:"character",innerText:s,style:{transitionDelay:.05*t.length+"s"}});o.appendChild(r),t.push(r)}e.replaceWith(o)}}else e.nodeType===Node.ELEMENT_NODE&&Array.from(e.childNodes).forEach(e=>n.textWritingPrepare(e,t))}}),cm.getConstructor("App.Application",function(e,t,n){n.Blog={},n.Blog.getAudience=function(e){var t={website:Application.User.getRoles(),enthusiast:Application.User.getRoles(),nonBeauticianAll:["unauthorized","consumer","brand","linked_user","dataset_user"],nonBeautician:["consumer","brand","linked_user","dataset_user"],beautician:["tech","salon","student","admin"]};return e?t[e]||[]:t},n.Blog.checkAudienceAccess=function(e){let t=Application.Blog.getAudience(),n=Application.User.getRole(),a=e=>t[e]&&("admin"===n||Application.User.checkRoleAccess(t[e]));return!cm.isUndefined(e)&&(cm.isArray(e)?e.some(e=>a(e)):a(e))},n.getPostURL=function(e,t,n){return e=cm.isEmpty(t)?e:t,Router.getURL("blog.post",null,{id:e},{data:n})},n.getPostCategoryURL=function(e,t,n){return e=cm.isEmpty(t)?e:t,Router.getURL("blog.category",null,{id:e},{data:n})},n.getPostDate=function(e,t,n){n=cm.isUndefined(n)?this.msg("blog.post.date"):n;e=cm.parseFormatDate(e,cm._config.dateTimeFormat,t);return!e||cm.isEmpty(e)||!n||cm.isEmpty(n)?e:cm.fillVariables(n,{date:e})},n.getPostAbstract=function(e,t,n){return cm.isEmpty(e)?cm.isEmpty(t)?void 0:cm.reduceTextSmart(cm.decode(cm.cutHTML(t)).trim(),n,!0):e},n.getPostAuthor=function(e,t){if(t=cm.isUndefined(t)?this.msg("blog.post.author"):t,!cm.isEmpty(e)&&!cm.isEmpty(e.profile))return e=[e.profile.firstname,e.profile.lastname].join(" "),!t||cm.isEmpty(t)?e:cm.fillVariables(t,{name:e})},n.getPostImagePath=function(e,t){if(!cm.isEmpty(e))return t=cm.isUndefined(t)?App._config.blog.postImageWidth:t,Application.Images.getSrc(e,{maxwidth:t})},n.getCategoryImagePath=function(e,t){return t=cm.isUndefined(t)?App._config.blog.categoryImageWidth:t,Application.Images.getSrc(e,{maxwidth:t})},n.getBlogHeaderImagePath=function(e,t,n,a){return cm.isEmpty(e)||cm.isEmpty(e.image)?cm.isEmpty(t)||cm.isEmpty(t.image)?a:Application.getPostImagePath(t.image,n):Application.getCategoryImagePath(e.image,n)},n.renderPostCategory=function(e,t){var n,a=cm.node("li",{classes:"category"});return t.renderInnerLinks?(n=cm.node("a",{classes:"label",href:Application.getPostCategoryURL(e.id,e.shortname)}
1,e.title),cm.isEmpty(t.target)||(n.target=t.target),cm.appendChild(n,a)):(t=cm.node("span",{classes:"label"}),cm.isNode(e.title)?cm.appendChild(e.title,t):t.innerHTML=e.title,cm.appendChild(t,a)),a},n.renderPostCard=function(t,n){var e,a={};return t=cm.merge({crop:"cover"},t),(n=cm.merge({container:cm.node("div"),insertMethod:"appendChild",renderSkeleton:!1,tagName:"article",modifiers:["adaptive"],classes:[],renderLink:!0,renderInnerLinks:!0,target:null,infoClasses:["is-uppercase"],infoSize:["h8"],showCategories:!0,showAuthor:!1,showDate:!1,showBadge:!0,dateFormat:App._config.formats.dateShortS,titleTagName:"h4",titleClasses:[],titleSize:["h4","h7-sm"],titleCount:cm.rand(1,2),titleLength:cm.rand(48,64),showImage:!0,imageLazy:!0,imagePriority:!1,blurredWidth:App._config.blog.postBlurredImageWidth,noimagePath:App.getPath("blog.img","noimage.svg"),showAbstract:!1,abstractCount:0,abstractLength:App._config.blog.postAbstractLength,ariaHidden:null},n)).renderSkeleton&&(n.ariaHidden="true",n.renderLink=!1,n.renderInnerLinks=!1),n.renderLink&&(n.renderInnerLinks=!1),t._tag=n.renderLink?"a":"div",t._url=Application.getPostURL(t.id,t.shortname,t),t._date=Application.getPostDate(t.date,n.dateFormat,!1),t._dateLong=Application.getPostDate(t.date,App._config.formats.date,!1),t._author=Application.getPostAuthor(t.author),t._abstract=Application.getPostAbstract(t.abstract,t.content,n.abstractLength),t._imagePath=Application.getPostImagePath(t.image,n.imageWidth),t._blurredPath=Application.Images.getSrcBlurred(t.image),t._classes=cm.merge(["blog-list__post"],n.classes),cm.isString(n.modifiers)&&(n.modifiers=[n.modifiers]),cm.forEach(n.modifiers,e=>{t._classes.push("blog-list__post--"+e)}),t._titleClasses=cm.merge(["post__title"],n.titleClasses),cm.isString(n.titleSize)&&(n.titleSize=[n.titleSize]),cm.forEach(n.titleSize,e=>{t._titleClasses.push(e)}),t._infoClasses=cm.merge(["post__info"],n.infoClasses),cm.isString(n.infoSize)&&(n.infoSize=[n.infoSize]),cm.forEach(n.infoSize,e=>{t._infoClasses.push(e)}),a.container=cm.node(n.tagName,a.inner=cm.node(t._tag,{classes:"inner"},a.content=cm.node("div",{classes:"post__content"},a.title=cm.node(n.titleTagName,{classes:t._titleClasses}),a.info=cm.node("div",{classes:t._infoClasses},a.infoHolder=cm.node("ul"))))),cm.isEmpty(n.ariaHidden)||a.container.setAttribute("aria-hidden",n.ariaHidden),n.renderSkeleton?Application.renderTextSkeleton({count:n.titleCount,length:n.titleLength,container:a.title}):a.title.innerHTML=t.title,n.renderLink&&!cm.isEmpty(t._url)&&(t._classes.push("is-linked"),a.inner.href=t._url,cm.isEmpty(n.target)||(a.inner.target=n.target)),n.showImage&&(a.image=cm.node("div",{classes:"post__image"}),Application.Images.render({container:a.image,classes:["is-blurred","is-cover"],image:t._blurredPath,blank:n.noimagePath,alt:this.msg("blog.post.blurred"),lazy:!1,ariaHidden:!0,imageDataset:{pinNopin:"true"},renderSkeleton:n.renderSkeleton}),Application.Images.render({container:a.image,classes:["is-main","contain"===t.crop?"is-contain":"is-cover"],image:t._imagePath,blank:n.noimagePath,alt:this.msg("blog.post.image"),lazy:n.imageLazy,imageAttr:{fetchpriority:n.imagePriority},renderSkeleton:n.renderSkeleton}),cm.appendChild(a.image,a.inner)),n.showCategories&&(a.categories=[],n.renderSkeleton?(e={title:Application.embedTextSkeleton({length:cm.rand(8,20)})},e=Application.renderPostCategory(e,n),cm.appendChild(e,a.infoHolder),a.categories.push(e)):cm.isEmpty(t.category)||cm.forEach(t.category,e=>{e=Application.renderPostCategory(e,n);cm.appendChild(e,a.infoHolder),a.categories.push(e)})),n.showAuthor&&!cm.isEmpty(t._author)&&(a.author=cm.node("li",{classes:"author"},t._author),cm.appendChild(a.author,a.infoHolder)),n.showDate&&!cm.isEmpty(t._date)&&(a.date=cm.node("li",{classes:"date",title:t._dateLong},t._date),cm.appendChild(a.date,a.infoHolder)),n.showBadge&&(cm.inArray(t.audience,"beautician")&&(a.badge=cm.node("li",{classes:"badge"},Application.User.embedBadge({tagName:"span",label:Application.msg("pro.label"),title:Application.msg("pro.title")})),cm.appendChild(a.badge,a.infoHolder)),"inactive"===t.status)&&"admin"===Application.User.getRole()&&(a.status=cm.node("li",{classes:"status"},Application.User.embedBadge({tagName:"span",disabled:!0,label:Application.msg("blog.post.inactive.label"),title:Application.msg("blog.post.inactive.title")})),cm.appendChild(a.status,a.infoHolder)),a.infoHolder.hasChildNodes()||cm.addClass(a.info,"is-hidden"),n.showAbstract&&(a.abstract=cm.node("p",{classes:"post__abstract",innerHTML:t._abstract}),n.renderSkeleton?(Application.renderTextSkeleton({count:n.abstractCount,length:cm.rand(Math.max(40,n.abstractLength-40),n.abstractLength),container:a.abstract}),cm.appendChild(a.abstract,a.content)):cm.isEmpty(t._abstract)||(a.abstract.innerHTML=t._abstract,cm.appendChild(a.abstract,a.content))),cm.addClass(a.container,t._classes),cm[n.insertMethod](a.container,n.container),a}}),cm.getConstructor("App.Application",function(e,t,n,a){n.getBlogCategoriesConfig=function(){var e=[];return e.push({title:"Real Talk",items:[{title:"All",shortname:"real-talk"},{title:"Beauty",shortname:"beauty"},{title:"Hair",shortname:"hair"},{title:"Make Up",shortname:"make-up"},{title:"Nails",shortname:"nails"},{title:"Skin",shortname:"skin"}]}),e.push({title:"Industry",items:[{title:"All",shortname:"industry"},{title:"Sustainable Beauty Hub",shortname:"sustainable-beauty-hub"},{title:"News",shortname:"news"},{title:"Products",shortname:"products"}]}),e.push({title:"Safe Chair",items:[{title:"All",shortname:"safe-chair"},{title:"Handling Tough Client Moments",shortname:"handling-tough-client-moments"},{title:"Protecting Your Mental Energy",shortname:"protecting-your-mental-energy"},{title:"Real Talk: Boundaries at Work",shortname:"real-talk-boundaries-at-work"}]}),e.push({title:"Business",items:[{title:"All",shortname:"business"},{title:"Advice",shortname:"advice"},{title:"Fine-Free Zone",shortname:"fine-free-zone"},{title:"Downloads",shortname:"downloads"},{title:"How To",shortname:"how-to"},{title:"Marketing",shortname:"marketing"}]}),e.push({title:"Barber Section",items:[{title:"All",shortname:"barber-section"}
1,{title:"Respect in the Chair",shortname:"respect-in-the-chair"},{title:"Barbershop Talk 101",shortname:"barbershop-talk-101"},{title:"Protecting Your Time",shortname:"protecting-your-time"},{title:"Feedback Without the Drama",shortname:"feedback-without-the-drama"},{title:"When Clients Bring Their Problems",shortname:"when-clients-bring-their-problems"},{title:"The Real Math on Your Chair",shortname:"the-real-math-on-your-chair"},{title:"Running the Shop",shortname:"running-the-shop"},{title:"Scripts, Templates, Checklists",shortname:"scripts-templates-checklists"}]}),e}}),cm.define("App.BlogFeatured",{extend:"Com.AbstractController",events:["onRenderSkeleton","onSuccess","onError","onComplete"],params:{controllerEvents:!0,renderStructure:!0,embedStructureOnRender:!0,embedStructure:"append",data:[],category:null,limit:App._config.blog.featuredPostPerSection,limitPosts:!0,imagePriority:!1,renderError:!1,requestData:{},ajax:{url:App._api.blog_posts.list,type:"json",method:"GET",uriConfig:{multipleValues:"keys"},params:{limit:"{limit}",order:"-date",filter:{featured:"true"}}},request:{enable:!0,constructor:"App.Request",constructorParams:{showLoader:!1,autoSend:!0,responseKey:null}}}},function(){Com.AbstractController.apply(this,arguments)}),cm.getConstructor("App.BlogFeatured",function(e,t,n,a){n.onConstructStart=function(){this.views={},this.posts=[],this.skeletonPosts=[]},n.onValidateParamsStart=function(){cm.isEmpty(this.params.category)||(this.params.requestData.id=this.params.category),this.params.requestData.limit=this.params.limit,this.params.request.constructorParams.ajax=cm.merge(this.params.request.constructorParams.ajax,this.params.ajax)},n.renderView=function(){this.nodes.container=cm.node("div",{classes:["blog-list__row","blog-list__row--featured"],"aria-busy":"true"},this.nodes.featured=cm.node("div",{classes:"blog-list__featured"}),this.nodes.list=cm.node("div",{classes:["blog-list__items","blog-list__items--featured"]}))},n.renderViewModel=function(){let n=this;a.prototype.renderViewModel.apply(n,arguments),n.params.renderSkeleton?n.renderSkeleton():n.params.request.enable?(n.renderSkeleton(),cm.getConstructor(n.params.request.constructor,e=>{n.components.request=new e(cm.merge(n.params.request.constructorParams,{data:n.params.requestData,overlayParams:{container:n.nodes.container},events:{onSuccess:(e,t)=>n.renderPosts(t.data),onError:()=>n.renderError()}}))})):n.renderPosts(n.params.data)},n.renderSkeleton=function(){let t=this;cm.forEach(t.params.limit,e=>t.renderPostItem(e,e,t.skeletonPosts)),t.triggerEvent("onRenderSkeleton")},n.clearPosts=function(){cm.clearNode(this.nodes.featured),cm.clearNode(this.nodes.list)},n.finalizePosts=function(){this.nodes.container.setAttribute("aria-busy","false")},n.renderPosts=function(e){let n=this;n.params.limitPosts&&(e=e.slice(0,n.params.limit)),n.clearPosts(),cm.forEach(e,(e,t)=>n.renderPostItem(e,t,n.posts)),n.finalizePosts(),n.triggerEvent("onSuccess",e),n.triggerEvent("onComplete",e)},n.renderPostItem=function(e,t,n){e=this.renderPostView(e,t,{container:0===t?this.nodes.featured:this.nodes.list,style:0===t?"featured":"adaptive"});n.push(e)},n.renderPostView=function(e,t,n){t={data:e,index:t,nodes:{},params:cm.merge({container:cm.node("div"),renderSkeleton:!1,classes:[],modifiers:[],style:"featured",titleCount:0===t?cm.rand(1,2):2},n)};return t.params.modifiers=[...t.params.modifiers,t.params.style],t.params.renderSkeleton=!cm.isObject(e)||t.params.renderSkeleton,"featured"===t.params.style&&(t.params.showAbstract=!0,t.params.titleSize=["h2"],t.params.imageWidth=App._config.blog.postFeaturedImageWidth),this.params.imagePriority&&(t.params.imageLazy=!1,t.params.imagePriority="high"),t.nodes=Application.renderPostCard(t.data,t.params),t},n.renderError=function(){this.params.renderError&&(this.clearPosts(),this.nodes.empty=cm.node("div",{classes:["cm__empty","h6"],innerHTML:this.msgParse("server_error")}),cm.appendChild(this.nodes.empty,this.nodes.featured),this.finalizePosts()),this.triggerEvent("onError"),this.triggerEvent("onComplete")}}),cm.define("App.Blog",{extend:"Com.AbstractController",events:["onSuccess","onError","onComplete","onPostsSuccess","onPostsError","onPostsComplete"],params:{controllerEvents:!0,renderStructure:!1,embedStructureOnRender:!1,embedStructure:"append",render
1Skeleton:!0,renderFeatured:!0,renderEmpty:!0,renderCategories:!0,category:null,showByFilter:null,showByFeatured:null,requestData:{},request:{constructor:"App.Request",constructorParams:{showLoader:!1,autoSend:!0,responseKey:null,ajax:{url:App._api.blog_categories.read,type:"json",method:"GET",uriConfig:{multipleValues:"keys"},variables:{},params:{limit:App._config.blog.featuredPostPerSection+4,order:"-date",filter:{}}}}},blogFeatured:{constructor:"App.BlogFeatured",constructorParams:{imagePriority:!0}},blogPosts:{constructor:"App.BlogPosts",constructorParams:{categories:{render:!0},pagination:{enable:!0}}}}},function(){Com.AbstractController.apply(this,arguments)}),cm.getConstructor("App.Blog",function(e,t,n,a){n.onConstructStart=function(){this.views={},this.data={},this.posts=[],this.hasFeatured=!1},n.onValidateParams=function(){cm.isEmpty(this.params.category)||(this.params.requestData.id=this.params.category),cm.isEmpty(this.params.showByFeatured)||(this.params.request.constructorParams.ajax.params.filter.featured=this.params.showByFeatured?"true":"false"),this.params.blogPosts.constructorParams.categories.render=this.params.renderCategories},n.onDestructEnd=function(){cm.forEach(this.components,e=>e.destruct())},n.renderViewModel=function(){let t=this;a.prototype.renderViewModel.apply(t,arguments),t.params.renderSkeleton&&t.params.renderFeatured&&t.renderSkeleton(),cm.getConstructor(t.params.request.constructor,e=>{t.components.request=new e(cm.merge(t.params.request.constructorParams,{data:t.params.requestData,events:{onSuccess:t.renderList.bind(t),onError:t.renderError.bind(t)},overlayParams:{container:t.params.container,position:"fixed"}}))})},n.renderSkeleton=function(){this.views.titleSkeleton=this.renderTitleView(void 0,{container:this.params.container,renderSkeleton:!0}),this.views.featuredSkeleton=this.renderFeaturedView(void 0,{container:this.params.container,renderSkeleton:!0})},n.removeSkeleton=function(){cm.remove(this.views.titleSkeleton?.nodes.container),cm.remove(this.views.featuredSkeleton?.nodes.container)},n.renderList=function(e,t){let n=this;n.data=t.data,n.posts=n.data.posts.filter(e=>n.filterPost(e)),n.removeSkeleton(),n.views.title=n.renderTitleView(n.data,{container:n.params.container}),n.params.renderFeatured&&n.posts.length>=App._config.blog.featuredPostPerSection+3&&(n.hasFeatured=!0,t=n.posts.splice(0,App._config.blog.featuredPostPerSection),n.views.featured=n.renderFeaturedView(t,{container:n.params.container}),n.views.separator=n.renderSeparatorView({container:n.params.container})),(n.params.renderEmpty||0<n.posts.length)&&(n.views.list=n.renderListView({container:n.params.container,startOffset:n.hasFeatured?App._config.blog.featuredPostPerSection:0})),n.triggerEvent("onSuccess",n.data),n.triggerEvent("onComplete",n.data)},n.filterPost=function(e){let t=this,n=null;return cm.forEach(e.category,e=>{cm.isBoolean(n)||(n=cm.isEmpty(t.params.showByFilter)||t.params.showByFilter===e.showinfilter)}),!cm.isBoolean(n)||n},n.renderFeaturedView=function(e,t){let n=this,a={nodes:{},data:e,params:cm.merge({container:cm.node("div"),renderSkeleton:!1},t)};return a.nodes.container=cm.node("section",{classes:["tpl__section","tpl__section--blog-featured","is-box","has-padding-large-bottom-adaptive","has-indent-none"]},a.nodes.inner=cm.node("div",{classes:"inner"},a.nodes.holder=cm.node("div",{classes:"section__content"}))),cm.getConstructor(n.params.blogFeatured.constructor,e=>{let t="blogFeatured";a.params.renderSkeleton&&(t+="Skeleton"),n.components[t]=new e(cm.merge(n.params.blogFeatured.constructorParams,{container:a.nodes.holder,renderSkeleton:a.params.renderSkeleton,category:n.params.category,data:a.data,request:{enable:!1}}))}),cm.appendChild(a.nodes.container,a.params.container),a},n.renderListView=function(e){let t=this,n={nodes:{},params:cm.merge({container:cm.node("div"),startOffset:0},e)};return n.nodes.container=cm.node("section",{classes:["tpl__section","tpl__section--blog-categories","is-box","has-padding-large-adaptive","has-indent-none"]},n.nodes.inner=cm.node("div",{classes:"inner"},n.nodes.holder=cm.node("div",{classes:"section__content"}))),cm.getConstructor(t.params.blogPosts.constructor,e=>{t.components.blogPosts=new e(cm.merge(t.params.blogPosts.constructorParams,{category:t.params.category,container:n.nodes.holder,startOffset:n.params.startOffset,events:{onSuccess:()=>t.triggerEvent("onPostsSuccess"),onError:()=>t.triggerEvent("onPostsError"),onComplete:()=>t.triggerEvent("onPostsComplete")}}))}),cm.appendChild(n.nodes.container,n.params.container),n},n.renderTitleView=function(e,t){e={nodes:{},data:e,params:cm.merge({container:cm.node("div"),renderSkeleton:!1},t)};
1return e.nodes.container=cm.node("section",{classes:["tpl__section","tpl__section--blog-title","is-box","has-padding-adaptive","has-indent-none"]},cm.node("div",{classes:"inner"},cm.node("div",{classes:"section__title"},e.nodes.title=cm.node("h1")))),e.params.renderSkeleton?Application.renderTextSkeleton({container:e.nodes.title,length:cm.rand(8,20)}):e.nodes.title.innerText=e.data.title,cm.appendChild(e.nodes.container,e.params.container),e},n.renderSeparatorView=function(e){e={nodes:{},params:cm.merge({container:cm.node("div")},e)};return e.nodes.container=cm.node("div",{classes:["tpl__section","tpl__section--blog-separator","is-box","has-indent-none"],"aria-hidden":"true"},cm.node("div",{classes:"inner"},cm.node("hr",{classes:"section__divider"}))),cm.appendChild(e.nodes.container,e.params.container),e},n.renderError=function(){this.triggerEvent("onError"),this.triggerEvent("onComplete")}}),cm.define("App.BlogPost",{extend:"Com.AbstractController",events:["onSuccess","onError","onErrorAccess"],params:{controllerEvents:!0,renderStructure:!0,embedStructureOnRender:!0,embedStructure:"append",imagePath:null,data:null,request:{},requestConstructor:"App.Request",requestParams:{showLoader:!0,autoSend:!1,responseKey:null,responseErrorsKey:"message",ajax:{url:App._api.blog_posts.read,type:"json",method:"GET"}}}},function(){Com.AbstractController.apply(this,arguments)}),cm.getConstructor("App.BlogPost",function(e,t,n,a){n.onConstructStart=function(){this.data=null},n.onValidateParams=function(){this.params.requestParams.name=this.params.name,this.params.requestParams.data=cm.merge(this.params.data,this.params.requestParams.data)},n.onGetLESSVariables=function(){this.params.imagePath||(this.params.imagePath=cm.getLESSVariable("AppBlog-PathJSImages",this.params.imagePath))},n.renderView=function(){this.triggerEvent("onRenderViewStart"),this.nodes.container=cm.node("div",{classes:"app__blog-post"}),this.triggerEvent("onRenderViewProcess"),this.triggerEvent("onRenderViewEnd")},n.renderViewModel=function(){let t=this;a.prototype.renderViewModel.apply(t,arguments),cm.getConstructor(t.params.requestConstructor,function(e){t.components.request=new e(cm.merge(t.params.requestParams,{data:t.params.request,overlayParams:{container:t.nodes.container},events:{onSuccess:t.renderResponse.bind(t),onError:t.renderError.bind(t)}}))})},n.renderResponse=function(e,t){this.renderData(t.data)},n.renderError=function(e,t){this.data=t.response,this.triggerEvent("onError",this.data)},n.renderData=function(e){this.data=e,Application.Blog.checkAudienceAccess(this.data.audience)?this.triggerEvent("onSuccess",this.data):this.triggerEvent("onErrorAccess",this.data)},n.renderEntry=function(e){var t={},n=(t.container=cm.node("div",{classes:"app__blog-post"}),t.post=Application.renderPostCard(this.data,{tagName:"div",modifiers:"post",container:t.container,renderLink:!1,titleTagName:"h1",titleSize:"h1",showImage:"yes"===this.data.showImageOnPost,imageWidth:App._config.blog.postFeaturedImageWidth,imageLazy:!1,imagePriority:"high"}),t.entry=cm.node("div",{classes:"app__blog-post__entry",innerHTML:Application.Blog.checkAudienceAccess(this.data.audience)?this.data.content:this.data.abstract}),cm.appendChild(t.entry,t.container),t.entry.querySelectorAll("img"));cm.forEach(n,e=>{e.setAttribute("loading","lazy")}),this.nodes.entry=t,cm.appendChild(t.container,e)},n.request=function(){cm.isEmpty(this.params.data)||Application.Blog.checkAudienceAccess("beautician")&&cm.isEmpty(this.params.data.content)?this.components.request&&this.components.request.send():this.renderData(this.params.data)}}),cm.define("App.BlogPosts",{extend:"Com.AbstractController",events:["onSuccess","onError","onEmpty","onComplete"],params:{controllerEvents:!0,renderStructure:!0,embedStructureOnRender:!0,embedStructure:"append",scrollEvent:!0,redrawOnRender:"frame",access:!0,renderAccessBox:!0,category:null,data:[],startOffset:0,categories:{render:!0},posts:{limit:!1,filter:!1,showFeatured:!0,showAbstract:"featured",showViewMore:!1},ajax:{type:"json",method:"GET",url:App._api.blog_categories.read,uriConfig:{multipleValues:"keys",
1skipEmpty:!0},variables:{},params:{}},request:{enable:!0,constructor:"App.Request",constructorParams:{showLoader:!0,autoSend:!0,responseKey:"posts",data:{},ajax:{params:{limit:App._config.blog.categoryPostsPerSection+App._config.blog.featuredPostPerSection,order:"-date"}}}},pagination:{enable:!1,constructor:"Com.ScrollPagination",constructorParams:{renderStructure:!0,embedStructureOnRender:!0,embedStructure:"append",className:["com__scroll-pagination--blog"],perPage:App._config.blog.categoryPostsPerPage,responseKey:"posts",responseCountKey:"countPosts",ajax:{params:{limit:"%limit%",skip:"%offset%",order:"-date"}}}}}},function(){Com.AbstractController.apply(this,arguments)}),cm.getConstructor("App.BlogPosts",function(e,t,n,a){n.onConstructStart=function(){this.views={},this.posts=[],this.data=[],this.hasAccess=!0,this.isRequsted=!1},n.onValidateParams=function(){var e=this;e.params.category&&(e.params.ajax.variables.id=e.params.category),e.params.request.enable&&(e.params.request.constructorParams.ajax=cm.merge(e.params.ajax,e.params.request.constructorParams.ajax)),e.params.pagination.enable&&(e.params.request.enable=!1,e.params.pagination.constructorParams.ajax=cm.merge(e.params.ajax,e.params.pagination.constructorParams.ajax),e.params.startOffset)&&(e.params.pagination.constructorParams.startOffset=e.params.startOffset),e.hasAccess=cm.isBoolean(e.params.access)?e.params.access:!!cm.isString(e.params.access)&&Application.Blog.checkAudienceAccess(e.params.access),e.hasAccess||(e.params.posts.showViewMore=!1,e.params.request.enable=!1,e.params.pagination.enable=!1)},n.renderView=function(){var e=this;e.nodes.container=cm.node("div",{classes:["blog-list__row","blog-list__row--navigation"]},e.nodes.posts=cm.node("div",{classes:"blog-list__column"})),e.params.posts.showViewMore&&(e.nodes.buttons=cm.node("div",{classes:"blog-list__buttons"},Application.Buttons.embed({label:e.msg("button.label"),ariaLabel:e.msg("button.title"),icons:{after:"chevronRight"},link:Application.getPostCategoryURL(null,e.params.category),modifiers:["hero-border-black"]})),cm.appendChild(e.nodes.buttons,e.nodes.posts)),e.params.categories.render&&(e.nodes.categories=cm.node("aside",{classes:"blog-list__categories"},e.nodes.categoriesInner=cm.node("div",{classes:"blog-list__categories__inner"})),cm.insertFirst(e.nodes.categories,e.nodes.container),e.views.categories=e.renderCategoriesView({container:e.nodes.categoriesInner}),e.redrawCategoriesView())},n.renderViewModel=function(){let n=this;a.prototype.renderViewModel.apply(n,arguments),n.hasAccess?n.params.request.enable?cm.getConstructor(n.params.request.constructor,e=>{n.components.request=new e(cm.merge(n.params.request.constructorParams,{overlayParams:{container:n.nodes.posts,appendMode:"insertFirst"},events:{onSuccess:(e,t)=>n.renderSuccess(t.data,n.nodes.posts),onError:()=>n.renderError()}}))}):n.params.pagination.enable?cm.getConstructor(n.params.pagination.constructor,e=>{n.components.pagination=new e(cm.merge(n.params.pagination.constructorParams,{container:n.nodes.posts,events:{onPageRender:(e,t)=>n.renderSuccess(t.data,t.container),onError:()=>n.renderError(),onEmpty:()=>n.renderEmpty()}}))}):0<n.params.data.length?n.views.posts=n.renderPostsView(n.params.data,{container:n.nodes.posts}):n.views.empty=n.renderEmptyView({container:n.nodes.posts,message:n.msg("empty")}):n.params.renderAccessBox&&Application.renderAccessBox({audience:cm.isString(n.params.access)?n.params.access:"beautician",container:n.nodes.posts,messages:n.msgObject("accessBox")})},n.renderCategoriesView=function(e){let t=this,n={nodes:{},data:Application.getBlogCategoriesConfig(),params:cm.merge({container:cm.node("div")},e)};return n.nodes.container=cm.node("div",{classes:["blog-list__categories-list"]}),cm.forEach(n.data,e=>t.renderCategoryView(e,{container:n.nodes.container})),cm.appendChild(n.nodes.container,n.params.container),n},n.redrawCategoriesView=function(){App.scrollSidebarHelper(this,this.nodes.categories,this.nodes.categoriesInner)},n.renderCategoryView=function(e,t){let n=this,a={nodes:{},data:e,params:cm.merge({container:cm.node("div")},t)};return a.nodes.container=cm.node("dl",cm.node("dt",{classes:["h6","is-uppercase"]},a.data.title)),cm.forEach(a.data.items,e=>{var t=cm.node("dd",{classes:["h7-sm"]},cm.node("a",{href:Application.getPostCategoryURL(null,e.shortname)}
1,e.title));e.shortname===n.params.category&&cm.addClass(t,"active"),cm.appendChild(t,a.nodes.container)}),cm.appendChild(a.nodes.container,a.params.container),a},n.renderPostsView=function(e,t){let n=this,a={nodes:{},data:e,params:cm.merge({container:cm.node("div")},t)};return n.params.posts.filter&&(a.data=a.data.filter(e=>!cm.inArray(n.filterIds,e.id))),n.params.posts.limit&&(a.data=a.data.slice(0,App._config.blog.categoryPostsPerSection)),a.nodes.container=cm.node("div",{classes:["blog-list__items","blog-list__items--category"]}),cm.forEach(a.data,(e,t)=>n.renderPostItem(a,e,t,n.posts)),cm.insertFirst(a.nodes.container,a.params.container),a},n.renderPostItem=function(e,t,n,a){e&&(t=this.renderPostView(t,{container:e.nodes.container,style:this.params.posts.showFeatured&&0===n?"featured":"adaptive"}),a.push(t))},n.renderPostView=function(e,t){e={data:e,nodes:{},params:cm.merge({container:cm.node("div"),modifiers:[],style:"featured",showAbstract:this.params.posts.showAbstract},t)};return e.params.modifiers=[...e.params.modifiers,e.params.style],"featured"===e.params.style&&(e.params.titleSize=["h2"],e.params.imageWidth=App._config.blog.postFeaturedImageWidth),"featured"===e.params.showAbstract&&(e.params.showAbstract="featured"===e.params.style),e.nodes=Application.renderPostCard(e.data,e.params),e},n.renderEmptyView=function(e){e={nodes:{},params:cm.merge({container:cm.node("div"),message:null},e)};return e.nodes.container=cm.node("div",{classes:"blog-list__empty"},cm.node("div",{classes:["cm__empty","h6"],innerHTML:e.params.message})),cm.appendChild(e.nodes.container,e.params.container),e},n.renderSuccess=function(e,t){this.data=cm.extend(this.data,e),this.params.posts.filter&&!this.filterIds||(this.views.posts=this.renderPostsView(e,{container:t})),this.isRequsted=!0,this.triggerEvent("onSuccess"),this.triggerEvent("onComplete")},n.renderError=function(){this.views.empty=this.renderEmptyView({container:this.nodes.posts,message:this.msgParse("server_error")}),this.isRequsted=!0,this.triggerEvent("onError"),this.triggerEvent("onComplete")},n.renderEmpty=function(){this.isRequsted||(this.views.empty=this.renderEmptyView({container:this.nodes.posts,message:this.msg("empty")})),this.isRequsted=!0,this.triggerEvent("onEmpty"),this.triggerEvent("onComplete")},n.filter=function(e){return this.filterIds=e,this.isRequsted&&(this.views.posts=this.renderPostsView(this.data,{container:this.nodes.posts})),this}}),cm.define("App.BlogPostsEmbed",{extend:"App.BlogPosts",params:{categories:{render:!1},posts:{showFeatured:!1,showAbstract:!0,showViewMore:!1},pagination:{enable:!0,constructorParams:{perPage:10}}}},function(){Com.AbstractController.apply(this,arguments)}),cm.getConstructor("App.BlogPostsEmbed",function(e,t,n,a){n.renderPostItem=function(e,t,n,a){e&&(t=this.renderPostView(t,{container:e.nodes.container,style:this.params.posts.showFeatured&&0===n?"featured":"vertical",titleSize:["h4"]}),a.push(t))}}),cm.define("App.BlogRelated",{extend:"Com.AbstractController",events:["onSuccess","onError"],params:{controllerEvents:!0,renderStructure:!0,embedStructureOnRender:!0,embedStructure:"append",exclude:null,data:null,request:{},requestConstructor:"App.Request",requestParams:{showLoader:!0,autoSend:!1,responseKey:null,ajax:{url:App._api.blog_posts.list,type:"json",method:"GET",params:{order:"-date"}}}}},function(){Com.AbstractController.apply(this,arguments)}),cm.getConstructor("App.BlogRelated",function(e,t,n,a){n.onConstructStart=function(){this.data=null},n.renderView=function(){this.nodes.container=cm.node("div",{classes:"blog-list__container"})},n.renderViewModel=function(){let t=this;a.prototype.renderViewModel.apply(t,arguments),cm.getConstructor(t.params.requestConstructor,e=>{t.components.request=new e(cm.merge(t.params.requestParams,{data:t.params.request,overlayParams:{container:t.nodes.container},events:{onSuccess:t.renderResponse.bind(t),onError:t.renderError.bind(t)}}))})},n.renderResponse=function(e,t){let n=this;n.data=t.data.filter(e=>e.id!==n.params.exclude),n.triggerEvent("onSuccess",n.data)},n.renderError=function(e,t){this.data=t.response,this.triggerEvent("onError",this.data)},n.renderBlog=function(){let t=this,n={items:[]};n.container=cm.node("div",{classes:["blog-list__row","blog-list__row--related"]},n.title=cm.node("h2",{classes:"section__title",innerHTML:t.msg("title")}),n.posts=cm.node("div",{classes:["blog-list__items","blog-list__items--horizontal"]}));var e=Math.min(cm.getLength(t.data),App._config.blog.relatedPostsPerSection);cm.forEach(e,e=>{e=t.renderPostView(t.data[e],{container:n.posts});n.items.push(e)}),cm.appendChild(n.container,t.nodes.container),t.nodes.blog=n},n.renderPostView=function(e,t){e={data:e,nodes:{},params:cm.merge({modifiers:["adaptive"],container:cm.node("div")},t)};
1return e.nodes=Application.renderPostCard(e.data,e.params),e},n.setFilter=function(e,t){this.params.exclude=t;let n=App._config.blog.relatedPostsPerSection;return cm.isEmpty(this.params.exclude)||n++,this.components.request&&this.components.request.setAction({params:{filter:e,limit:n}}),this},n.request=function(){return this.components.request&&this.components.request.send(),this}}),cm.define("App.BlogSearch",{extend:"Com.AbstractController",params:{controllerEvents:!0,renderStructure:!0,embedStructureOnRender:!0,embedStructure:"append",removeOnDestruct:!0,data:{}}},function(){Com.AbstractController.apply(this,arguments)}),cm.getConstructor("App.BlogSearch",function(e,t,n,a){n.renderView=function(){let t=this;t.nodes.container=cm.node("div",{classes:"blog-list__container"},t.nodes.row=cm.node("div",{classes:["blog-list__row","blog-list__row--search"]},t.nodes.posts=cm.node("div",{classes:["blog-list__items","blog-list__items--horizontal"]}))),cm.forEach(t.params.data,e=>{t.renderPostView(e,{style:"adaptive",container:t.nodes.posts})})},n.renderPostView=function(e,t){e={data:e,nodes:{},params:cm.merge({style:"horizontal",container:cm.node("div")},t)};return e.nodes=Application.renderPostCard(e.data,{modifiers:e.params.style,container:e.params.container,target:"_blank"}),e}}),cm.define("App.BlogSlider",{extend:"Com.AbstractController",events:["onSuccess","onError","onEmpty","onComplete"],params:{controllerEvents:!0,renderStructure:!0,embedStructureOnRender:!0,embedStructure:"append",category:null,access:!0,renderAccessBox:!0,ajax:{type:"json",method:"GET",url:App._api.blog_categories.read,uriConfig:{multipleValues:"keys",skipEmpty:!0},params:{limit:0,order:"-date"},variables:{}},request:{constructor:"App.Request",constructorParams:{showLoader:!0,autoSend:!0,responseKey:"posts"}},slider:{constructor:"App.Slider",constructorParams:{className:"com__slider--blog",effect:"pull-parallax-css",height:"max",time:1e3,delay:5e3,cycle:!0,slideshow:!0}}}},function(){Com.AbstractController.apply(this,arguments)}),cm.getConstructor("App.BlogSlider",function(e,t,n,a){n.onConstructStart=function(){this.views={},this.posts=[],this.data=[],this.hasAccess=!0,this.isRequsted=!1},n.onValidateParams=function(){var e=this;e.params.category&&(e.params.ajax.variables.id=e.params.category),e.params.request.constructorParams.ajax=cm.merge(e.params.ajax,e.params.request.constructorParams.ajax),e.hasAccess=cm.isBoolean(e.params.access)?e.params.access:!!cm.isString(e.params.access)&&Application.Blog.checkAudienceAccess(e.params.access)},n.onDestructEnd=function(){this.components.request?.destruct(),this.components.slider?.destruct()},n.renderView=function(){this.nodes.container=cm.node("div",{classes:["blog-slider"]})},n.renderViewModel=function(){let n=this;a.prototype.renderViewModel.apply(n,arguments),n.hasAccess?cm.getConstructor(n.params.request.constructor,e=>{n.components.request=new e(cm.merge(n.params.request.constructorParams,{overlayParams:{container:n.nodes.container,appendMode:"insertFirst"},events:{onSuccess:(e,t)=>n.renderSuccess(t.data,n.nodes.container),onError:()=>n.renderError()}}))}):n.params.renderAccessBox?Application.renderAccessBox({audience:cm.isString(n.params.access)?n.params.access:"beautician",container:n.nodes.container,messages:n.msgObject("accessBox")}):cm.addClass(n.nodes.container,"is-hidden")},n.renderPostsView=function(e,t){let n=this,a={data:e,slides:[],params:cm.merge({container:cm.node("div")},t)};return cm.forEach(a.data,(e,t)=>{e=n.renderPostView(e);a.slides.push(e.nodes)}),cm.getConstructor(n.params.slider.constructor,e=>{n.components.slider=new e(cm.merge(n.params.slider.constructorParams,{items:a.slides,container:a.params.container}))}),a},n.renderPostView=function(e,t){e={data:e,nodes:{},params:cm.merge({container:cm.node("div")},t)};return e.nodes.container=cm.node("li",e.nodes.inner=cm.node("div",{classes:"inner"})),Application.renderPostCard(e.data,{container:e.nodes.inner,modifiers:["wide"],titleSize:["h2","h2-md--small"],imageWidth:App._config.blog.postFeaturedImageWidth,showAbstract:!0}),e},n.renderEmptyView=function(e){e={nodes:{},params:cm.merge({container:cm.node("div"),message:null},e)};
1return e.nodes.container=cm.node("div",{classes:"blog-list__empty"},cm.node("div",{classes:["cm__empty","h6"],innerHTML:e.params.message})),cm.appendChild(e.nodes.container,e.params.container),e},n.renderSuccess=function(e,t){this.data=cm.extend(this.data,e),this.views.posts=this.renderPostsView(e,{container:t}),this.isRequsted=!0,this.triggerEvent("onSuccess"),this.triggerEvent("onComplete")},n.renderError=function(){this.views.empty=this.renderEmptyView({container:this.nodes.container,message:this.msgParse("server_error")}),this.isRequsted=!0,this.triggerEvent("onError"),this.triggerEvent("onComplete")},n.renderEmpty=function(){this.isRequsted||(this.views.empty=this.renderEmptyView({container:this.nodes.container,message:this.msg("empty")})),this.isRequsted=!0,this.triggerEvent("onEmpty"),this.triggerEvent("onComplete")}}),cm.getConstructor("App.Application",function(e,t,n){n.restart=function(e){return"undefined"!=typeof Bootstrap&&Bootstrap.restart(e),this},n.reload=function(e,t,n){return Application.setRoute(e,t,n),window.location.reload(),this},n.reloadURL=function(e,t,n){return Application.setRouteURL(e,t,n),window.location.reload(),this},n.refresh=function(){var e=Application.getCurrentRoute(),t=cm.merge(e.state.params,{pushState:!1,replaceState:!0});return Application.setRoute(e.state.route,e.state.hash,t),this}}),cm.define("App.Bootstrap",{extend:"Com.AbstractController",params:{renderStructure:!1,embedStructureOnRender:!1,controllerEvents:!0,node:"document.body",name:"bootstrap",applicationConstructor:"App.Application",applicationParams:{name:"application",container:"document.body"}}},function(){Com.AbstractController.apply(this,arguments)}),cm.getConstructor("App.Bootstrap",function(e,t,n,a){n.onConstructStart=function(){window.Bootstrap=this},n.onConstructEnd=function(){this.start()},n.start=function(s){let o=this;return cm.getConstructor(o.params.applicationConstructor,e=>{let t={};var n,a;o.components.application&&(n=o.components.application.getCurrentRoute(),a=cm.isEmpty(n)?null:n.route,a=o.components.application.isRoutesURLMatch(a,s),t=cm.isEmpty(n)||"temporary"===n.type||!s||a?{pushState:!1,replaceState:!0}:{pushState:!0,replaceState:!1}),o.components.application=new e(cm.merge(o.params.applicationParams,{route:s,routeParams:t})),o.components.application.start()}),o},n.stop=function(){return this.components.application?.stop(),this},n.restart=function(e){return this.stop(),this.start(e),this}}),cm.define("App.CalendarAgenda",{extend:"Com.AbstractController",params:{controllerEvents:!0,renderStructure:!0,embedStructureOnRender:!0,embedStructure:"append",date:{},data:[],list:{constructor:"Com.Gridlist",constructorParams:{adaptive:!0,sort:!1,pagination:!1,statuses:["today"],className:["com__gridlist--separator","com__gridlist--calendar-agenda"]}}}},function(){Com.AbstractController.apply(this,arguments)}),cm.getConstructor("App.CalendarAgenda",function(e,t,n,a){n.onValidateParams=function(){this.date=cm.clone(this.params.date),this.data=cm.clone(this.params.data)},n.renderView=function(){this.nodes.container=cm.node("div",{classes:["app__calendar-agenda"]})},n.renderViewModel=function(){var t=this;cm.getConstructor(t.params.list.constructor,function(e){t.components.list=new e(cm.merge(t.params.list.constructorParams,{container:t.nodes.container,data:t.data,callbacks:t.configGridlistCallbacks(),cols:t.configGridlistColumns()}))}),a.prototype.renderViewModel.apply(t,arguments)},n.configGridlistColumns=function(){return[{title:this.msg("fields.date"),type:"text",key:"_date",classes:["cell--date"],width:"20%"},{title:this.msg("fields.name"),type:"text",key:"name",classes:["cell--name"],width:"auto"},{title:this.msg("fields.description"),type:"text",key:"description",classes:["cell--description"],width:"25%"},{title:this.msg("fields.contact"),type:"url",key:"contact",altText:this.msg("actions.details"),titleText:this.msg("actions.details"),textOverflow:!0,showTitle:!0,target:"_blank",rel:"noopener",classes:["cell--contact"],width:110},{type:"url",key:"_export",altText:this.msg("actions.export"),titleText:this.msg("actions.export"),textOverflow:!0,showTitle:!0,target:"_self",classes:["cell--export"],width:140}]},n.configGridlistCallbacks=function(){return{filter:this.filterGridlistData.bind(this)}},n.filterGridlistData=function(e,t){var n=this;return cm.forEach(t,function(e){e._export=cm.fillVariables(App._api.events.export,e),n.isDateInRange(n.date.currentDate,e)&&(e._status="today")}),t},n.isDateInRange=function(e,t){var e=e.getTime(),n=t._start.getTime(),t=t._end.getTime();return n<=e&&e<=t},n.set=function(e,t){return this.date=cm.clone(e),this.data=cm.clone(t),this.components.list&&this.components.list.setData(this.data),this}}),cm.define("App.CalendarEventsContainer",{extend:"Com.AbstractContainer",params:{date:{},data:[],constructor:"App.CalendarAgenda",placeholder:!0,placeholderConstructor:"Com.DialogContainer",placeholderParams:{renderTitle:!0,renderButtons:!0,justifyButtons:"center",constructorParams:{width:App._config.dialog.widthContent,theme:"theme-light"}}}},function(e){Com.AbstractContainer.apply(this,arguments)}),cm.getConstructor("App.CalendarEventsContainer",function(e,t,n,a){n.onValidateParamsEnd=function(){this.params.constructorParams.date=this.params.date,this.params.constructorParams.data=this.params.data},n.renderPlaceholderButtons=function(){this.components.placeholder.addButton({name:"close",label:this.msg("close"),classes:"button-primary",callback:this.closeHandler})},n.setData=function(e,t){return this.params.constructorParams.date=cm.clone(e),this.params.constructorParams.data=cm.clone(t),this},n.setTitle=function(e){return this.setMessages({title:this.msg("title_date",{"{date}":e})}),this}}),cm.define("App.Calendar",{extend:"Com.AbstractController",params:{controllerEvents:!0,renderStructure:!0,embedStructureOnRender:!0,embedStructure:"append",defaultView:"agenda",toolbar:{constructor:"Com.Toolbar",constructorParams:{adaptive:!0,flex:!0,positions:["left","center","right"],className:["pt__toolbar--calendar"]}},monthSelect:{constructor:"Com.Select",constructorParams:{setInitialValue:!1}},yearSelect:{start:"current",end:"current + 4",constructor:"Com.Select",constructorParams:{setInitialValue:!1}},views:{agenda:{renderEmpty:!1,constructor:"App.CalendarAgenda",constructorParams:{embedStructureOnRender:!1}},month:{renderEmpty:!0,constructor:"App.CalendarMonth",constructorParams:{embedStructureOnRender:!1}}},request:{constructor:"App.Request",constructorParams:{showLoader:!0,autoSend:!1,responseKey:null,
1successOnEmptyData:!0,ajax:{type:"json",url:App._api.events.list,method:"GET",params:{month:"%month%",year:"%year%"}}}}}},function(){Com.AbstractController.apply(this,arguments)}),cm.getConstructor("App.Calendar",function(classConstructor,className,classProto,classInherit){classProto.onConstructStart=function(){this.views={},this.months=this.msgObject("months"),this.currentView={view:null,month:null,year:null,location:null,currentDate:this.getDateNormalised(new Date)},this.previousView=null},classProto.onValidateParams=function(){let that=this;that.params.defaultView=cm.inArray(["agenda","month"],that.params.defaultView)?that.params.defaultView:"month",/current/.test(that.params.yearSelect.start)&&(that.params.yearSelect.start=eval(cm.strReplace(that.params.yearSelect.start,{current:that.currentView.currentDate.getFullYear()}))),/current/.test(that.params.yearSelect.end)&&(that.params.yearSelect.end=eval(cm.strReplace(that.params.yearSelect.end,{current:that.currentView.currentDate.getFullYear()})))},classProto.renderView=function(){this.nodes.container=cm.node("div",{classes:"app__calendar__container"},this.nodes.calendar=cm.node("div",{classes:"calendar__holder"},this.nodes.holder=cm.node("div",{classes:"inner"}))),this.views.toolbar=this.renderToolbarView({container:this.nodes.container})},classProto.renderViewModel=function(){let t=this;classInherit.prototype.renderViewModel.apply(t,arguments),cm.getConstructor(t.params.request.constructor,e=>{t.components.request=new e(cm.merge(t.params.request.constructorParams,{overlayParams:{container:t.nodes.holder},events:{onSuccess:t.renderEvents.bind(t),onError:t.renderError.bind(t)}})),t.setView({view:t.params.defaultView,year:t.currentView.currentDate.getFullYear(),month:t.currentView.currentDate.getMonth()+1,location:"us"})})},classProto.renderToolbarView=function(e){let t=this,n={nodes:{},views:{},locations:{},date:{},params:cm.merge({container:cm.node("div")},e)};return n.nodes.container=cm.node("div",{classes:"calendar__toolbar"}),cm.getConstructor(t.params.toolbar.constructor,e=>{t.components.toolbar=new e(cm.merge(t.params.toolbar.constructorParams,{container:n.nodes.container})),t.renderToolbarActions(n)}),cm.insertFirst(n.nodes.container,n.params.container),n},classProto.renderToolbarActions=function(e){let n=this;e.nodes.views=Application.Buttons.renderContainer({modifiers:["flex","toggle-bordered","calendar-views"],classes:["pull-justify"],role:"tablist",ariaLabel:n.msg("toolbar.views.label"),items:[{name:"agenda",label:n.msg("toolbar.views.agenda"),modifiers:["toggle"],classes:["is-condensed"],role:"tab",selected:!1,callback:()=>n.setView({view:"agenda"})},{name:"month",label:n.msg("toolbar.views.month"),modifiers:["toggle"],classes:["is-condensed"],role:"tab",selected:!1,callback:()=>n.setView({view:"month"})}]}),e.nodes.locations=Application.Buttons.renderContainer({modifiers:["flex","toggle-bordered","calendar-locations"],classes:["pull-justify"],role:"tablist",ariaLabel:n.msg("toolbar.locations.label"),items:[{name:"us",label:n.msg("toolbar.locations.us"),modifiers:["toggle"],classes:["is-condensed"],role:"tab",selected:!1,callback:()=>n.setView({location:"us"})},{name:"all",label:n.msg("toolbar.locations.all"),modifiers:["toggle"],classes:["is-condensed"],role:"tab",selected:!1,callback:()=>n.setView({location:"all"})}]}),n.components.toolbar.addGroup({name:"views",position:"left",title:n.msg("toolbar.views.label"),adaptive:!1,flex:!1}).addGroup({name:"date",position:"center",title:n.msg("toolbar.date.label"),adaptive:!1,flex:!0}).addGroup({name:"locations",position:"right",title:n.msg("toolbar.locations.label"),adaptive:!1,flex:!1}),n.components.toolbar.addField({name:"views",group:"views",node:e.nodes.views.getContainer()}).addField({name:"locations",group:"locations",node:e.nodes.locations.getContainer()}),n.components.toolbar.addButton({name:"prev",group:"date",callback:n.setPrevMonth.bind(n),node:Application.Buttons.embed({title:n.msg("toolbar.date.prev.title"),classes:["is-compact"],icons:{classes:["medium"],before:"arrowLeft"}})}).addField({name:"month",group:"date",size:"medium",constructor:n.params.monthSelect.constructor,constructorParams:cm.merge(n.params.monthSelect.constructorParams,{options:n.getMonthOptions(),title:n.msg("toolbar.date.month"),events:{onSelect:(e,t)=>
1n.setView({month:t})}})}).addField({name:"year",group:"date",size:"small",constructor:n.params.yearSelect.constructor,constructorParams:cm.merge(n.params.yearSelect.constructorParams,{options:n.getYearOptions(),title:n.msg("toolbar.date.year"),events:{onSelect:(e,t)=>n.setView({year:t})}})}).addButton({name:"next",group:"date",callback:n.setNextMonth.bind(n),node:Application.Buttons.embed({title:n.msg("toolbar.date.next.title"),classes:["is-compact"],icons:{classes:["medium"],before:"arrowRight"}})}),e.date.prev=n.components.toolbar.getButton("prev","date"),e.date.month=n.components.toolbar.getField("month","date"),e.date.year=n.components.toolbar.getField("year","date"),e.date.next=n.components.toolbar.getButton("next","date")},classProto.getMonthOptions=function(){return(this.msgObject("toolbar.date.months")||[]).map((e,t)=>({value:t+1,text:e}))},classProto.getYearOptions=function(){let n=this;var e=n.params.yearSelect.end-n.params.yearSelect.start+1;return new Array(e).fill().map((e,t)=>({value:t+n.params.yearSelect.start,text:t+n.params.yearSelect.start}))},classProto.setPrevMonth=function(){let e=this.currentView.month-1,t=this.currentView.year;e<1&&(e=12,t=this.currentView.year-1<this.params.yearSelect.start?this.params.yearSelect.end:this.currentView.year-1),this.setView({month:e,year:t})},classProto.setNextMonth=function(){let e=this.currentView.month+1,t=this.currentView.year;12<e&&(e=1,t=this.currentView.year+1>this.params.yearSelect.end?this.params.yearSelect.start:this.currentView.year+1),this.setView({month:e,year:t})},classProto.setView=function(e){var t=this,e=(t.components.request.abort(),t.previousView=cm.clone(t.currentView),t.currentView=cm.merge(t.currentView,e),t.views.toolbar);e.nodes.views.toggleItems(t.currentView.view),e.nodes.locations.toggleItems(t.currentView.location),e.date.month.controller.set(t.currentView.month,!1),e.date.year.controller.set(t.currentView.year,!1),cm.replaceClass(t.nodes.container,"view--"+t.previousView.view,"view--"+t.currentView.view),t.components.request.setVariables(t.currentView).send()},classProto.renderEvents=function(e,t){let n=this,a=n.params.views[n.currentView.view]?n.currentView.view:n.params.defaultView,s=n.params.views[a];n.components[a]||cm.getConstructor(s.constructor,e=>{n.components[a]=new e(cm.merge(s.constructorParams,{container:n.nodes.holder,startYear:n.params.yearSelect.start,endYear:n.params.yearSelect.end,events:{onPrevMonthRequest:n.setPrevMonth.bind(n),onNextMonthRequest:n.setNextMonth.bind(n)}}))}),cm.clearNode(n.nodes.holder),t.data=n.filterData(t.data),cm.isObject(t.data)?n.renderError.call(n,arguments):!cm.isEmpty(t.data)||s.renderEmpty?n.components[a].set(n.currentView,t.data).appendView():n.renderMessage(n.msg("empty")),n.scrollToTop()},classProto.renderError=function(e,t){this.renderMessage(this.msgParse("server_error")),this.scrollToTop()},classProto.renderMessage=function(e){e=cm.node("div",{classes:"cm__empty"},e);cm.appendChild(e,this.nodes.holder)},classProto.filterData=function(e){let t=this;return(e=e[t.currentView.year]?Object.values(e[t.currentView.year])[0].filter(e=>"all"===t.currentView.location||e.location===t.currentView.location).map(e=>(e._start=t.getDateNormalised(cm.parseDate(e.start)),e._end=t.getDateNormalised(cm.parseDate(e.end)),e._date=t.formatDatePeriod(e),e.contact=cm.cutHTML(e.contact),cm.isEmpty(e.contact)||(e.contact=App.getHref(e.contact)),e)):e)||[]},classProto.getDateNormalised=function(e){return new Date(e.getFullYear(),e.getMonth(),e.getDate())},classProto.formatDatePeriod=function(e){e={start:{month:this.months[e._start.getMonth()],date:e._start.getDate()},end:{month:this.months[e._end.getMonth()],date:e._end.getDate()}};let t;return t=e.start.month!==e.end.month?"{start.month} {start.date} â {end.month} {end.date}":e.start.date!==e.end.date?"{start.month} {start.date}â{end.date}":"{start.month} {start.date}",cm.fillVariables(t,e)},classProto.refresh=function(){return this.setView(this.currentView),this},classProto.scrollToTop=function(){return this.wasFirstRender?"agenda"===this.currentView.view&&cm.scrollTo(this.nodes.container,window,{duration:cm._config.animDuration,direction:"up"}):this.wasFirstRender=!0,this}}),cm.define("App.CalendarMonth",{extend:"Com.AbstractController",events:["onPrevMonthRequest","onNextMonthRequest"],params:{controllerEvents:!0,renderStructure:!0,embedStructureOnRender:!0,embedStructure:"append",startYear:null,endYear:null,date:{},data:[],events:{max:5},calendar:{constructor:"Com.Calendar",constructorParams:{renderSelects:!1,renderMonthOnInit:!1,renderMonthOnRequest:!1,changeMonthOnClick:!0,className:["com__calendar--separator","com__calendar--events","is-today-highlight","is-adaptive"],dayButtonRole:"button"}},eventsView:{constructor:"App.CalendarEventsContainer",constructorParams:{}}}},function(){Com.AbstractController.apply(this,arguments)}),cm.getConstructor("App.CalendarMonth",function(e,t,n,a){n.onConstructStart=function(){this.months=this.msgObject("months")},n.onValidateParams=function(){this.date=cm.clone(this.params.date),this.data=cm.clone(this.params.data)},n.renderView=function(){this.nodes.container=cm.node("div",{classes:["app__calendar-month"]})},n.renderViewModel=function(){var t=this;a.prototype.renderViewModel.apply(t,arguments),cm.getConstructor(t.params.eventsView.constructor,function(e){t.components.eventsView=new e(t.params.eventsView.constructorParams)}),cm.getConstructor(t.params.calendar.constructor,function(e){t.components.calendar=new e(cm.merge(t.params.calendar.constructorParams,{container:t.nodes.container,startYear:t.params.startYear,endYear:t.params.endYear,messages:t.msgObject("calendar"),events:{onDayRender:t.renderDayEvents.bind(t),onPrevMonthRequest:function(){t.triggerEvent("onPrevMonthRequest")},onNextMonthRequest:function(){t.triggerEvent("onNextMonthRequest")}}}))})},n.renderDayEvents=function(e,t){var n=this,a={nodes:{},data:[],day:t,params:{container:t.nodes.container,holder:t.nodes.holder,button:t.nodes.holder}};a.data=n.data.filter(function(e){if(n.isDateInRange(a.day.date,e))return e}),cm.isEmpty(a.data)?(cm.addClass(a.params.container,"empty"),a.params.button.setAttribute("tabindex","-1"),a.params.button.setAttribute("aria-disabled","true")):(t=n.msg("events.label",{"{count}":a.data.length},a.data.length),a.nodes.event=cm.node("div",{classes:"app__calendar__event",innerHTML:t}),cm.appendChild(a.nodes.event,a.params.holder),a.eventsList=n.renderEventsList(a.data,{container:a.params.holder,isToday:a.day.isToday}),a.params.button.setAttribute("aria-haspopup","dialog"),a.params.button.setAttribute("title",n.msg("events.show")),cm.click.add(a.params.button,()=>{n.components.eventsView.setTitle(cm.dateFormat(a.day.date,App._config.formats.date)).setData(n.date,a.data).open()}))},n.renderEventsList=function(e,t){var n={nodes:{},data:e,params:cm.merge({container:cm.node("div"),isToday:!1},t)};return n.nodes.container=cm.node("div",{classes:"app__calendar__events-list"},n.nodes.holder=cm.node("ul")),n.eventsCount=n.data.length<this.params.events.max?n.data.length:this.params.events.max,n.eventsData=n.data.slice(0,n.eventsCount),cm.forEach(n.eventsData,function(e){e=cm.node("li",{classes:"event",title:e.name},cm.node("span",e.name));
1n.params.isToday&&cm.addClass(e,"today"),cm.appendChild(e,n.nodes.holder)}),n.data.length>n.eventsCount&&(e=cm.node("li",{classes:"more"},cm.node("span",this.msg("events.more",{"{count}":n.data.length-n.eventsCount}))),cm.appendChild(e,n.nodes.holder)),cm.appendChild(n.nodes.container,n.params.container),n},n.isDateInRange=function(e,t){var e=e.getTime(),n=t._start.getTime(),t=t._end.getTime();return n<=e&&e<=t},n.set=function(e,t){return this.date=cm.clone(e),this.data=cm.clone(t),this.components.calendar&&this.components.calendar.set(this.date.year,this.date.month-1,{render:!0}),this}}),cm.define("App.Chart",{extend:"Com.AbstractController",events:["onChartReady"],params:{controllerEvents:!0,customEvents:!0,renderStructure:!0,embedStructureOnRender:!0,embedStructure:"append",redrawOnRender:!1,width:"auto",height:"auto",align:"justify",type:"doughnut",showLegend:!1,setParentSize:!0,simpleData:[],simpleOptions:{},simpleBackgroundColor:"@LESS.CmColor-Primary-DarkDefault",data:{},plugins:[],defaults:{locale:cm._locale,color:cm.getLESSVariable("@AppColor-Primary")}}},function(){Com.AbstractController.apply(this,arguments)}),cm.getConstructor("App.Chart",function(e,t,n,a){n.onConstructStart=function(){this.isChartReady=!1},n.onRedraw=function(){var e=this;cm.isNumber(e.params.width)&&0<e.params.width?e.nodes.holder.style.width=[e.params.width,"px"].join(""):cm.isEmpty(e.params.width)||(e.nodes.holder.style.width=e.params.width),cm.isNumber(e.params.height)&&0<e.params.height?e.nodes.holder.style.height=[e.params.height,"px"].join(""):cm.isEmpty(e.params.height)||(e.nodes.holder.style.height=e.params.height),e.components.chart&&e.components.chart.resize()},n.renderView=function(){var e=this;e.triggerEvent("onRenderViewStart"),e.nodes.container=cm.node("div",{classes:"app__chart"},e.nodes.holder=cm.node("div",{classes:"chart__graph"},e.nodes.canvas=cm.node("canvas"))),cm.addClass(e.nodes.container,["pull",e.params.align].join("-")),e.params.showLegend&&(e.nodes.legend=cm.node("div",{classes:"chart__legend"},e.nodes.legendHolder=cm.node("ul")),cm.insertFirst(e.nodes.legend,e.nodes.container)),e.triggerEvent("onRenderViewProcess"),e.triggerEvent("onRenderViewEnd")},n.renderViewModel=function(){let e=this;cm.isEmpty(e.params.simpleData)||e.processSimpleData(),e.redraw("immediately"),cm.loadScript({path:"Chart",src:"%assetsUrl%/libs/chartjs/chart.umd.js?%version%",callback:function(){"undefined"!=typeof Chart&&(cm.forEach(e.params.defaults,function(e,t){Chart.defaults[t]=e}),e.params.showLegend&&e.params.plugins.push({id:"htmlLegend",afterUpdate:e.renderHtmlLegend.bind(e)}),e.components.chart=new Chart(e.nodes.canvas,{type:e.params.type,data:e.params.data,options:e.params.options,plugins:e.params.plugins}),e.isChartReady=!0,e.triggerEvent("onChartReady"))}})},n.processSimpleData=function(){var t=this,n=cm.merge({data:[],backgroundColor:t.params.simpleBackgroundColor},t.params.simpleOptions);t.params.data={labels:[],datasets:[n]},cm.forEach(t.params.simpleData,function(e){t.params.data.labels.push(e.label),n.data.push(e.value)})},n.renderHtmlLegend=function(t,e,n){let a=this;cm.clearNode(a.nodes.legendHolder);var s=t.options.plugins.legend.labels.generateLabels(t);cm.forEach(s,e=>a.renderHtmlLegendItem(t,e))},n.renderHtmlLegendItem=function(t,n){var e={};e.container=cm.node("li",e.button=cm.node("div",{classes:"legend__item",role:"button",tabindex:0},e.checkbox=cm.node("input",{type:"checkbox",tabindex:-1,"aria-hidden":!0}),cm.node("span",{classes:"label"},n.text))),e.checkbox.style.accentColor=n.strokeStyle,e.checkbox.checked=!n.hidden,n.hidden&&(cm.addClass(e.container,"is-hidden"),cm.addClass(e.button,"is-hidden")),cm.click.add(e.button,()=>{var e=t.config.type;"pie"===e||"doughnut"===e?t.toggleDataVisibility(n.index):t.setDatasetVisibility(n.datasetIndex,!t.isDatasetVisible(n.datasetIndex)),t.update()}),cm.appendChild(e.container,this.nodes.legendHolder)},n.getChart=function(){return this.components.chart},n.update=function(){return this.components.chart.update(),this},n.getNodes=function(e){return this.nodes[e]||this.nodes}}),cm.define("App.ChatGPTCategories",{extend:"Com.AbstractController",events:["onSend"],params:{controllerEvents:!0,renderStructure:!0,embedStructureOnRender:!0,embedStructure:"append",form:{constructor:"Form.ChatGPTCategoryContainer",constructorParams:{}}}},function(){Com.AbstractController.apply(this,arguments)}),cm.getConstructor("App.ChatGPTCategories",function(e,t,n,a){n.renderView=function(){let e=this;e.nodes.container=cm.node("section",{classes:"app__chat-gpt__categories"},cm.node("div",{classes:["app__chat-gpt__category","app__chat-gpt__category--social"]},cm.node("h4",e.msg("social.title")),Application.Buttons.embedContainer({classes:["pull-justify"],modifiers:["flex"],items:[{label:e.msg("social.post.label"),classes:["is-wrap","is-flex","is-compact"],modifiers:["border","round"],callback:()=>e.openCategory(e.msgObject("social.post"))},{label:e.msg("social.captions.label"),classes:["is-wrap","is-flex","is-compact"],modifiers:["border","round"],callback:()=>e.openCategory(e.msgObject("social.captions"))},{label:e.msg("social.hashtags.label"),classes:["is-wrap","is-flex","is-compact"],modifiers:["border","round"],callback:()=>e.openCategory(e.msgObject("social.hashtags"))}]})),cm.node("div",{classes:["app__chat-gpt__category","app__chat-gpt__category--customer"]},cm.node("h4",e.msg("customer.title")),Application.Buttons.embed({label:e.msg("customer.response.label"),classes:["is-wrap","is-wide","is-compact"],modifiers:["border","round","enthusiast"],callback:()=>e.openCategory(e.msgObject("customer.response"))})))},n.renderViewModel=function(){let t=this;a.prototype.renderViewModel.apply(t,arguments),cm.getConstructor(t.params.form.constructor,e=>{t.components.form=new e(cm.merge(t.params.form.constructorParams,{events:{onSend:()=>t.triggerEvent("onSend",t.components.form.get("all"))}}))})},n.openCategory=function(e){this.components.form.setTitle(e.label).set(e).open()}}),cm.define("App.ChatGPT",{extend:"Com.AbstractController",params:{controllerEvents:!0,renderStructure:!0,embedStructureOnRender:!0,embedStructure:"append",overlay:{constructor:"Com.Overlay",constructorParams:{autoOpen:!1,removeOnClose:!0,destructOnRemove:!0,showContent:!1,showSpinner:!1,lazy:!0,theme:"transparent",position:"absolute"}},request:{constructor:"App.Request",constructorParams:{showLoader:!1,autoSend:!1,responseKey:null,ajax:{url:App._api.chat_gpt.create,method:"POST",type:"json",paramsType:"json"}}},form:{constructor:"Form.ChatGPT",constructorParams:{}},message:{constructor:"App.ChatGPTMessage",constructorParams:{}}}},function(){Com.AbstractController.apply(this,arguments)}),cm.getConstructor("App.ChatGPT",function(e,t,n,a){n.onConstructStart=function(){this.views={},this.messages=[],this.components={messages:[]},this.lazyDelay=null},n.onRedraw=function(){this.scrollToLastMessage()},n.onDestruct=function(){this.components.request&&this.components.request.destruct()},n.renderView=function(){this.nodes.container=cm.node("section",{classes:"app__chat-gpt"},this.nodes.list=cm.node("div",{classes:"app__chat-gpt__list"},this.nodes.listHolder=cm.node("ul",{classes:"app__chat-gpt__scroll"})),this.nodes.form=cm.node("div",{classes:"app__chat-gpt__form"})),this.components.scroll=Application.renderScrollShadow(this.nodes.list,this.nodes.listHolder),this.components.scroll.add()},n.renderViewModel=function(){let t=this;cm.getConstructor(t.params.overlay.constructor,e=>{t.components.overlay=new e(cm.merge(t.params.overlay.constructorParams,{container:t.nodes.container}))}),cm.getConstructor(t.params.form.constructor,e=>{t.components.form=new e(cm.merge(t.params.form.constructorParams,{container:t.nodes.form,events:{onSend:t.formRequestSend.bind(t)}}))}),cm.getConstructor(t.params.request.constructor,e=>{t.components.request=new e(cm.merge(t.params.request.constructorParams,{events:{onSuccess:t.formRequestSuccess.bind(t),onError:t.formRequestError.bind(t)}}))}),a.prototype.renderViewModel.apply(t,arguments)},n.renderInfoView=function(e){e={nodes:{},params:cm.merge({tagName:"li",container:cm.node("div"),message:null,image:null,inline:!1},e)};
1return e.nodes.container=cm.node(e.params.tagName,{classes:"app__chat-gpt__info"},cm.node("h6",{classes:"inner",innerHTML:e.params.message})),e.params.inline&&cm.addClass(e.nodes.container,"is-inline"),cm.isEmpty(e.params.image)||(e.nodes.image=Application.Images.embed(e.params.image),cm.insertFirst(e.nodes.image,e.nodes.container)),cm.appendChild(e.nodes.container,e.params.container),e},n.removeInfoView=function(){cm.remove(this.views.message?.nodes.container)},n.clearMessages=function(){cm.forEach(this.components.messages,e=>e.destruct()),cm.clearNode(this.nodes.listHolder),this.components.messages=[],this.messages=[]},n.renderMessage=function(t){let n=this;cm.getConstructor(n.params.message.constructor,e=>{e=new e(cm.merge(n.params.message.constructorParams,{data:t,container:n.nodes.listHolder}));n.components.messages.push(e),n.scrollToLastMessage()})},n.sendMessage=function(e){this.messages.push(e),this.removeInfoView(),this.renderMessage(e),this.insertLoadingMessage(),this.components.form.reset(),this.components.overlay.open(),this.components.request.setAction({data:this.messages}).send()},n.renderLoadingMessage=function(){let t=this;cm.getConstructor(t.params.message.constructor,e=>{t.components.loading=new e(cm.merge(t.params.message.constructorParams,{data:{role:"loading",content:t.msg("loading_response")},container:t.nodes.listHolder})),t.scrollToLastMessage()})},n.insertLoadingMessage=function(){this.lazyDelay&&clearTimeout(this.lazyDelay),this.lazyDelay=setTimeout(this.renderLoadingMessage.bind(this),cm._config.loadDelay)},n.removeLoadingMessage=function(){this.lazyDelay&&clearTimeout(this.lazyDelay),this.components.loading&&this.components.loading.destruct()},n.scrollToLastMessage=function(){var e=this.components.messages.at(-1);this.nodes.listHolder.scrollTop=e?e.getContainer().offsetTop:this.nodes.listHolder.scrollHeight,this.components.scroll&&this.components.scroll.reset()},n.focusForm=function(){this.components.form&&this.components.form.focus()},n.formRequestSend=function(){var e=this.components.form.get("all");this.sendMessage(e)},n.formRequestSuccess=function(e,t){cm.isArray(t.data.choices)||this.formRequestError.apply(this,arguments),this.components.overlay.close(),this.removeLoadingMessage();t=t.data.choices[0].message;this.messages.push(t),this.renderMessage(t),this.components.form.focus()},n.formRequestError=function(e,t){this.components.overlay.close(),this.removeLoadingMessage();t={role:"error",content:cm.isEmpty(t.message)?this.msgParse("server_error"):t.message};this.renderMessage(t),this.components.form.focus()}}),cm.define("App.ChatGPTMessage",{extend:"Com.AbstractController",params:{controllerEvents:!0,renderStructure:!0,embedStructureOnRender:!0,embedStructure:"append",removeOnDestruct:!0,data:{}}},function(){Com.AbstractController.apply(this,arguments)}),cm.getConstructor("App.ChatGPTMessage",function(e,t,n,a){n.onConstructEnd=function(){let e=this;cm.onSchedule(function(){cm.removeClass(e.nodes.container,"is-hidden")})},n.renderView=function(){var e=this;switch(e.nodes.container=cm.node("li",{classes:["app__chat-gpt__message","is-hidden"]},e.nodes.inner=cm.node("div",{classes:"inner"},e.nodes.image=cm.node("div",{classes:"image"}),e.nodes.content=cm.node("div",{classes:"content"}))),cm.isArray(e.params.data.content)?cm.appendNodes(e.params.data.content,e.nodes.content):(e.nodes.message=cm.node("p",{classes:"is-small",innerText:e.params.data.content}),cm.appendChild(e.nodes.message,e.nodes.content)),e.params.data.role){case"loading":e.renderLoadingMessage();break;case"user":e.renderUserMessage();break;case"assistant":e.renderAssistantMessage();break;default:e.renderErrorMessage()}},n.renderErrorMessage=function(){cm.addClass(this.nodes.container,"is-error"),Application.Images.embedIcon({icon:"message-circle",classes:["medium"],container:this.nodes.image})},n.renderLoadingMessage=function(){cm.addClass(this.nodes.container,"is-loading"),Application.Images.embedIcon({icon:"chatGPT",classes:["medium"],container:this.nodes.image})},n.renderUserMessage=function(){cm.addClass(this.nodes.container,"is-user"),Application.Images.embedIcon({icon:"member-border",classes:["medium"],container:this.nodes.image})},n.renderAssistantMessage=function(){cm.addClass(this.nodes.container,"is-assistant"),Application.Images.embedIcon({icon:"chatGPT",classes:["medium"],container:this.nodes.image})},n.getContainer=function(){return this.nodes.container}}
1),cm.define("App.ConfirmDialogContainer",{extend:"Com.AbstractContainer",events:["onTrue","onFalse","onSuccess","onError","onComplete"],params:{controllerEvents:!0,closeOnTrue:!0,closeOnFalse:!0,closeOnSuccess:!0,closeOnError:!1,data:{},body:{},instanceData:{},itemData:{},messageDataMap:{},behavior:"confirm",ajax:{},approve:{},decline:{},constructor:"App.ConfirmDialog",placeholder:!0,placeholderConstructor:"Com.DialogContainer",placeholderParams:{renderButtons:!0,justifyButtons:"center",buttonsAdaptive:"reverse",buttonsClasses:["pt__buttons--confirm"],constructorParams:{width:App._config.dialog.widthSmall,theme:"theme-danger"}},buttons:{false:{classes:["button--border"]},true:{classes:["button-danger"]}}}},function(){Com.AbstractContainer.apply(this,arguments)}),cm.getConstructor("App.ConfirmDialogContainer",function(e,t,n,a){n.onValidateParams=function(){let t=this;cm.forEach(["messages","data","body","instanceData","itemData","messageDataMap","behavior","ajax","approve","decline","responseKey","responseErrorsKey"],e=>{void 0!==t.params[e]&&(t.params.constructorParams[e]=t.params[e])})},n.renderControllerEvents=function(){var e=this;a.prototype.renderControllerEvents.apply(e,arguments),e.components.controller.addEvent("onTrue",e.afterActionTrue.bind(e)),e.components.controller.addEvent("onFalse",e.afterActionFalse.bind(e)),e.components.controller.addEvent("onSuccess",e.afterActionSuccess.bind(e)),e.components.controller.addEvent("onError",e.afterActionError.bind(e)),e.components.controller.addEvent("onComplete",e.afterActionComplete.bind(e))},n.renderPlaceholderButtons=function(){var e=this;e.components.placeholder.addButton({name:"false",label:e.msg("false"),classes:e.params.buttons.false.classes,callback:e.actionFalse.bind(e)}),e.components.placeholder.addButton({name:"true",label:e.msg("true"),classes:e.params.buttons.true.classes,callback:e.actionTrue.bind(e)})},n.callActionHandler=function(e,t){t[0]=e,this.triggerEvent.apply(this,t)},n.afterActionTrue=function(){this.callActionHandler("onTrue",cm.clone(arguments)),this.params.closeOnTrue&&this.close()},n.afterActionFalse=function(){this.callActionHandler("onFalse",cm.clone(arguments)),this.params.closeOnFalse&&this.close()},n.afterActionSuccess=function(){this.callActionHandler("onSuccess",cm.clone(arguments)),this.params.closeOnSuccess&&this.close()},n.afterActionError=function(){this.callActionHandler("onError",cm.clone(arguments)),this.params.closeOnError&&this.close()},n.afterActionComplete=function(){this.callActionHandler("onComplete",cm.clone(arguments))},n.actionTrue=function(e){return e instanceof Event&&cm.preventDefault(e),this.components.controller&&cm.isFunction(this.components.controller.actionTrue)&&this.components.controller.actionTrue(),this},n.actionFalse=function(e){return e instanceof Event&&cm.preventDefault(e),this.components.controller&&cm.isFunction(this.components.controller.actionFalse)&&this.components.controller.actionFalse(),this}}),cm.define("App.ConfirmDialog",{extend:"Com.AbstractController",events:["onTrue","onFalse","onSuccess","onError","onComplete"],params:{controllerEvents:!0,renderStructure:!0,embedStructureOnRender:!0,embedStructure:"append",data:{},body:{},instanceData:{},itemData:{},messageDataMap:{},behavior:"confirm",responseKey:null,responseErrorsKey:"message",ajax:{},approve:{},decline:{},notifications:{render:!1,constructor:"Com.Notifications",constructorParams:{}},request:{enable:!1,constructor:"App.Request",constructorParams:{showLoader:!0,autoSend:!1}}}},function(){Com.AbstractController.apply(this,arguments)}),cm.getConstructor("App.ConfirmDialog",function(e,t,n,a){n.onValidateParams=function(){let t=this;t.params.request.enable&&cm.forEach(["data","body","ajax","responseKey","responseErrorsKey"],e=>{void 0!==t.params[e]&&(t.params.request.constructorParams[e]=t.params[e])})},n.onDestruct=function(){this.components.request?.destruct()},n.renderView=function(){this.nodes.container=cm.node("section",{classes:["tpl__section","tpl__section--confirm"]},this.nodes.holdeer=cm.node("div",{classes:"inner"},this.nodes.notifications=cm.node("div",{classes:["section__notifications","is-hidden"]}),this.nodes.content=this.callbacks.renderContent(this,this.params.data)))},n.renderViewModel=function(){let t=this;a.prototype.renderViewModel.apply(t,arguments),t.params.notifications.render&&cm.getConstructor(t.params.notifications.constructor,e=>{t.components.notifications=new e(cm.merge(t.params.notifications.constructorParams,{container:t.nodes.notifications,events:{onAdd:t.afterNotificationsAdded.bind(t),onClear:t.afterNotificationsCleared.bind(t)}}))}),t.params.request.enable&&cm.getConstructor(t.params.request.constructor,e=>{t.components.request=new e(cm.merge(t.params.request.constructorParams,{overlayParams:{container:t.nodes.container,appendMode:"insertFirst"}
1,events:{onSuccess:t.renderSuccess.bind(t),onError:t.renderError.bind(t)}}))})},n.renderMessageView=function(e){e=this.getMessageData(this.params.messageDataMap,e||this.params.data);return cm.node("div",{classes:["section__message","pull-center"]},cm.node("h5",{innerHTML:this.msg("description",e)}))},n.getMessageData=function(e,t,n){var a=this.msg("placeholder"),n={"{id}":n?a[1]:a[0],"{name}":n?a[1]:a[0]},a=cm.fillDataMap(e,t);return cm.merge(n,a)},n.callbacks.renderContent=function(e,t){return e.renderMessageView(t)},n.afterNotificationsAdded=function(){cm.removeClass(this.nodes.notifications,"is-hidden")},n.afterNotificationsCleared=function(){cm.addClass(this.nodes.notifications,"is-hidden")},n.renderSuccess=function(e,t){this.params.notifications.render&&this.components.notifications.clear(),this.triggerEvent("onSuccess",t,this.action),this.triggerEvent("onComplete",t,this.action)},n.renderError=function(e,t){var n;this.params.notifications.render&&(n=cm.isEmpty(t.message)?this.msgParse("server_error"):t.message,this.components.notifications.clear().add({label:n,type:"danger"})),this.triggerEvent("onError",t,this.action),this.triggerEvent("onComplete",t,this.action)},n.actionTrue=function(){return"review"===this.params.behavior?this.actionApprove.apply(this,arguments):(this.action="true",this.params.request.enable?this.components.request.send():this.triggerEvent("onTrue"),this)},n.actionFalse=function(){return"review"===this.params.behavior?this.actionDecline.apply(this,arguments):(this.action="false",this.params.request.enable&&this.components.request.abort(),this.triggerEvent("onFalse"),this)},n.actionApprove=function(){return this.action="approve",this.params.request.enable?(this.components.request.setAction(this.params.approve),this.components.request.send()):this.triggerEvent("onTrue"),this},n.actionDecline=function(){return this.action="decline",this.params.request.enable?(this.components.request.setAction(this.params.decline),this.components.request.send()):this.triggerEvent("onFalse"),this}}),cm.getConstructor("App.Application",function(e,t,n){n.getConversationDate=function(e){e={created:new Date(e.created),updated:new Date(e.updated),isUpdated:e.created!==e.updated};return e.time=cm.dateFormat(e.isUpdated?e.updated:e.created,cm._config.displayTimeFormat),e.date=cm.dateFormat(e.isUpdated?e.updated:e.created,cm._config.displayDateFormat),e.dateTime=cm.dateFormat(e.isUpdated?e.updated:e.created,cm._config.displayDateTimeFormat),e}}),cm.define("App.ConversationsContainer",{extend:"Com.AbstractContainer",params:{controllerEvents:!0,data:{},constructor:"App.Conversations",constructorParams:{renderList:!1,renderTitle:!1,renderToolbar:!1},placeholder:!0,placeholderConstructor:"Com.DialogContainer",placeholderParams:{renderTitle:!0,renderButtons:!1,justifyButtons:"center",constructorParams:{width:App._config.dialog.widthMedium,height:App._config.dialog.heightMedium,theme:"theme-light",className:"com__dialog--conversations"}}}},function(){Com.AbstractContainer.apply(this,arguments)}),cm.getConstructor("App.ConversationsContainer",function(e,t,n,a){n.constructControllerParams=function(e){var t=a.prototype.constructControllerParams.apply(this,arguments);return cm.merge(t,{data:this.params.data})}}),cm.define("App.Conversation",{extend:"Com.AbstractController",params:{controllerEvents:!0,renderStructure:!0,embedStructureOnRender:!0,embedStructure:"append",redrawOnRender:!1,user:null,members:[],overlay:{constructor:"Com.Overlay",constructorParams:{position:"absolute",autoOpen:!1,removeOnClose:!0,destructOnRemove:!0,showContent:!1,lazy:!0}},list:{constructor:"App.ConversationRequest",constructorParams:{showLoader:!1,autoSend:!1}},create:{minHeight:250,constructor:"Form.Conversation",constructorParams:{}},mark:{constructor:"App.ConversationMarkRequest",constructorParams:{showLoader:!1,autoSend:!1}},message:{constructor:"App.ConversationMessage",constructorParams:{}},favorite:{constructor:"App.UserFavoriteButton",constructorParams:{renderLabel:!1,type:"icon"}}}},function(){Com.AbstractController.apply(this,arguments)}),cm.getConstructor("App.Conversation",function(e,t,n,a){n.onConstructStart=function(){this.views={},this.members=[],this.user=Application.userGetProfile(),this.hasConversation=!1,this.conversationData=null,this.conversationUser=null,this.conversationMembers={},this.conversationMessages=[]},n.onValidateParams=function(){this.members=this.params.members},n.onRedraw=function(){this.scrollToLastMessage()},n.renderView=function(){var e=this;e.nodes.container=cm.node("div",{classes:["app__conversation","is-hidden"]},e.nodes.list=cm.node("div",{classes:"app__conversation__list"},e.nodes.listHolder=cm.node("ul",{classes:"app__conversation__scroll"})),e.nodes.form=cm.node("div",{classes:"app__conversation__form"})),e.components.scroll=Application.renderScrollShadow(e.nodes.list,e.nodes.listHolder),e.components.scroll.add(),e.views.toolbar=e.renderToolbarView({container:e.nodes.container,insertMethod:"insertFirst"})},n.renderViewModel=function(){let t=this;cm.getConstructor(t.params.overlay.constructor,function(e){t.components.overlay=new e(cm.merge(t.params.overlay.constructorParams,{container:t.nodes.container}))}),cm.getConstructor(t.params.list.constructor,function(e){t.components.list=new e(cm.merge(t.params.list.constructorParams,{ajax:{params:{members:t.members}},events:{onSuccess:t.listRequestSuccess.bind(t),onError:t.listRequestError.bind(t)}}))}),cm.getConstructor(t.params.mark.constructor,function(e){t.components.mark=new e(t.params.mark.constructorParams)}),cm.getConstructor(t.params.message.constructor,function(e){t.components.messageConstructor=e}),a.prototype.renderViewModel.apply(t,arguments)},n.resetLayout=function(){this.clearToolbar(),this.clearMessages(),this.removeForm(
1),this.hasConversation=!1,this.conversationData=null,this.conversationUser=null,this.conversationMembers={},this.conversationMessages=[],this.scrollToLastMessage()},n.renderToolbarView=function(e){e={nodes:{},params:cm.merge({container:cm.node("div"),insertMethod:"appendChild"},e)};return e.nodes.container=cm.node("div",{classes:"app__conversation__toolbar"},e.nodes.userHolder=cm.node("div",{classes:"app__conversation__user"})),cm[e.params.insertMethod](e.nodes.container,e.params.container),e},n.renderToolbarUserView=function(e,t){e={nodes:{},data:e,params:cm.merge({container:cm.node("div"),renderSkeleton:!1},t)};return e.user=Application.User.validateProfile(e.data,{markPrivate:!0}),e.hasAction=Application.User.isAuthorized()&&!e.params.renderSkeleton&&e.user.isBeautician&&e.user.isPublic&&!e.user.isMe,e.userClasses=[],e.params.renderSkeleton||e.userClasses.push("is-nowrap"),e.nodes.container=Application.User.embedCard(e.data,{classes:["no-padding"],modifiers:["conversation"],linkClasses:["has-link-hover"],user:{render:!0,renderBadge:!1,markPrivate:!0,classes:e.userClasses,renderSkeleton:e.params.renderSkeleton},description:{render:!0,renderBadge:!0,classes:["card__block","is-flex","h7"]},editable:{enable:e.hasAction,content:this.embedFavoriteAction(e)}}),cm.appendChild(e.nodes.container,e.params.container),e},n.embedFavoriteAction=function(n){let a=this;if(Application.User.isAuthorized()&&!n.params.renderSkeleton){let t=cm.node("div");return cm.getConstructor(a.params.favorite.constructor,e=>{n.component=new e(cm.merge(a.params.favorite.constructorParams,{container:t,data:n.data}))}),t}},n.clearToolbar=function(){cm.clearNode(this.views.toolbar.nodes.userHolder)},n.clearMessages=function(){cm.forEach(this.conversationMessages,e=>e.destruct()),cm.clearNode(this.nodes.listHolder)},n.renderMessages=function(){let n=this,a,s;n.conversationMessages=[],cm.forEach(n.conversationData.messages,function(e){var e=new n.components.messageConstructor(cm.merge(n.params.message.constructorParams,{data:e,author:n.conversationMembers[e.author],container:n.nodes.listHolder})),t=(n.conversationMessages.push(e),e.getDate()),t=(s&&s.date===t.date||(s=t,n.renderDateSeparator(s,{insertBefore:e.getContainer()})),e.getStatus());a||"unread"!==t||e.isMe()||(a=t,n.renderMarkSeparator(a,{insertBefore:e.getContainer()}))})},n.renderDateSeparator=function(e,t){t={data:e,nodes:{},params:cm.merge({insertBefore:cm.node("li")},t)};return t.nodes.container=cm.node("li",{classes:["app__conversation-separator","app__conversation-date"],role:"separator"},cm.node("div",{classes:"inner"},e.date)),cm.insertBefore(t.nodes.container,t.params.insertBefore),t},n.renderMarkSeparator=function(e,t){e={data:e,nodes:{},params:cm.merge({insertBefore:cm.node("li")},t)};return e.nodes.container=cm.node("li",{classes:["app__conversation-separator","app__conversation-status"],role:"separator"},cm.node("div",{classes:"inner"},this.msg("new_messages"))),cm.insertBefore(e.nodes.container,e.params.insertBefore),e},n.scrollToLastMessage=function(){var e=this.conversationMessages.at(-1);this.nodes.listHolder.scrollTop=e?e.getContainer().offsetTop:this.nodes.listHolder.scrollHeight,this.components.scroll&&this.components.scroll.reset()},n.renderForm=function(){let t=this,n={conversation:t.conversationData.id,members:t.members.join(","),user:t.conversationUser};t.components.create&&t.components.create.remove(),cm.getConstructor(t.params.create.constructor,function(e){t.components.create=new e(cm.merge(t.params.create.constructorParams,{container:t.nodes.form,data:n,events:{onSend:t.formRequestSend.bind(t),onSuccess:t.formRequestSuccess.bind(t),onError:t.formRequestError.bind(t)}}))})},n.enableForm=function(){this.components.create&&this.components.create.enable()},n.disableForm=function(){this.components.create&&this.components.create.disable()},n.focusForm=function(){this.components.create&&this.components.create.focus()},n.removeForm=function(){this.components.create&&this.components.create.remove()},n.formRequestSend=function(){this.components.overlay.open()},n.formRequestSuccess=function(){this.components.list.send()},n.formRequestError=function(){this.components.overlay.close()},n.setInitialView=function(){return this.resetLayout(),this.views.message=this.renderInfoView({message:this.msg("select_conversation"),container:this.nodes.listHolder}),this},n.renderInfoView=function(e){e={nodes:{},params:cm.merge({tagName:"li",container:cm.node("div"),message:null,image:null,inline:!1},e)};
1return e.nodes.container=cm.node(e.params.tagName,{classes:"app__conversation-info"},cm.node("h6",{classes:"inner",innerHTML:e.params.message})),e.params.inline&&cm.addClass(e.nodes.container,"is-inline"),cm.isEmpty(e.params.image)||(e.nodes.image=Application.Images.embed(e.params.image),cm.insertFirst(e.nodes.image,e.nodes.container)),cm.appendChild(e.nodes.container,e.params.container),e},n.renderSkeletonView=function(e){e={nodes:{},params:cm.merge({container:cm.node("div")},e)};return this.resetLayout(),this.renderToolbarUserView(null,{container:this.views.toolbar.nodes.userHolder,renderSkeleton:!0}),e},n.set=function(e){if(!cm.isEmpty(e))return this.hasConversation||this.renderSkeletonView(),this.members=[Application.userGetID(),e],this.components.list.setAction({params:{members:this.members}}),this.request()},n.request=function(){return this.components.overlay.open(),this.components.list.send(),this},n.listRequestSuccess=function(e,t){let n=this;n.components.overlay.close(),n.resetLayout(),n.hasConversation=!0,n.conversationData=t.data[0]||{},cm.isEmpty(n.conversationData)?n.conversationUser=n.params.user:(n.components.mark.setVariables(n.conversationData).send(),n.conversationMembers={},cm.forEach(n.conversationData.members,e=>{n.conversationMembers[e.id]=e}),n.conversationUser=n.conversationData.members.find(e=>e.id!==Application.userGetID()),n.conversationData.messages=n.conversationData.messages.reverse()),n.renderToolbarUserView(n.conversationUser,{container:n.views.toolbar.nodes.userHolder}),cm.isEmpty(n.conversationData.messages)?n.conversationData.infoMessage="start_conversation":n.renderMessages(),n.renderForm(),"allow"===n.user.sendMeMessage&&"allow"===n.conversationUser.sendMeMessage?(n.enableForm(),cm.isBreakpoint("tabletUp")&&n.focusForm()):(n.conversationData.infoMessage="allow"!==n.user.sendMeMessage?"conversation_disallow.by_me":"conversation_disallow.by_user",n.disableForm()),cm.isEmpty(n.conversationData.infoMessage)||(t=Application.User.validateProfile(n.conversationUser,{markPrivate:!0}),n.views.message=n.renderInfoView({inline:!cm.isEmpty(n.conversationData.messages),message:n.msg(n.conversationData.infoMessage,{"{name}":cm.escapeHTML(t.name)}),container:n.nodes.listHolder})),n.redraw()},n.listRequestError=function(e,t){t=cm.isEmpty(t.message)?this.msgParse("server_error"):t.message;this.components.overlay.close(),this.resetLayout(),this.views.message=this.renderInfoView({message:t,container:this.nodes.listHolder}),this.redraw()},n.getContainer=function(){return this.nodes.container}}),cm.define("App.Conversations",{extend:"Com.AbstractController",events:["onSet","onReset"],params:{controllerEvents:!0,renderStructure:!0,embedStructureOnRender:!0,embedStructure:"append",data:{},renderList:!0,renderTitle:!1,renderToolbar:"mobile",list:{constructor:"App.ConversationsList",constructorParams:{}},conversation:{constructor:"App.Conversation",constructorParams:{}},layout:{constructor:"App.FlowLayout",constructorParams:{}}}},function(){Com.AbstractController.apply(this,arguments)}),cm.getConstructor("App.Conversations",function(e,t,n,a){n.onConstructStart=function(){this.currenView=null},n.onRedraw=function(){this.setView(this.currenView,"instant")},n.renderView=function(){this.nodes.container=cm.node("div",{classes:"app__conversations"})},n.renderViewModel=function(){let n=this;a.prototype.renderViewModel.apply(n,arguments),cm.getConstructor(n.params.list.constructor,function(e){n.components.list=new e(cm.merge(n.params.list.constructorParams,{container:n.nodes.container,embedStructureOnRender:n.params.renderList,user:n.params.data,events:{onSuccess:function(e,t){cm.isEmpty(n.params.data)&&(cm.isEmpty(t)?(cm.clearNode(n.components.conversation.getContainer()),n.components.conversation.renderInfoView({message:n.msg("no_conversations"),tagName:"div",container:n.nodes.container})):n.components.conversation.setInitialView())},onError:function(e,t){cm.clearNode(n.components.conversation.getContainer()),n.components.conversation.renderInfoView({message:t,tagName:"div",container:n.nodes.container})},onSelect:function(e,t){n.set(t.data.user)}}})),n.components.list.request()}),cm.getConstructor(n.params.conversation.constructor,function(e){n.components.c
1onversation=new e(cm.merge(n.params.conversation.constructorParams,{container:n.nodes.container,user:n.params.data}))}),cm.getConstructor(n.params.layout.constructor,function(e){n.components.layout=new e(cm.merge(n.params.layout.constructorParams,{container:n.nodes.container,events:{onSet:(e,t)=>{"list"===t&&n.reset("full")}}})),n.components.layout.add({name:"list",node:n.components.list.getContainer(),title:{render:n.params.renderTitle,label:n.msg("title")}}),n.components.layout.add({name:"conversation",parent:"list",node:n.components.conversation.getContainer(),toolbar:{render:n.params.renderToolbar,label:n.msg("actions.back"),link:Router.getURL("user.conversations")}})}),cm.isEmpty(n.params.data)?n.reset("soft"):n.set(n.params.data,"instant")},n.set=function(e,t){return this.components.conversation.set(e.id),this.setView("conversation",t),this.triggerEvent("onSet",e),this},n.reset=function(e){return"full"===e&&(this.components.list.unselect(),this.components.conversation.setInitialView()),this.setView("list"),this.triggerEvent("onReset"),this},n.setView=function(e,t){return this.currenView=e,this.components.layout.set(e,t),this}}),cm.define("App.ConversationsList",{extend:"Com.AbstractController",events:["onSelect","onUnselect","onChange","onSuccess","onEmpty","onError"],params:{controllerEvents:!0,renderStructure:!0,embedStructureOnRender:!0,embedStructure:"append",user:null,list:{constructor:"App.ConversationListRequest",constructorParams:{showLoader:!0,autoSend:!1}},message:{constructor:"App.ConversationMessage",constructorParams:{renderStructure:!1}}}},function(){Com.AbstractController.apply(this,arguments)}),cm.getConstructor("App.ConversationsList",function(e,t,n,a){n.onConstructStart=function(){this.views={},this.conversations={},this.currentSelectedItem=null,this.previousSelectedItem=null},n.renderView=function(){this.nodes.container=cm.node("div",{classes:["app__conversations__list","is-hidden"]})},n.renderViewModel=function(){var t=this;cm.getConstructor(t.params.list.constructor,function(e){t.components.list=new e(cm.merge(t.params.list.constructorParams,{overlayParams:{container:t.nodes.container},events:{onSuccess:t.listRequestSuccess.bind(t),onError:t.listRequestError.bind(t)}}))}),cm.getConstructor(t.params.message.constructor,function(e){t.components.messageConstructor=e}),a.prototype.renderViewModel.apply(t,arguments)},n.renderListView=function(e,t){var n,a=this,s={nodes:{},items:[],data:e,params:cm.merge({container:cm.node("div")},t)};return s.nodes.container=s.nodes.holder=cm.node("div",{classes:"inner"}),cm.forEach(s.data,function(e){e=a.handleListItemData(e),(n=a.renderListItemView(e,{container:s.nodes.holder}))&&s.items.push(n)}),cm.isEmpty(a.params.user)||(n=a.renderListItemView({user:a.params.user},{container:s.nodes.holder,insertMethod:"insertFirst"}))&&s.items.push(n),cm.appendChild(s.nodes.container,s.params.container),s},n.handleListItemData=function(e){return e.user=e.members.find(function(e){return e.id!==Application.userGetID()}),e.message=e.messages&&e.messages[0],e},n.renderListItemView=function(e,t){var n=this,a={nodes:{},items:[],data:e,isActive:!1,params:cm.merge({container:cm.node("div"),insertMethod:"appendChild"},t)};if(!n.conversations[a.data.user.id])return(n.conversations[a.data.user.id]=a).card=Application.User.renderCard(a.data.user,{modifiers:["conversation-list"],link:Router.getURL("user.conversation",null,{id:a.data.user.id}),renderLink:!0,noRoute:!0,user:{render:!0,tagName:"h5",renderBadge:!1,classes:["is-nowrap"]},description:{render:!0,content:n.renderListItemDescription(a),classes:["card__normal","is-nowrap","h7"]},callback:e=>{cm.preventDefault(e),n.select(a.data.user.id,!0)}}),a.nodes=a.card.nodes,cm.isEmpty(n.params.user)||n.params.user.id!==a.data.user.id||n.select(a.data.user.id,!1),cm[a.params.insertMethod](a.nodes.container,a.params.container),a},n.renderListItemDescription=function(e){return cm.isEmpty(e.data.message)?e.nodes.message=cm.node("h6",this.msg("new_conversation")):(e.message=new this.components.messageConstructor(cm.merge(this.params.message.constructorParams,{data:e.data.message})),e.nodes.message=cm.node("h6",this.msg("last_message_date",{"{date}":e.message.getDate().dateTime})),0<e.data.unread&&(e.nodes.unread=cm.node("div",{title:this.msg("last_message_unread"),classes:["card__mark","app__mark"]}),cm.insertFirst(e.nodes.unread,e.nodes.message))),e.nodes.message},n.select=function(e,t){var n=this,e=(t=!!cm.isUndefined(t)||t,n.conversations[e]);return e&&(n.unselect(t),n.currentSelectedItem=e,n.currentSelectedItem.isActive=!1,cm.addClass(n.currentSelectedItem.nodes.container,"active"),t)&&(n.triggerEvent("onSelect",n.currentSelectedItem),n.previousSelectedItem!==n.currentSelectedItem)&&n.triggerEvent("onChange",n.currentSelectedItem),n},n.unselect=function(e){e=!!cm.isUndefined(e)||e,this.currentSelectedItem&&(this.previousSelectedItem=this.currentSelectedItem,this.currentSelectedItem.isActive=!1,cm.removeClass(this.currentSelectedItem.nodes.container,"active"),e)&&this.triggerEvent("onUnselect",this.previousSelectedItem)},n.request=function(){return this.components.list.send()},n.listRequestSuccess=function(e,t){var n=this;n.conversationsData=t.data,cm.isEmpty(n.conversationsData)&&cm.isEmpty(n.params.user)?n.triggerEvent("onEmpty"):n.views.list=n.renderListView(n.conversationsData,{container:n.nodes.container}),n.triggerEvent("onSuccess",n.conversationsData)},n.listRequestError=function(e,t){t=cm.isEmpty(t.message)?this.msgParse("server_error"):t.message;this.triggerEvent("onError",t)},n.getContainer=function(){return this.nodes.container}}
1),cm.define("App.ConversationListRequest",{extend:"App.Request",params:{showLoader:!1,autoSend:!1,successOnEmptyData:!0,responseKey:null,responseErrorsKey:"message",ajax:{url:App._api.conversation.list,type:"json",method:"GET"}}},function(){App.Request.apply(this,arguments)}),cm.define("App.ConversationMarkRequest",{extend:"App.Request",params:{showLoader:!1,autoSend:!1,successOnEmptyData:!0,responseKey:null,responseErrorsKey:"message",ajax:{url:App._api.conversation.update,type:"json",method:"PUT",paramsType:"json"}}},function(){App.Request.apply(this,arguments)}),cm.define("App.ConversationMessage",{extend:"Com.AbstractController",params:{controllerEvents:!0,renderStructure:!0,embedStructureOnRender:!0,embedStructure:"append",removeOnDestruct:!0,data:{},author:{}}},function(){Com.AbstractController.apply(this,arguments)}),cm.getConstructor("App.ConversationMessage",function(e,t,n,a){n.renderView=function(){var e=this,t=e.getDate();e.nodes.container=cm.node("li",{classes:"app__conversation-message"},cm.node("div",{classes:"inner"},e.nodes.content=cm.node("p",{classes:["content","is-small"]},cm.textNode(e.params.data.content),e.nodes.date=cm.node("span",{classes:"date",title:t.dateTime},t.time)))),t.isUpdated&&cm.insertBefore(cm.node("span",e.msg("updated")),e.nodes.date),e.isMe()?cm.addClass(e.nodes.container,"is-self"):(cm.addClass(e.nodes.container,"is-companion"),"unread"===e.getStatus()&&cm.addClass(e.nodes.container,"is-unread"))},n.isMe=function(){return this.params.data.author===Application.userGetID()},n.getContainer=function(){return this.nodes.container},n.getDate=function(){return Application.getConversationDate(this.params.data)},n.getStatus=function(){return this.params.data.status}}),cm.define("App.ConversationRequest",{extend:"App.Request",params:{showLoader:!1,autoSend:!1,successOnEmptyData:!0,responseKey:null,responseErrorsKey:"message",ajax:{url:App._api.conversation.read,type:"json",method:"GET",uriConfig:{multipleValues:"join"}}}},function(){App.Request.apply(this,arguments)}),cm.define("App.CookieNoticeDialogContainer",{extend:"Com.AbstractContainer",events:["onComplete"],params:{controllerEvents:!0,destructOnClose:!1,constructor:"App.CookieNoticeDialog",placeholder:!0,placeholderConstructor:"Com.DialogContainer",placeholderParams:{renderTitle:!1,renderButtons:!1,constructorParams:{width:"100%",height:"100%",theme:"theme-light theme-borderless theme-promo theme-promo-cookie-notice",documentScroll:!0,
1closeButton:!1,closeOnEsc:!1,closeOnDocument:!1,closeOnBackground:!1,adaptivePreset:"adaptive",presets:{adaptive:{valign:"bottom"}}}},settings:{constructor:"App.CookieNoticeSettingsContainer",constructorParams:{openOnConstruct:!0}}}},function(){Com.AbstractContainer.apply(this,arguments)}),cm.getConstructor("App.CookieNoticeDialogContainer",function(e,t,n,a){n.constructControllerEvents=function(){let a=this;return{onSelect:(e,t,n)=>a.afterSelect(t,n)}},n.afterSelect=function(e,t){let a=this;"back"===e?a.open():"settings"===e?(a.close(),cm.getConstructor(a.params.settings.constructor,e=>{a.components.settings=new e(cm.merge(a.params.settings.constructorParams,{events:{onComplete:(e,t,n)=>a.afterSelect(t,n)}}))})):(a.close(),a.triggerEvent("onComplete",t))}}),cm.define("App.CookieNoticeDialog",{extend:"Com.AbstractController",events:["onSelect"],params:{controllerEvents:!0,renderStructure:!0,embedStructureOnRender:!0,embedStructure:"append"}},function(){Com.AbstractController.apply(this,arguments)}),cm.getConstructor("App.CookieNoticeDialog",function(e,t,n,a){n.renderView=function(){let t=this;t.nodes.container=cm.node("div",{classes:["app__user-box","app__user-box--cookie-notice"]},cm.node("div",{classes:"inner"},cm.node("h4",{classes:"box__title",innerHTML:t.msg("title")}),cm.node("div",{classes:"box__entry",innerHTML:t.msg("description")}),cm.node("div",{classes:"box__buttons"},Application.Buttons.embedContainer({classes:["pull-center","is-box"],items:[{label:t.msg("actions.accept"),modifiers:["round-gradient"],callback:e=>t.goContinue(e,"accept",{all:!0})},{label:t.msg("actions.decline"),modifiers:["border-gradient"],callback:e=>t.goContinue(e,"decline",{all:!1})},{label:t.msg("actions.settings"),modifiers:["round-transparent"],callback:e=>t.goContinue(e,"settings")}]}))))},n.goContinue=function(e,t,n){e&&cm.preventDefault(e),this.triggerEvent("onSelect",t,n)}}),cm.define("App.CookieNoticeSettingsContainer",{extend:"Com.AbstractContainer",events:["onComplete"],params:{controllerEvents:!0,destructOnClose:!0,constructor:"App.CookieNoticeSettings",placeholder:!0,placeholderConstructor:"Com.DialogContainer",placeholderParams:{renderButtons:!1,constructorParams:{width:App._config.dialog.widthHalf,theme:"theme-light",titleAlign:"center",closeButton:!1,closeOnEsc:!1,closeOnDocument:!1,closeOnBackground:!1}}}},function(){Com.AbstractContainer.apply(this,arguments)}),cm.getConstructor("App.CookieNoticeSettingsContainer",function(e,t,n,a){n.constructControllerEvents=function(){let a=this;return{onSelect:(e,t,n)=>a.afterSelect(t,n)}},n.afterSelect=function(e,t){this.close(),this.triggerEvent("onComplete",e,t)}}),cm.define("App.CookieNoticeSettings",{extend:"Com.AbstractController",events:["onSelect"],params:{controllerEvents:!0,renderStructure:!0,embedStructureOnRender:!0,embedStructure:"append",form:{constructor:"Form.CookieNotice",constructorParams:{}}}},function(){Com.AbstractController.apply(this,arguments)}),cm.getConstructor("App.CookieNoticeSettings",function(e,t,n,a){n.renderView=function(){let t=this;t.nodes.container=cm.node("div",{classes:["app__user-box","app__user-box--cookie-notice-settings"]},cm.node("div",{classes:"inner"},cm.node("div",{classes:"box__nav"},Application.Buttons.embed({label:t.msg("actions.back"),modifiers:["editable"],icons:{before:"chevronLeft"},callback:e=>t.goContinue(e,"back")})),cm.node("div",{classes:"box__entry",innerHTML:t.msg("description")}),t.nodes.form=cm.node("div",{classes:"box__form"}),cm.node("hr",{classes:"box__separator"}),cm.node("div",{classes:"box__links"},cm.node("ul",{classes:"h6"},cm.node("li",cm.node("a",{innerText:t.msg("actions.privacyPolicy"),href:Router.getURL("page",null,{id:"privacy-policy"}),target:"_blank","data-no-route":"true"})),cm.node("li",cm.node("a",{innerText:t.msg("actions.termsConditions"),href:Router.getURL("page",null,{id:"Universal-Terms-of-Service"}),target:"_blank","data-no-route":"true"}))))))},n.renderViewModel=function(){let t=this;a.prototype.renderViewModel.apply(t,arguments),cm.getConstructor(t.params.form.constructor,e=>{t.components.form=new e(cm.merge(t.params.form.constructorParams,{container:t.nodes.form,events:{onSend:e=>t.goSave(e.get())}}))})},n.goSave=function(e){this.goContinue(null,"accept",e)},n.goContinue=function(e,t,n){e&&cm.preventDefault(e),this.triggerEvent("onSelect",t,n)}}),App._path["components.DashboardPromo.img"]="./img/components/DashboardPromo",cm.define("App.DashboardPromo",{extend:"Com.AbstractController",events:["onEmpty"],params:{controllerEvents:!0,renderStructure:!0,embedStructureOnRender:!0,embedStructure:"append",userParamName:"dashboard-promo-viewed",questionary:{enable:!1,data:null,constructor:"App.Questionary",constructorParams:{modifiers:["dashboard"]}},sectionScroll:{constructor:"App.SectionScroll",constructorParams:{modifiers:["dashboard-promo"],arrowsModifiers:["middle"],arrowClasse
1s:["has-border","has-blur"],slideshow:!0,delay:5e3}}}},function(){Com.AbstractController.apply(this,arguments)}),cm.getConstructor("App.DashboardPromo",function(e,t,n,a){n.onConstructStart=function(){this.items={},this.viewed=Application.User.getParams(this.params.userParamName)||[],this.hasSlider=!1},n.onDestructEnd=function(){cm.forEach(this.components,e=>e.destruct())},n.renderView=function(){this.nodes.container=cm.node("div",{classes:["app__dashboard-promo"]}),this.params.questionary.enable&&this.renderQuestionaryView({container:this.nodes.container}),1<cm.getLength(this.items)&&this.renderScrollView(),this.checkViewed()},n.renderViewModel=function(){a.prototype.renderViewModel.apply(this,arguments)},n.renderScrollView=function(){let t=this;cm.getConstructor(t.params.sectionScroll.constructor,e=>{t.hasSlider=!0,t.components.sectionScroll=new e(cm.merge(t.params.sectionScroll.constructorParams,{container:t.nodes.container})),cm.forEach(t.items,e=>{e.nodes.column=t.components.sectionScroll.addColumn(e.nodes.container)}),t.components.sectionScroll.observe()})},n.renderQuestionaryView=function(e){let t=this,n={nodes:{},data:t.msgObject("questionary"),params:cm.merge({container:cm.node("div"),modifiers:["questionary"],hue:"200",itemTag:"div",imageClasses:[],titleTag:"h5",titleClasses:[],descriptionTag:"div",descriptionClasses:[]},e)};n.viewed=cm.inArray(t.viewed,n.data.name),n.button=!1,n.closable=!0,n.onRemove=()=>UserHelper.updateUserParams({[n.data.userParamName]:"skipped"}),n.viewed||n.submitted||(t.renderItemStructure(n),cm.getConstructor(t.params.questionary.constructor,e=>{t.components.questionary=new e(cm.merge(t.params.questionary.constructorParams,{container:n.nodes.content,data:t.params.questionary.data,events:{onNavSet:()=>t.setItemHue(n,cm.randHue(n.hue)),onComplete:()=>t.setItemHue(n,cm.getCSSVariable("--cm-hue--success",n.nodes.container)),onError:()=>t.setItemHue(n,cm.getCSSVariable("--cm-hue--danger",n.nodes.container)),onClose:()=>t.removeItem(n,!1)}}))}),t.processItem(n))},n.renderItemStructure=function(t){let e=this;t.itemTag=t.params.itemTag,t.itemParams={},"a"===t.itemTag&&(t.itemParams.href=t.url,t.itemParams.target=t.params.target,t.itemParams.rel=t.params.rel),t.itemParams.classes=["app__dashboard-promo__item","a"===t.itemTag?"is-link":"is-card"],cm.forEach(t.params.modifiers,e=>{t.itemParams.classes.push("app__dashboard-promo__item--"+e)}),t.imageClasses=cm.extend(t.params.imageClasses,["item__image"]),t.nodes.container=cm.node("article",{classes:"app__dashboard-promo__article"},t.nodes.card=cm.node(t.itemTag,t.itemParams,t.nodes.image=cm.isEmpty(t.data.image)?null:cm.node("div",{classes:t.imageClasses}),t.nodes.content=cm.node("div",{classes:"item__content"},t.nodes.title=cm.isEmpty(t.data.title)?null:cm.node(t.params.titleTag,{classes:t.params.titleClasses,innerHTML:t.data.title}),t.nodes.description=cm.isEmpty(t.data.description)?null:cm.node(t.params.descriptionTag,{classes:t.params.descriptionClasses,innerHTML:t.data.description})),t.nodes.button=t.button?cm.node("div",{classes:"item__button"}):null)),cm.isEmpty(t.data.image)||e.renderItemLogo(t.data,{container:t.nodes.image}),t.closable&&(t.nodes.close=cm.node("div",{classes:"app__dashboard-promo__close"},Application.Buttons.embed({modifiers:["editable","editable-faded"],label:e.msg("actions.hide"),title:e.msg("actions.hideTitle"),icons:{after:"close",classes:["x-small"]},handler:()=>e.removeItem(t,!0)})),cm.appendChild(t.nodes.close,t.nodes.container))},n.renderItemLogo=function(e,t){e={data:e,nodes:{},params:cm.merge({classes:["is-contain"],container:cm.node("div"),insertMethod:"appendChild"},t)};return cm.isEmpty(e.data.image)&&e.params.classes.push("is-blank"),e.image=Application.Images.render({container:e.params.container,classes:e.params.classes,modifiers:e.params.modifiers,image:App.getPath("components.DashboardPromo.img",e.data.image),blank:App.getPath("common.img","svg/sandbox.svg"),alt:e.data.alt||e.data.title,imageDataset:{pinNopin:"true"}}),e},n.processItem=function(t){let n=this;return n.setItemHue(t,t.params.hue),t.tickingHandler=cm.ticking(),cm.addEvent(t.no
1des.container,"pointermove",e=>{cm.isMotionReduced()||"mouse"!==e.pointerType||t.tickingHandler(()=>n.onItemAnimate(t,e))}),cm.appendChild(t.nodes.container,t.params.container),n.items[t.data.name]=t},n.setItemHue=function(e,t){e=cm.isString(e)?this.items[e]:e;e&&(e.hue=t||App.stringHashHue(e.data.title||e.data.description),cm.setCSSVariable("--color-hue",e.hue,e.nodes.container))},n.removeItem=function(e,t){var n,e=cm.isString(e)?this.items[e]:e;e&&(this.hasSlider&&this.components.sectionScroll.removeColumn(e.nodes.column),n=e.data.name,cm.remove(e.nodes.container),cm.arrayAdd(this.viewed,n),delete this.items[n],UserHelper.updateUserParams({[this.params.userParamName]:this.viewed}),t&&cm.isFunction(e.onRemove)&&e.onRemove(e),this.checkViewed())},n.onItemAnimate=function(e,t){var n=100/window.innerWidth*.75,t=50-(t.clientX-window.innerWidth/2)*n;cm.setCSSVariable("--position-x",t+"%",e.nodes.card)},n.checkViewed=function(){let t=this;t.hasSlider&&1===cm.getLength(t.items)&&(cm.forEach(t.items,e=>{cm.appendChild(e.nodes.container,t.nodes.container)}),t.components.sectionScroll.remove(),t.hasSlider=!1),0===cm.getLength(t.items)&&t.triggerEvent("onEmpty")}}),App._path["components.DashboardWizard.img"]="./img/components/DashboardWizard",cm.define("App.DashboardWizardFinishDialogContainer",{extend:"Com.AbstractContainer",params:{controllerEvents:!0,destructOnClose:!0,constructor:"App.DashboardWizardFinishDialog",placeholder:!0,placeholderConstructor:"Com.DialogContainer",placeholderParams:{renderTitle:!1,renderButtons:!1,constructorParams:{width:App._config.dialog.widthHalf,theme:"theme-light"}}}},function(){Com.AbstractContainer.apply(this,arguments)}),cm.define("App.DashboardWizardFinishDialog",{extend:"Com.AbstractController",params:{controllerEvents:!0,renderStructure:!0,embedStructureOnRender:!0,embedStructure:"append",page:"Page.UserDashboard",confetti:{constructor:"App.OverlayConfetti",constructorParams:{}}}},function(){Com.AbstractController.apply(this,arguments)}),cm.getConstructor("App.DashboardWizardFinishDialog",function(e,t,n,a){n.onConstructStart=function(){this.views={};var e=this.messageObject(Application.User.getRole());cm.isEmpty(e)||this.setMessages(e)},n.onConstructEnd=function(){this.toggleConfetti(!0)},n.onDestructStart=function(){this.toggleConfetti(!1),this.components.confetti?.destruct()},n.renderView=function(){this.nodes.container=cm.node("div",{classes:"app__dashboard-wizard-finish"}),this.views.completed=this.renderCompletedView({container:this.nodes.container})},n.renderViewModel=function(){let t=this;a.prototype.renderViewModel.apply(t,arguments),cm.find(t.params.page,null,null,e=>{t.components.page=e})},n.toggleConfetti=function(e){let t=this;t.confettiDelay&&clearTimeout(t.confettiDelay),(e||t.components.confetti)&&(t.components.confetti||cm.getConstructor(t.params.confetti.constructor,e=>{t.components.confetti=new e(cm.merge(t.params.confetti.constructorParams,{container:t.params.opener?.getPlaceholder().getController().getNodes("bg")}))}),e?t.confettiDelay=setTimeout(()=>{t.components.confetti.start(),t.confettiDelay=setTimeout(()=>t.components.confetti.stop(),5e3)},700):t.components.confetti.stop())},n.renderCompletedView=function(e){let t=this;e={nodes:{},isVisible:!1,params:cm.merge({container:cm.node("div")},e)};return e.nodes.container=cm.node("div",{classes:["section__block","section__completed"]},cm.node("div",{classes:"section__party","aria-hidden":"true"},Application.Images.embed({image:App.getPath("components.DashboardWizard.img","party.gif"),alt:t.msg("completed.title"),modifiers:["dashboard-wizard-completed"],classes:["is-contain"],imageDataset:{pinNopin:"true"}}),Application.Images.embed({image:App.getPath("components.DashboardWizard.img","party.gif"),alt:t.msg("completed.title"),modifiers:["dashboard-wizard-completed"],classes:["is-contain"],imageDataset:{pinNopin:"true"}})),cm.node("div",{classes:"section__title",innerHTML:t.msg("title")}),cm.node("div",{classes:"section__separator"}),cm.node("div",{classes:"section__entry",innerHTML:t.msg("description")}),cm.node("div",{classes:"section__button"},Application.Buttons.embed({label:t.msg("button"),modifiers:["hero-border"],link:Router.getURL("user.settings",t.msg("tab")),target:"_blank",no
1Route:!0,ariaHasPopup:"dialog",icons:{after:"chevronRight"},callback:e=>{cm.preventDefault(e),t.params.opener?.close(),t.components.page.openPreferences(t.msg("tab"))}}))),cm.appendChild(e.nodes.container,e.params.container),e}}),cm.define("App.DashboardWizard",{extend:"Com.AbstractController",events:["onComplete","onIncomplete"],params:{controllerEvents:!0,renderStructure:!0,embedStructureOnRender:!0,embedStructure:"append",duration:"cm._config.animDurationLong",durationMax:2e3,delay:"cm._config.hideDelay",page:"Page.UserDashboard",storageName:"dashboard-wizard-completed",finish:{constructor:"App.DashboardWizardFinishDialogContainer",constructorParams:{openOnConstruct:!0}}}},function(){Com.AbstractController.apply(this,arguments)}),cm.getConstructor("App.DashboardWizard",function(e,t,n,a){n.onConstructStart=function(){var e=this,t=(e.views={},e.fields={},e.delay=e.params.delay,e.isCompleted=!1,e.isFinishShown=!1,e.updateCriteriaHandler=e.updateCriteria.bind(e),e.messageObject(Application.User.getRole()));cm.isEmpty(t)||e.setMessages(t),e.setCriteria()},n.onConstructEnd=function(){this.toggleStates(this.isFulfilled)},n.onDestructStart=function(){cm.hook.remove("user.profile.update",this.updateCriteriaHandler),this.stateChangeDelay&&clearTimeout(this.stateChangeDelay)},n.renderView=function(){this.nodes.container=cm.node("div",{classes:"app__dashboard-wizard"}),this.views.list=this.renderCriteriaListView({container:this.nodes.container})},n.renderViewModel=function(){let t=this;a.prototype.renderViewModel.apply(t,arguments),cm.find(t.params.page,null,null,e=>{t.components.page=e}),cm.hook.add("user.profile.update",t.updateCriteriaHandler)},n.getCriteria=function(){let t=this;return[{name:"avatar",fulfilled:!cm.isEmpty(t.profile.data.profile.image),action:()=>t.components.page.openPreferences("avatar")},{name:"cover",fulfilled:!cm.isEmpty(t.profile.data.profile.cover),action:()=>t.components.page.openPreferences("cover")},{name:"shortname",fulfilled:!cm.isEmpty(t.profile.data.shortname),link:Router.getURL("user.settings","profile"),action:()=>t.components.page.openPreferences("profile")},{name:"biography",fulfilled:!cm.isEmpty(t.profile.data.profile.biography),link:Router.getURL("user.settings","working-details"),action:()=>t.components.page.openPreferences("working-details")},{name:"birthday",fulfilled:!cm.isEmpty(t.profile.data.profile.birthday)&&"0000-00-00"!==t.profile.data.profile.birthday,link:Router.getURL("user.settings","profile"),action:()=>t.components.page.openPreferences("profile")},{name:"occupation",role:"tech",fulfilled:!cm.isEmpty(t.profile.data.profile.occupation),link:Router.getURL("user.settings","working-details"),action:()=>t.components.page.openPreferences("working-details")},{name:"address",fulfilled:!cm.isEmpty(t.profile.data.profile.address),link:Router.getURL("user.settings","working-details"),action:()=>t.components.page.openPreferences("working-details")},{name:"photos",fulfilled:cm.isNumber(t.profile.data.photos)&&3<=t.profile.data.photos,link:Router.getURL("user.gallery"),action:()=>t.components.page.openPreferences("photo")}].filter(e=>!e.role||e.role===t.profile.role)},n.setCriteria=function(){this.profile=Application.User.validateProfile(),this.criteria=this.getCriteria(),this.isFulfilled=this.criteria.every(e=>e.fulfilled),this.fulfilledCount=this.criteria.filter(e=>e.fulfilled).length},n.updateCriteria=function(){let n=this;cm.find(n.params.page,null,null,e=>{n.components.page=e}),n.setCriteria(),n.changedCriteria=n.criteria.filter(e=>e.fulfilled!==n.fields[e.name].data.fulfilled),0!==n.changedCriteria.length&&(n.setChartPercentage(),n.changedCriteria.forEach(e=>{var t=n.fields[e.name];t.data=e,n.setCriteriaItemStatus(t)}),n.toggleStates(n.isFulfilled))},n.renderChartView=function(e){let t={nodes:{},params:cm.merge({container:cm.node("div"),insertMethod:"appendChild"},e)};return t.nodes.container=cm.node("div",{classes:"section__criteria-chart"},cm.node("div",{classes:"outer"}),cm.node("div",{classes:"inner"},cm.node("div",{classes:"wave"}),cm.node("div",{classes:"label"},t.nodes.percentage=cm.node("div",{classes:"percentage"},"0%"),cm.node("div",{classes:"description"}
1,this.msg("icon.description"))))),cm.addEvent(t.nodes.container,"transitionend",e=>{e.target===t.nodes.container&&cm.removeClass(t.nodes.container,"is-animating")}),this.setChartPercentage(t),cm[t.params.insertMethod](t.nodes.container,t.params.container),t},n.setChartPercentage=function(t){let n=this;if(t||=n.views.chart){t.prevPercentage=t.percentage||0,t.percentage=Math.round(n.fulfilledCount/n.criteria.length*100);let e=Math.max(n.params.durationMax*Math.abs(t.prevPercentage-t.percentage)/100,n.params.duration);cm.setCSSVariable("--dashboard-wizard--duration",e+"ms",t.nodes.container),t.stateChangeDelay&&clearTimeout(t.stateChangeDelay),t.stateChangeDelay=setTimeout(()=>{cm.addClass(t.nodes.container,"is-animating"),cm.setCSSVariable("--dashboard-wizard--percentage",t.percentage+"%",t.nodes.container),n.animateNumber(t.prevPercentage,t.percentage,e,e=>{t.nodes.percentage.innerText=e+"%"})},n.params.delay)}},n.toggleChartState=function(e){var t=this.views.chart;t&&cm.toggleClass(t.nodes.container,"is-fulfilled",e)},n.renderCriteriaListView=function(e){let n=this,a={nodes:{},isVisible:!0,params:cm.merge({container:cm.node("div")},e)};return a.nodes.container=cm.node("div",{classes:["section__block","section__criteria"]},a.nodes.list=cm.node("ul",{classes:"section__criteria-list"})),n.views.chart=n.renderChartView({container:a.nodes.container,insertMethod:"insertFirst"}),cm.forEach(n.criteria,(e,t)=>{n.fields[e.name]=n.renderCriteriaItemView(e,{container:a.nodes.list,index:t+1})}),cm.appendChild(a.nodes.container,a.params.container),a},n.renderCriteriaItemView=function(e,t){let n={nodes:{},data:e,params:cm.merge({container:cm.node("div"),index:1},t)};n.nodes.container=cm.node("li",{classes:["section__criteria-list__item","is-transparent"]},n.nodes.title=cm.node("div",{classes:"title"}));e=this.getMessage("criteria."+n.data.name);return n.nodes.button=Application.Buttons.embed({container:n.nodes.title,classes:["is-unfulfilled"],modifiers:["dashboard"],label:e.label||e,link:n.data.link,target:"_blank",noRoute:!0,ariaHasPopup:"dialog",icons:{classes:["medium"],before:"plus-circle",after:"check-circle"},callback:e=>{cm.preventDefault(e),n.data.action()}}),cm.isEmpty(e.hint)||cm.appendChild(cm.node("div",{classes:"hint"},e.hint),n.nodes.title),this.setCriteriaItemStatus(n,n.params.index),cm.appendChild(n.nodes.container,n.params.container),n},n.setCriteriaItemStatus=function(e,t){e&&(this.delay=this.params.delay*(t||1),e.stateChangeDelay&&clearTimeout(e.stateChangeDelay),e.stateChangeDelay=setTimeout(()=>{cm.toggleClass(e.nodes.container,"is-unfulfilled",!e.data.fulfilled),cm.toggleClass(e.nodes.container,"is-fulfilled",e.data.fulfilled),cm.toggleClass(e.nodes.button,"is-unfulfilled",!e.data.fulfilled),cm.toggleClass(e.nodes.button,"is-fulfilled",e.data.fulfilled),cm.removeClass(e.nodes.container,"is-transparent",e.data.fulfilled)},this.delay))},n.animateNumber=function(n,a,s,o,r){let i=performance.now(),c=e=>{var e=e-i,e=Math.min(e/s,1),t=(t=e)<.5?2*t*t:(4-2*t)*t-1,t=Math.round(n+(a-n)*t);o(t),e<1?requestAnimationFrame(c):r&&r()};requestAnimationFrame(c)},n.toggleStates=function(e){let t=this;var n=t.delay+t.params.delay;t.stateChangeDelay&&clearTimeout(t.stateChangeDelay),t.stateChangeDelay=setTimeout(()=>{t.isCompleted=e,t.isCompleted?(t.showFinishState(),t.triggerEvent("onComplete")):t.triggerEvent("onIncomplete"),t.updateUserParams()},n)},n.showFinishState=function(){let t=this;Application.User.getParams(t.params.storageName)||t.isFinishShown||(t.isFinishShown=!0,cm.getConstructor(t.params.finish.constructor,e=>{t.components.finish=new e(t.params.finish.constructorParams)}))},n.updateUserParams=function(){Application.User.getParams(this.params.storageName)!==this.isCompleted&&UserHelper.updateUserParams({[this.params.storageName]:this.isCompleted})}}),cm.getConstructor("App.Application",function(e,t,n,a){n.Directory={},n.Directory.PIN_CLASS="app__directory-pin",n.Directory.PIN_COUNTER_CLASS="app__directory-pin__counter",n.Directory.renderPin=function(e){let t={nodes:{},icons:{},params:cm.merge({container:cm.node("div"),insertMethod:"appendChild",classes:[],modifiers:[],styles:{},size:80,image:{classes:["is-cover"],modifiers:["directory-pin"],ariaHidden:!0,imageDataset:{pinNopin:"true"}},badge:null},e)};
1return t.classes=cm.merge([Application.Directory.PIN_CLASS],t.params.classes),cm.forEach(t.params.modifiers,e=>{t.classes.push(Application.Directory.PIN_CLASS+"--"+e)}),t.params.size&&t.classes.push("size--"+t.params.size),t.nodes.container=cm.node("div",{classes:t.classes,styles:t.params.styles},t.nodes.icon=Application.Images.embedIcon({icon:"pin-gradient",ariaHidden:!0}),t.nodes.imageHolder=cm.node("div",{classes:Application.Directory.PIN_CLASS+"__image"})),cm.isNode(t.params.image)?t.nodes.image=t.params.image:t.nodes.image=Application.Images.embed(t.params.image),cm.appendChild(t.nodes.image,t.nodes.imageHolder),cm.isNode(t.params.badge)&&(t.nodes.badge=t.params.badge,cm.appendChild(t.nodes.badge,t.nodes.container)),cm[t.params.insertMethod](t.nodes.container,t.params.container),t},n.Directory.embedPin=function(){return Application.Directory.renderPin.apply(this,arguments).nodes.container},n.Directory.renderPinCounter=function(e){let t={nodes:{},icons:{},params:cm.merge({container:cm.node("div"),insertMethod:"appendChild",classes:[],modifiers:[],count:0},e)};return t.classes=cm.merge([Application.Directory.PIN_COUNTER_CLASS],t.params.classes),cm.forEach(t.params.modifiers,e=>{t.classes.push(Application.Directory.PIN_COUNTER_CLASS+"--"+e)}),t.params.count&&t.classes.push("count--"+cm.countDigits(t.params.count)),t.nodes.container=cm.node("div",{classes:t.classes},cm.formatNumber(t.params.count)),cm[t.params.insertMethod](t.nodes.container,t.params.container),t},n.Directory.embedPinCounter=function(){return Application.Directory.renderPinCounter.apply(this,arguments).nodes.container}}),cm.define("App.DirectoryCard",{extend:"Com.AbstractController",events:["onCardRender"],params:{controllerEvents:!0,renderStructure:!0,embedStructureOnRender:!0,embedStructure:"append",fieldsData:{speciality:{}},favorite:{constructor:"App.UserFavoriteButton",constructorParams:{renderLabel:!1,type:"icon"}},request:{constructor:"App.UserRequest",constructorParams:{showLoader:!1,autoSend:!1}}}},function(){Com.AbstractController.apply(this,arguments)}),cm.getConstructor("App.DirectoryCard",function(e,t,n,a){n.onConstructStart=function(){this.cards={},this.current=null,this.currentUser=null,this.specialityData=null,this.specialityList=[]},n.onValidateParams=function(){this.params.fieldsData?.speciality&&this.setSpeciality(this.params.fieldsData.speciality)},n.onDestructEnd=function(){cm.forEach(this.components,e=>e.destruct())},n.renderView=function(){this.nodes.container=cm.node("div",{classes:"app__directory-card"})},n.renderViewModel=function(){let n=this;a.prototype.renderViewModel.apply(n,arguments),cm.getConstructor(n.params.request.constructor,e=>{n.components.request=new e(cm.merge(n.params.request.constructorParams,{overlayParams:{container:n.nodes.container,appendMode:"insertFirst"},events:{onSuccess:(e,t)=>n.renderCard(t.data),onError:()=>n.renderError()}}))})},n.renderSkeleton=function(){var e={};e.card=Application.User.embedCard(null,{modifiers:["map-info"],renderLink:!0,user:{render:!0,renderBadge:!1,markPrivate:!0,renderSkeleton:!0},description:{render:!0,renderBadge:!0,classes:["card__block","is-flex","h7"]}}),this.appendCard(e)},n.renderError=function(){var e={};e.card=cm.node("div",{classes:["cm__empty","h6"],innerHTML:this.msgParse("server_error")}),this.appendCard(e)},n.renderCard=function(e){e={id:e.id,user:Application.User.validateProfile(e)};e.card=Application.User.embedDetailedCard(e.user.data,{modifiers:["map-info"],address:{render:!0},speciality:{render:!0,list:this.specialityList},licenses:{render:!0,constructorParams:{renderFullInfo:!1}},editable:{enable:Application.User.isAuthorized()&&!e.user.isMe,content:this.embedFavoriteAction(e)}}),this.appendCard(e),this.cards[e.id]=e,this.triggerEvent("onCardRender",e)},n.appendCard=function(e){this.removeCard(this.current),e&&(cm.appendChild(e.card,this.nodes.container),this.current=e)},n.removeCard=function(e){e&&(cm.remove(e.card),this.current=null)},n.embedFavoriteAction=function(n){let a=this;if(Application.User.isAuthorized()){let t=cm.node("div");return cm.getConstructor(a.params.favorite.constructor,e=>{n.component=new e(cm.merge(a.params.favorite.constructorParams,{container:t,data:n.user.data}))}),t}},n.request=function(e){var t=this;if(e&&e.id===t.currentUser?.id||t.components.request.abort(),t.currentUser=e,t.currentUser){e=t.cards[t.currentUser.id];if(e)return t.appendCard(e);t.renderSkeleton();e={id:t.currentUser.shortname||t.currentUser.id};t.components.request.setAction({variables:e}).send()}},n.setSpeciality=function(e){return this.specialityData=e,this.specialityList=Application.User.convertSpecialityToList(this.specialityData),this},n.getContainer=function(){return this.nodes.container}}
1),cm.define("App.Directory",{extend:"Com.AbstractController",events:["onRequest","onMapLoadSuccess","onMapLoadError"],params:{name:"members-map",controllerEvents:!0,renderStructure:!0,embedStructureOnRender:!0,embedStructure:"append",toolbar:null,cardsContainer:null,map:{apiKey:App._env.googleApiKey,zoom:App._config.map.zoom,scaleOffset:1,paddingOffset:0,place:{},location:App._config.map.location,script:{path:"google.maps",src:App._config.google.apiLink},constructorParams:{mapTypeControl:!1,fullscreenControl:!1,streetViewControl:!1,minZoom:5}},mapInfo:{constructorParams:{disableAutoPan:!1}},markerClusterer:{script:{path:"markerClusterer",src:"%assetsUrl%/libs/markerclusterer/dist/index.min.js?v=%version%"}},markerCard:{constructor:"App.DirectoryCard",constructorParams:{}},request:{constructor:"App.Request",constructorParams:{showLoader:!1,autoSend:!1,responseKey:null,responseErrorsKey:"message",ajax:{url:App._api.users.list,type:"json",method:"GET",uriConfig:{multipleValues:"keys",skipEmpty:!0},params:{limit:0,filter:{geo:!0}}}}}}},function(){Com.AbstractController.apply(this,arguments)}),cm.getConstructor("App.Directory",function(e,t,n,a){n.onConstructStart=function(){var e=this;e.wasMapLoaded=!1,e.hasDataFetched=!1,e.wasBoundChanged=!1,e.lastUpdateMethod="auto",e.views={},e.data=null,e.location=null,e.zoom=null,e.place=null,e.cards={},e.specialityData=null,e.specialityList=[]},n.onValidateParams=function(){this.components.toolbar=this.params.toolbar,this.params.cardsContainer=this.components.toolbar.getNodes("results")},n.onDestruct=function(){this.reset()},n.renderView=function(){this.nodes.container=cm.node("div",{classes:"app__directory"},this.nodes.mapHolder=cm.node("div",{classes:"app__directory__map"}))},n.renderViewModel=function(){let t=this;a.prototype.renderViewModel.apply(t,arguments),cm.getConstructor(t.params.request.constructor,e=>{t.components.request=new e(cm.merge(t.params.request.constructorParams,{events:{onSuccess:t.renderResponse.bind(t),onError:t.renderError.bind(t)}}))}),Promise.allSettled([t.loadMap(),t.loadMarkerClusterer()]).catch(t.renderPromiseError.bind(t)).finally(t.renderPromiseResponse.bind(t))},n.loadMap=function(){let t=this;return t.params.map.script.src=cm.fillVariables(t.params.map.script.src,{key:t.params.map.apiKey,language:cm._lang}),cm.loadScript(cm.merge(t.params.map.script,{callback:e=>{t.components.gMaps=e,t.components.map=new t.components.gMaps.Map(t.nodes.mapHolder,cm.merge(t.params.map.constructorParams,{mapId:t.params.name,zoom:t.zoom,center:t.location})),t.components.map.addListener("bounds_changed",t.requestLocation.bind(t)),t.components.mapInfo=new t.components.gMaps.InfoWindow(cm.merge(t.params.mapInfo.constructorParams,{ariaLabel:t.msg("info.label")})),t.components.mapInfo.addListener("closeclick",t.unsetActiveCard.bind(t))}}))},n.loadMarkerClusterer=function(){let t=this;return cm.loadScript(cm.merge(t.params.markerClusterer.script,{callback:e=>{t.components.gClusterer=e}}))},n.mapLoadCallback=function(e){let t=this,n=function(){e(),t.removeEvent("onMapLoadSuccess",n)};t.wasMapLoaded?e():t.addEvent("onMapLoadSuccess",n)},n.requestLocation=function(){let e=this;e.wasBoundChanged=!0,e.boundChangeInt&&clearTimeout(e.boundChangeInt),e.components.mapListeter||(e.components.mapListeter=e.components.map.addListener("idle",()=>{e.updateLocation(),e.components.mapListeter=e.components.mapListeter.remove()}))},n.updateLocation=function(){var t=this;let n;try{var e=t.components.map.getCenter();n=new t.components.gMaps.LatLng(e.lat(),e.lng())}catch(e){n=new t.components.gMaps.LatLng(t.params.map.location)}t.zoom=t.components.map.getZoom()||t.params.map.zoom,t.location={lng:n.lng(),lat:n.lat()},t.place={},t.request()},n.setLocation=function(e,t,n){let a=this;a.zoom=cm.isEmpty(t)?a.params.map.zoom:t,a.place=cm.isEmpty(n)?a.params.map.place:n,a.location=a.params.map.location,cm.isEmpty(e)||(cm.isString(e)?(e=e.split(","),a.location={lng:parseFloat(e[0]),lat:parseFloat(e[1])}):cm.isObject(e)&&(a.location={lng:parseFloat(e.lng),lat:parseFloat(e.lat)})),a.mapLoadCallback(function(){a.components.map&&(a.lastUpdateMethod="manual",a.wasBoundChanged=!1,a.boundChangeInt&&clearTimeout(a.boundChangeInt),a.boundChangeInt=setTimeout(()=>{a.wasBoundChanged||a.updateLocation()},cm._config.requestDelay),a.place?.geometry?.viewport?a.components.map.fitBounds(a.place.geometry.viewport,a.params.map.paddingOffset):(a.components.map.setCenter(a.location),a.components.map.setZoom(a.zoom)))})},n.getLocation=function(){return this.location},n.getLocationString=function(){return[this.location.lng,this.location.lat].join(",")},n.getZoom=function(){return this.zoom},n.getPlace=function(){return this.place},n.getRadiusScale=function(){var e=this.components.map.getBounds();if(e)return e=this.components.gMaps.geometry.spherical.computeDistanceBetween(e.getNorthEast(),e.getSouthWest
1()),Math.ceil(e/1e3/2*this.params.map.scaleOffset)},n.renderMarkers=function(){let n=this;n.mapLoadCallback(()=>{let t=[];cm.forEach(n.cards,e=>{e.isVisible&&!e.marker&&(n.renderMarker(e),t.push(e.marker))}),n.components.cluster?(n.components.cluster.addMarkers(t),n.activeCard&&n.openInfoCard(n.activeCard,{disableAutoPan:!0})):n.components.cluster=new n.components.gClusterer.MarkerClusterer({map:n.components.map,markers:t,renderer:n.getClusterRenderer()})})},n.renderMarker=function(e){let t=this;e.nodes.pin=Application.Directory.embedPin({modifiers:["map"],size:60,image:Application.User.embedAvatar(e.user.data,{modifiers:["directory-pin"],size:"small"}),badge:Application.User.embedRoleBadge(e.user.data,{modifiers:["directory-pin"],format:"short"})}),e.marker=new t.components.gMaps.marker.AdvancedMarkerElement({content:e.nodes.pin,position:e.user.location}),e.marker.addListener("gmp-click",()=>t.setActiveCard(e))},n.getClusterRenderer=function(){let s=this;return{render:({count:e,position:t},n)=>{var a=Application.Directory.embedPin({modifiers:["map","map-cluster"],size:60,image:Application.Directory.embedPinCounter({modifiers:["map","map-cluster"],count:e})});return new s.components.gMaps.marker.AdvancedMarkerElement({content:a,position:t,zIndex:Number(s.components.gMaps.Marker.MAX_ZINDEX)+e})}}},n.resetMarkers=function(){this.components.cluster?.clearMarkers(),cm.forEach(this.cards,e=>{e.marker=null})},n.renderErrorCard=function(){var e={nodes:{}};e.nodes.container=cm.node("div",{classes:["app__card","is-hidden"]},e.nodes.inner=cm.node("div",{classes:"inner"},cm.node("h5",{classes:"card__username"},this.msg("error.title")),cm.node("h6",{classes:["card__normal","h7"]},this.msg("error.description")))),cm.insertFirst(e.nodes.container,this.params.cardsContainer),cm.removeClass(e.nodes.container,"is-hidden",!0),this.views.error=e},n.removeErrorCard=function(){this.views.error&&cm.removeNode(this.views.error.nodes.container)},n.renderCard=function(e){let t=this.getCard(e.id);t||(t=this.renderCardView(e))&&this.setCard(e.id,t),t&&this.showCard(t)},n.renderCardView=function(e){let t=this,n={isVisible:!1,marker:null,data:e,user:{},nodes:{}};if(n.user=Application.User.validateProfile(n.data),n.user.address=n.data.profile.address||Application.msg("User.address.empty"),!cm.isEmpty(n.user.location))return n.nodes.address=cm.node("div",{classes:["card__item","card__normal","is-nowrap"],title:n.user.address,innerText:n.user.address}),n.card=Application.User.renderCard(n.data,{modifiers:["map-list"],classes:["is-hidden"],link:n.user.route,renderLink:!0,noRoute:!0,user:{render:!0,tagName:"h5",renderBadge:!1,classes:["is-nowrap"]},description:{render:!0,entry:n.nodes.address,tagName:"h6",classes:["card__block","is-flex","h7"],renderBadge:!0,badgeInsertMethod:"insertFirst"},badge:{format:"short"},callback:e=>{cm.preventDefault(e),t.setActiveCard(n),t.components.toolbar.collapseContentIfNeeded()}}),n.nodes=n.card.nodes,n},n.getCard=function(e){return this.cards[e]},n.setCard=function(e,t){return this.cards[e]=t},n.showCard=function(e){e.isVisible=!0,cm.appendChild(e.nodes.container,this.params.cardsContainer),cm.removeClass(e.nodes.container,"is-hidden",!0)},n.hideCard=function(e){e.isVisible=!1,e.wasInCluster=!1,cm.addClass(e.nodes.container,"is-hidden"),cm.remove(e.nodes.container)},n.setActiveCard=function(e){this.unsetActiveCard(),this.activeCard=e,cm.addClass(e.nodes.pin,"is-scaled"),cm.addClass(e.nodes.container,"active"),this.scrollToCard(e,{behavior:"smooth"}),this.openInfoCard(e)},n.unsetActiveCard=function(){this.activeCard&&(this.activeCard.wasInCluster&&(this.activeCard.wasInCluster=!1,this.activeCard.marker.setMap(null)),this.components.mapInfo?.close(),cm.removeClass(this.activeCard.nodes.pin,"is-scaled"),cm.removeClass(this.activeCard.nodes.container,"active"),this.activeCard=null)},n.scrollToCard=function(e,t){e.isVisible&&(t=cm.merge({behavior:"instant",block:"center"},t),this.components.toolbar.scrollContentTo(e.nodes.container,t))},n.openInfoCard=function(e,t){e.isVisible&&(e.nodes.infoContainer=this.renderInfoCard(e),this.components.mapInfo.setContent(e.nodes.infoContainer),e.marker.map||(e.wasInCluster=!0,e.marker.setMap(this.components.map)),this.centerInfoCard(e,t))},n.renderInfoCard=function(e){let t=this;return t.components.markerCard||cm.getConstructor(t.params.markerCard.constructor,e=>{t.components.markerCard=new e(cm.merge(t.params.markerCard.constructorParam,{fieldsData:{speciality:t.specialityData},events:{onCardRender:()=>t.centerInfoCard(t.activeCard)}}))}),t.components.markerCard.request(e.data),t.components.markerCard.getContainer()},n.centerInfoCard=function(e,t){e&&e.isVisible&&(t=cm.merge(this.params.mapInfo.constructorParams,t),this.components.mapInfo.setOptions(t),this.components.mapInfo.open(this.components.map,e.marker))},n.getVisibleCards=function(){let t=[];return cm.forEach(this.cards,e=>{e.isVisible&&t.push(e)}),t},n.resetCards=function(){this.removeErrorCard(),cm.forEach(this.cards,this.hideCard.bind(this))},n.renderPromiseResponse=function(){this.wasMapLoaded=!0,this.triggerEvent("onMapLoadSuccess")},n.renderPromiseError=function(){this.wasMapLoaded=!1,this.triggerEvent("onMapLoadError")},n.renderResponse=function(e,t){let n=this;
1n.hasDataFetched=!0,n.components.toolbar.setResults({process:()=>{n.resetCards(),cm.forEach(t.data,n.renderCard.bind(n))}});var a=n.getVisibleCards();n.components.toolbar.setFilterCounter(a.length),n.renderMarkers(),n.activeCard&&(n.activeCard.isVisible?n.scrollToCard(n.activeCard):n.unsetActiveCard())},n.renderError=function(e,t){let n=this;n.hasDataFetched=!1,n.components.toolbar.setResults({process:()=>{n.resetCards(),n.renderErrorCard()}}),n.components.toolbar.setFilterCounter(0),n.activeCard&&n.unsetActiveCard()},n.callbacks.prepare=function(e){var t=e.callbacks.getParams(e);e.callbacks.request(e,t)},n.callbacks.getParams=function(e){return{filter:cm.clone(e.data?.filter)||{},location:e.getLocationString(),zoom:e.getRadiusScale()}},n.callbacks.request=function(e,t){e.components.request.setAction({params:t},"update"),e.components.request.send(),e.callbacks.requestEvents(e,t)},n.callbacks.requestEvents=function(e,t){e.triggerEvent("onRequest",t),e.lastUpdateMethod="auto"},n.set=function(e){return this.data=e,this.setLocation(this.data.location,this.data.zoom,this.data.place),this},n.getData=function(){return this.data},n.getLastUpdateMethod=function(){return this.lastUpdateMethod},n.request=function(){return this.callbacks.prepare(this),this},n.reset=function(){return this.hasDataFetched=!1,this.lastUpdateMethod="auto",this.boundChangeInt&&clearTimeout(this.boundChangeInt),this.unsetActiveCard(),this.resetMarkers(),this},n.setSpeciality=function(e){return this.specialityData=e,this.specialityList=Application.User.convertSpecialityToList(this.specialityData),this.components.markerCard?.setSpeciality(this.specialityData),this},n.isDataFetched=function(){return this.hasDataFetched}}),cm.define("App.DirectoryToolbar",{extend:"Com.AbstractController",params:{name:"toolbar",controllerEvents:!0,renderStructure:!0,embedStructureOnRender:!0,embedStructure:"append",redrawOnResize:"frame",redrawOnRender:"frame",content:{duration:cm._config.animDurationLong,easing:cm._config.motionAsymmetric}}},function(){Com.AbstractController.apply(this,arguments)}),cm.getConstructor("App.DirectoryToolbar",function(e,t,n,a){n.onConstructStart=function(){this.isFilterVisible=null,this.isContentVisible=null,this.isFooterVisible=null,this.controls={},this.animation=null,this.animationFooter=null},n.onConstructEnd=function(){this.toggleFilter(!1,{immediately:!0});var e=!App.isMobile()&&(this.storageGet("isContentVisible")??!0);this.toggleContent(e,{immediately:!0})},n.onDestructEnd=function(){cm.forEach(this.components,e=>e.destruct())},n.renderView=function(){let t=this;t.nodes.container=cm.node("div",{classes:"app__directory-toolbar"},t.nodes.header=cm.node("section",{classes:"app__directory-toolbar__header"},cm.node("div",{classes:"app__directory-toolbar__label"},t.nodes.controlsStart=cm.node("div",{classes:["controls","controls--start"]}),cm.node("h1",{classes:["label","h2","is-small"]},t.msg("title")),t.nodes.controlsEnd=cm.node("div",{classes:["controls","controls--end"]}))),t.nodes.content=cm.node("section",{classes:"app__directory-toolbar__content","aria-live":"polite"},t.nodes.contentHolder=cm.node("section",{classes:"inner"},t.nodes.filter=cm.node("div",{classes:["app__directory-toolbar__panel","app__directory-toolbar__panel--filter"]}),t.nodes.results=cm.node("div",{classes:["app__directory-toolbar__panel","app__directory-toolbar__panel--results"]}))),t.nodes.footer=cm.node("section",{classes:["app__directory-toolbar__footer","is-collapsed","is-hidden"],"aria-live":"polite"},t.nodes.footerHolder=cm.node("section",{classes:"inner"},t.nodes.counter=cm.node("div",{classes:"app__directory-toolbar__counter"},t.nodes.counterEmpty=cm.node("div",{classes:"empty"},t.msg("counter.empty"))))),t.nodes.bar=cm.node("section",{classes:"app__directory-toolbar__bar"})),t.controls.toggleFilter=Application.Buttons.render({container:t.nodes.controlsEnd,title:t.msg("showFilter"),classes:["has-aspect"],modifiers:["editable"],icons:{classes:["medium"],before:"filter"},handler:()=>t.toggleFilter()}),t.controls.toggleContent=Application.Buttons.render({container:t.nodes.bar,title:t.msg("collapse"),modifiers:["editable","editable-placeholder"],icons:{classes:["medium","has-animation"],after:"chevronRight"},handler:()=>t.toggleContent()}),t.controls.counter=Application.Buttons.render({label:t.msg("counter.label"),modifiers:["editable","editable-gap"],icons:{classes:["medium"],after:"chevronRight"},handler:()=>t.toggleFilter(!1)}),t.addEvent("onRedraw",()=>{var e=t.nodes.content.offsetWidth-t.nodes.content.clientWidth;cm.setCSSVariable("--scrollbar-width",e+"px",t.nodes.content)})},n.renderViewModel=function(){a.prototype.renderViewModel.apply(this,arguments)},n.animateContent=function({prepare:e,process:t,beforeStart:n,start:a,end:s},o){let r=this;var i=r.nodes.contentHolder.offsetHeight,e=(r.animationContent?.stop(),e?.()??r.nodes.content.offsetHeight),t=t?.()??r.nodes.content.offsetHeight,e=Math.min(i,e);r.nodes.content.style.overflow="hidden",r.nodes.contentHolder.style.overflow="hidden",r.nodes.contentHolder.style.height=e+"px",n?.(),r.animationContent=cm.transition(r.nodes.contentHolder,cm.merge(o,{properties:{height:t+"px"},duration:r.params.content.duration,easing:r.params.content.easing,clear:!0,onStart:()=>{a?.()},onStop:()=>{r.animationContent=null,r.nodes.content.style.overflow="",r.nodes.contentHolder.style.overflow="",s?.()}}))},n.animateFooter=function({prepare:e,process:t,beforeStart:n,start:a,end:s},o){let r=this;var i=r.nodes.footerHolder.offsetHeight,e=(r.animationFooter?.stop(),e?.()??r.nodes.footer.offsetHeight),t=t?.()??r.nodes.footer.offsetHeight,e=Math.min(i,e);r.nodes.footer.style.overflow="hidden",r.nodes.footerHolder.style.overflow="hidden",r.nodes.footerHolder.style.height=e+"px",n?.(),r.animationFooter=cm.transition(r.nodes.footerHolder,cm.merge(o,{properties:{height:t+"px"},duration:r.params.content.duration,easing:r.params.content.easing,clear:!0,onStart:()=>{a?.()},onStop:()=>{r.animationFooter=null,r.nodes.footer.style.overflow="",r.nodes.footerHolder.style.overflow="",s?.()}}))},n.toggleContent=function(e,t){let n=this;n.isContentVisible=e??!n.isContentVisible,n.storageSet("isContentVisible",n.isContentVisible),n.c
1ontrols.toggleContent.setTitle(n.isContentVisible?n.msg("collapse"):n.msg("expand")).setIconClasses("after",["animation-rotate--90ac"],n.isContentVisible).setIconClasses("after",["animation-rotate--90c"],!n.isContentVisible);n.animateContent({prepare:()=>(cm.removeClass(n.nodes.content,"is-hidden"),cm.onSchedule(()=>{cm.toggleClass(n.nodes.content,"is-collapsed",!n.isContentVisible),cm.toggleClass(n.nodes.content,"is-expanded",n.isContentVisible),cm.toggleClass(n.nodes.container,"is-collapsed",!n.isContentVisible),cm.toggleClass(n.nodes.container,"is-expanded",n.isContentVisible)}),n.isContentVisible?0:n.nodes.content.offsetHeight),process:()=>n.isContentVisible?n.nodes.content.offsetHeight:0,end:()=>{cm.toggleClass(n.nodes.content,"is-hidden",!n.isContentVisible),n.nodes.content.setAttribute("aria-hidden",!n.isContentVisible)}},t),n.isFilterVisible&&n.toggleFooter(n.isContentVisible)},n.collapseContentIfNeeded=function(){App.isMobile()&&this.toggleContent(!1)},n.toggleFilter=function(e,t){var n=this;n.isFilterVisible=e??!n.isFilterVisible;let a=n.isFilterVisible?n.nodes.filter:n.nodes.results,s=n.isFilterVisible?n.nodes.results:n.nodes.filter;n.controls.toggleFilter.setTitle(n.isFilterVisible?n.msg("showResults"):n.msg("showFilter")).setIcon({icon:n.isFilterVisible?"users":"filter",transition:!0});n.animateContent({prepare:()=>{cm.addClass(a,"is-hidden"),cm.addClass(a,["is-transparent","is-active"]),cm.removeClass(s,"is-hidden")},process:()=>{cm.removeClass(s,["is-transparent","is-active"]),cm.removeClass(a,"is-hidden"),cm.addClass(s,"is-hidden")},beforeStart:()=>{cm.removeClass(a,"is-hidden"),cm.addClass(a,"is-animating"),cm.onSchedule(()=>cm.removeClass(a,"is-transparent")),a.setAttribute("aria-hidden","false"),cm.removeClass(s,"is-hidden"),cm.addClass(s,"is-animating"),cm.onSchedule(()=>cm.addClass(s,"is-transparent")),s.setAttribute("aria-hidden","true"),cm.customEvent.trigger(a,"redraw",{direction:"child",self:!1})},end:()=>{cm.removeClass(a,["is-animating","is-transparent"]),cm.removeClass(s,["is-animating","is-transparent"]),cm.addClass(s,"is-hidden")}},t),!1===n.isContentVisible?n.toggleContent(!0):n.toggleFooter(n.isFilterVisible)},n.toggleFooter=function(e,t){let n=this;n.isFooterVisible=e??!n.isFooterVisible;n.animateFooter({prepare:()=>(cm.removeClass(n.nodes.footer,"is-hidden"),cm.onSchedule(()=>{cm.toggleClass(n.nodes.footer,"is-collapsed",!n.isFooterVisible)}),n.isFooterVisible?0:n.nodes.footerHolder.offsetHeight),process:()=>n.isFooterVisible?n.nodes.footerHolder.offsetHeight:0,end:()=>{cm.toggleClass(n.nodes.footer,"is-hidden",!n.isFooterVisible),n.nodes.footer.setAttribute("aria-hidden",!n.isFooterVisible)}},t)},n.scrollContentTo=function(e,t){cm.scrollTo(e,this.nodes.content,t)},n.setResults=function(e={}){!this.isContentVisible||this.isFilterVisible?(e.prepare?.(),e.process?.()):this.animateContent(e)},n.setFilterCounter=function(e){e?(cm.remove(this.nodes.counterEmpty),this.controls.counter.setLabel(this.msgParse("counter.value",{count:e})).setContainer(this.nodes.counter)):(cm.appendChild(this.nodes.counterEmpty,this.nodes.counter),this.controls.counter.setContainer(null))},n.getNodes=function(e){return this.nodes[e]||this.nodes}}),cm.define("App.DirectoryViewContainer",{extend:"Com.AbstractContainer",params:{controllerEvents:!0,constructor:"App.DirectoryView",data:{},placeholder:!0,placeholderConstructor:"Com.DialogContainer",placeholderParams:{renderTitle:!0,renderButtons:!1,justifyButtons:"center",constructorParams:{width:App._config.dialog.widthContent,theme:"theme-light",className:"com__dialog--map-view"}}}},function(){Com.AbstractContainer.apply(this,arguments)}),cm.getConstructor("App.DirectoryViewContainer",function(e,t,n,a){n.onValidateParamsEnd=function(){this.params.constructorParams.data=this.params.data},n.renderPlaceholderButtons=function(){this.components.placeholder.addButton({name:"close",label:this.msg("close"),classes:["button--round","button--xlarge"],callback:this.closeHandler})}}),cm.define("App.DirectoryView",{extend:"Com.AbstractController",params:{name:"directory-view",controllerEvents:!0,renderStructure:!0,embedStructureOnRender:!0,embedStructure:"append",data:{},map:{apiKey:App._env.googleApiKey,apiLink:App._config.google.apiLink,zoom:16}}},function(){Com.AbstractController.apply(this,arguments)}),cm.getConstructor("App.DirectoryView",function(e,t,n,a){n.onValidateParams=function(){this.mapApiLink=cm.fillVariables(this.params.map.apiLink,{key:this.params.map.apiKey,language:cm._lang});var e=this.params.data;cm.isEmpty(e.profile.address)||(this.locationData={lat:parseFloat(e.profile.latitude),lng:parseFloat(e.profile.longitude),address:e.profile.address})},n.renderView=function(){this.nodes.container=cm.node("div",{classes:"app__directory-view"},this.nodes.holder=cm.node("div",{classes:"app__directory-view__map"}))},n.renderViewModel=function(){let t=this;a.prototype.renderViewModel.apply(t,arguments),cm.loadScript({path:"google.maps",src:t.mapApiLink,callback:e=>{t.components.map=new e.Map(t.nodes.holder,{mapId:t.params.name,zoom:t.params.map.zoom,center:t.locationData,mapTypeControl:!1,fullscreenControl:!1,streetViewControl:!1}),t.components.marker=new e.marker.AdvancedMarkerElement({map:t.components.map,position:t.locationData,title:Application.msg("User.actions.viewAddress")}),t.components.marker.addListener("click",()=>{window.open(App.getAddressHref(t.locationData.address),"_blank").focus()})}})}}),cm.define("App.FileDropzone",{extend:"Com.FileDropzone",params:{controllerEvents:!0,rollover:!1,height:"auto",max:1}},function(){Com.FileDropzone.apply(this,arguments)}),cm.getConstructor("App.FileDropzone",function(e,t,n,a){n.validateParams=function(){a.prototype.validateParams.apply(this,arguments),this.setMessages({drop:this.isMultiple?this.msg("drop_multiple"):this.msg("drop_single"),browse:this.isMultiple?this.msg("browse_multiple"):this.msg("browse_sign")})},n.renderView=function(){this.nodes.container=cm.node("div",{classes:["com__file-dropzone","app__file-dropzone"]},cm.node("div",{classes:"inner"},cm.node("div",{classes:"title"},cm.node("div",{classes:["pt__buttons","pull-justify"]},cm.node("div",{classes:"inner"},cm.node("div",{classes:"browse-button"},cm.node("button",{type:"button",classes:["button","button--xlarge","button-primary"]},this.msg("browse")),cm.node("div",{classes:"inner"},this.nodes.input=cm.node("input",{type:"file",multiple:this.isMultiple}))))),cm.node("div",{classes:"label"},this.msg("drop"))))),cm.addEvent(this.nodes.input,"change",this.browseAction.bind(this))},n.browseAction=function(e){var t=this,n=[],a=e.target&&e.target.files&&e.target.files.length?e.target.files:[],s=t.params.max?Math.min(a.length,t.params.max):a.length;cm.preventDefault(e),cm.forEach(s,function(e){n.push(a[e]),t.triggerEvent("onDrop",a[e])}),n.length&&t.triggerEvent("onSelect",n)},n.browse=function(){return this.nodes.input.click(),this}}),cm.define("App.EmbedAudio",{extend:"Com.AbstractController",params:{controllerEvents:!0,renderStructure:!0,embedStructureOnRender:!0,embedStructure:"replace",title:null,artist:null,album:null,duration:0,source:null,artworkId:{prod:null,dev:null},controller:{constructor:"App.Audio",constructorParams:{title:{render:!0}}}}},function(){Com.AbstractController.apply(this,arguments)}),cm.getConstructor("App.EmbedAudio",function(e,t,n,a){n.onDestructEnd=function(){cm.forEach(this.components,e=>e.destruct())},n.renderView=function(){this.nodes.container=cm.node("section",{classes:["tpl__block","tpl__block--embed","tpl__block--embed--audio","has-border"]}
1,this.nodes.holder=cm.node("div",{classes:"tpl__block__entry"}))},n.renderViewModel=function(){let t=this;a.prototype.renderViewModel.apply(t,arguments),cm.getConstructor(t.params.controller.constructor,e=>{t.components.controller=new e(cm.merge(t.params.controller.constructorParams,{container:t.nodes.holder,source:t.params.source,duration:t.params.duration,time:0,metadata:{title:t.params.title,artist:t.params.artist,album:t.params.album,artworkId:t.params.artworkId}}))})}}),cm.define("App.EmbedLink",{extend:"Com.AbstractController",params:{controllerEvents:!0,renderStructure:!0,embedStructureOnRender:!0,embedStructure:"replace",type:"pdf",title:null,label:null,source:null,target:"_blank",rel:"noopener noreferrer",showTitle:!0,showLabel:!1}},function(){Com.AbstractController.apply(this,arguments)}),cm.getConstructor("App.EmbedLink",function(e,t,n,a){n.renderView=function(){var e=this;e.nodes.container=cm.node("a",{classes:["tpl__block","tpl__block--embed","tpl__block--embed--link","has-border"],href:e.params.source,target:e.params.target,rel:e.params.rel},cm.node("div",{classes:"tpl__block__icon"},Application.Images.embedIcon({icon:"filetype-"+e.params.type,classes:["medium"],modifiers:["embed-link"]})),cm.node("div",{classes:"tpl__block__entry"},e.params.showTitle&&!cm.isEmpty(e.params.title)?cm.node("span",{classes:["title","p","p-sm-small"]},e.params.title):null,e.params.showLabel&&!cm.isEmpty(e.params.label)?cm.node("span",{classes:["label","is-small","p-sm-xsmall"]},e.params.label):null),cm.node("div",{classes:"tpl__block__action"},Application.Buttons.embed({label:e.msg("actions.view"),modifiers:["editable"],role:"presentation",tabindex:"-1",icons:{after:"chevronRight"}}))),cm.click.add(e.nodes.container,()=>MediaManager?.pause())}}),cm.define("App.EmbedVideoService",{extend:"Com.AbstractController",params:{controllerEvents:!0,renderStructure:!0,embedStructureOnRender:!0,embedStructure:"replace",type:"vimeo",title:null,id:null,aspect:"horizontal"}},function(){Com.AbstractController.apply(this,arguments)}),cm.getConstructor("App.EmbedVideoService",function(e,t,n,a){n.renderView=function(){this.nodes.container=cm.node("section",{classes:["tpl__block","tpl__block--embed","tpl__block--embed--video","has-border"]},this.nodes.iframe=cm.node("iframe",{classes:["tpl__block__video","aspect--"+this.params.aspect],title:this.params.title,src:"https://player.vimeo.com/video/"+this.params.id,frameborder:0,referrerpolicy:"strict-origin-when-cross-origin",allow:"autoplay; fullscreen; picture-in-picture; clipboard-write; encrypted-media; web-share",allowfullscreen:!0}))},n.renderViewModel=function(){let t=this;a.prototype.renderViewModel.apply(t,arguments),cm.loadScript({path:"Vimeo",src:"https://player.vimeo.com/api/player.js",callback:()=>{if("undefined"!=typeof Vimeo){let e=new Vimeo.Player(t.nodes.iframe);MediaManager?.add(e,{type:"vimeo",supportsMetadata:!1}),e.on("dispose",()=>MediaManager?.remove(e))}}})}}),cm.define("App.CompositeView",{extend:"Com.AbstractController",events:["onEditableSuccess","onEditableError","onEditableComplete"],params:{controllerEvents:!0,renderStructure:!0,embedStructureOnRender:!0,embedStructure:"append",data:{},fieldsData:{},editable:{enable:!0},title:{render:!0,sticky:!0,tagName:"h3"},blocks:[],formParams:{titleTag:"h4",renderTitle:!0,titleClasses:["tpl__block__title"],buttonsContainerClasses:[],renderButtonsSeparator:!1,showSuccessNotification:!0,removeOnDestruct:!0},pageParams:{title:{render:!0,sticky:!1,tagName:"h4"},renderTitle:!0,removeOnDestruct:!0}}},function(){Com.AbstractController.apply(this,arguments)}),cm.getConstructor("App.CompositeView",function(e,t,n,a){n.onConstruct=function(){this.views={}},n.renderView=function(){this.nodes.container=cm.node("div",{classes:["tpl__block","tpl__block--entity-view",`tpl__block--${this.params.name}-entity-view`]})},n.renderViewModel=function(){let t=this;a.prototype.renderViewModel.apply(t,arguments),t.params.title.render&&(t.views.title=t.renderTitleView({container:t.nodes.container})),cm.forEach(t.params.blocks,e=>
1{t.checkBlockAccess(e)&&(t.views[e.name]=t.renderBlockView(e,{container:t.nodes.container}))})},n.renderTitleView=function(e){e={nodes:{},params:cm.merge({container:cm.node("div")},e)};return e.nodes.container=cm.node("div",{classes:"tpl__block__title"},cm.node(this.params.title.tagName,{classes:"label"},this.msg("title"))),this.params.title.sticky&&cm.addClass(e.nodes.container,"is-sticky"),cm.appendChild(e.nodes.container,e.params.container),e},n.renderBlockView=function(e,t){let n=this,a={nodes:{},component:cm.merge({name:"",type:"form",access:"all",classes:["tpl__block--field-group","has-border"],constructor:null,constructorParams:{}},e),params:cm.merge({container:cm.node("div")},t)};return a.nodes.container=cm.node("section",{classes:["tpl__block",...a.component.classes],role:"group"}),a.component.constructorParams="page"===a.component.type?n.getPageParams(a):n.getFormParams(a),cm.getConstructor(a.component.constructor,e=>{n.components[a.component.name]=new e(a.component.constructorParams)}),cm.appendChild(a.nodes.container,a.params.container),a},n.checkBlockAccess=function(e){return cm.isFunction(e.access)&&(e.access=e.access()),Application.User.checkRoleAccess(e.access)},n.getPageParams=function(e){return Object.assign({},this.params.pageParams,e.component.constructorParams,{container:e.nodes.container,data:this.params.data,fieldsData:this.params.fieldsData,editable:this.params.editable,events:{onEditableSuccess:this.afterSuccess.bind(this),onEditableError:this.afterError.bind(this)}})},n.getFormParams=function(e){return Object.assign({},this.params.formParams,e.component.constructorParams,{container:e.nodes.container,data:this.params.data,fieldsData:this.params.fieldsData,events:{onSuccess:this.afterSuccess.bind(this),onError:this.afterError.bind(this)}})},n.afterSuccess=function(e,t,n){this.triggerEvent("onEditableSuccess",t,n),this.afterComplete()},n.afterError=function(e,t){this.triggerEvent("onEditableError"),this.afterComplete()},n.afterComplete=function(){this.triggerEvent("onEditableComplete")}}),cm.define("App.EntityViewContainer",{extend:"Com.AbstractContainer",events:["onLoadComplete"],params:{constructor:"App.EntityView",placeholder:!1,placeholderConstructor:"Com.DialogContainer",openOnConstruct:!0}},function(){Com.AbstractContainer.apply(this,arguments)}),cm.getConstructor("App.EntityViewContainer",function(e,t,n,a){n.renderControllerEvents=function(){this.components.controller.addEvent("onLoadComplete",this.afterLoadController.bind(this)),a.prototype.renderControllerEvents.apply(this,arguments)},n.afterLoadController=function(){this.triggerEvent("onLoadComplete",this.components.controller)},n.refresh=function(e){return e&&cm.preventDefault(e),this.components.controller?.refresh?.(),this}}),cm.define("App.EntityDeleteConfirm",{extend:"App.ConfirmDialog",params:{messageDataMap:{"{id}":"id","{name}":"_name"},notifications:{render:!0},request:{enable:!0}}},function(){App.ConfirmDialog.apply(this,arguments)}),cm.define("App.EntityView",{extend:"Com.AbstractController",events:["onLoadSuccess","onLoadError","onLoadComplete","onCreateComplete","onUpdateComplete","onDeleteComplete","onError","onEditableSuccess","onEditableError","onEditableComplete"],params:{controllerEvents:!0,renderStructure:!0,embedStructureOnRender:!0,embedStructure:"append",instance:null,instanceData:{},routeName:null,data:{},fieldsData:{},crud:{},actions:["list","create","update","delete"],editable:{enable:!0,tagName:"h3"},title:{render:!0,sticky:!0},content:{render:!0,flex:!1},emptyView:{render:!0,renderButton:!0},buttons:{render:!0},notifications:{render:!0,constructor:"Com.Notifications",constructorParams:{embedStructure:"append"}},toolbar:{render:!1,constructor:"Com.Toolbar",constructorParams:{embedStructure:"append"}},list:{render:!0,constructor:"App.Gridlist",constructorParams:{embedStructure:"append",removeOnDestruct:!0,ajax:{method:"GET"},controller:{constructorParams:{renderEmptyMessage:!1}}}},create:{max:0,dataKey:"data",mergeResponseData:!0,constructor:"App.FormContainer",constructorParams:{action:"create",ajax:{method:"POST"}}},update:{dataKey:"data",mergeResponseData:!0,icon:{icon:"edit-border"},constructor:"App.FormContainer",constructorParams:{action:"update",ajax:{method:"PUT"}}},delete:{min:0,dataKey:"data",icon:{icon:"delete-border"},constructor:"App.ConfirmDialogContainer",constructorParams:{constructor:"App.EntityDeleteConfirm",ajax:{type:"json",method:"DELETE"}}}}},function(){Com.AbstractController.apply(this,arguments)}),cm.getConstructor("App.EntityView",function(e,t,n,a){n.onConstruct=function(){this.views={}},n.onValidateParams=function(){let n=this;cm.forEach(n.params.actions,function(e){var t=n.params[e];t&&(cm.isEmpty(n.params.instance)||(t.constructorParams.ajax.variables=cm.merge(n.params.instance,t.constructorParams.ajax.variables)),cm.isEmpty(n.params.crud[e])||(t.constructorParams.ajax.url=cm.isUndefined(t.constructorParams.ajax.url)?n.params.crud[e]:t.constructorParams.ajax.url))})},n.renderView=function(){this.nodes.container=cm.node("div",{classes:["tpl__block","tpl__block--list",`tpl__block--${this.params.name}-list`]})},n.renderViewModel=function(){let t=this;a.prototype.renderViewModel.apply(t,arguments),t.params.title.render?(t.views.title=t.renderTitleView({container:t.nodes.container}),t.nodes.buttonsHolder=t.views.title.nodes.container):t.nodes.buttonsHolder=t.params.buttons.container,t.params.content.render?(t.views.content=t.renderContentView({container:t.nodes.container}),t.nodes.holder=t.views.content.nodes.holder):t.nodes.holder=t.nodes.container,t.params.notifications.render&&cm.getConstructor(t.params.notifications.constructor,e=>{t.components.notifications=new e(cm.merge(t.params.notifications.constructorParams,{container:t.nodes.holder}))}),t.params.toolbar.render&&cm.getConstructor(t.params.toolbar.constructor,e=>
1{t.components.toolbar=new e(cm.merge(t.params.toolbar.constructorParams,{container:t.nodes.holder})),t.renderToolbarFields()}),t.params.list.render&&t.renderListView(),t.params.buttons.render&&(t.views.buttons=t.renderButtonsView({container:t.nodes.buttonsHolder}))},n.checkItemsLimits=function(e){e||=[],this.hasCreateLimited=0!==this.params.create.max&&e.length>=this.params.create.max,this.hasDeleteLimited=0!==this.params.delete.min&&e.length<=this.params.delete.min},n.getItemLabelName=function(e){return cm.isEmpty(e.name)?e.id:e.name},n.getItemErrorMessage=function(e){return cm.isEmpty(e.error)?"":e.error},n.renderTitleView=function(e){e={nodes:{},params:cm.merge({container:cm.node("div")},e)};return e.nodes.container=cm.node("div",{classes:"tpl__block__title"},cm.node(this.params.title.tagName,{classes:"label"},this.msg("title"))),this.params.title.sticky&&cm.addClass(e.nodes.container,"is-sticky"),cm.appendChild(e.nodes.container,e.params.container),e},n.renderContentView=function(e){e={nodes:{},params:cm.merge({container:cm.node("div")},e)};return e.nodes.container=e.nodes.holder=cm.node("div",{classes:"tpl__block__content"}),cm.appendChild(e.nodes.container,e.params.container),e},n.renderEmptyView=function(e){e={nodes:{},params:cm.merge({container:cm.node("div")},e)};return e.nodes.container=cm.node("div",{classes:["tpl__block__empty","is-transparent"]},cm.node("div",{classes:["cm__empty","h6"],innerHTML:this.msg("empty.description")})),this.params.emptyView.renderButton&&(this.views.emptyButtons=this.renderEmptyButtonsView({container:e.nodes.container})),cm.appendChild(e.nodes.container,e.params.container),cm.removeClass(e.nodes.container,"is-transparent",!0),e},n.removeEmptyView=function(){var e=this.views.empty;e&&cm.remove(e.nodes.container)},n.renderToolbarFields=function(){this.components.toolbar.addGroup({name:"controls",position:"left"}).addGroup({name:"filters",position:"right"}).addButton({group:"controls",name:"add",label:this.msg("actions.create"),constructor:this.params.create.constructor,constructorParams:cm.merge(this.params.create.constructorParams,{events:{onSuccess:this.afterCreate.bind(this)}})}).addField({name:"query",group:"filters",size:"size-large"})},n.renderButtonsView=function(e){e={nodes:{},actions:[],params:cm.merge({container:cm.node("div")},e)};return e.nodes.container=cm.node("div",{classes:["pt__buttons","pull-justify"]},e.nodes.holder=cm.node("div",{classes:"inner"})),this.checkCreateActionAccess()&&this.renderCreateButton(e),0<e.actions.length&&(cm.addClass(e.params.container,"is-editable"),cm.appendChild(e.nodes.container,e.params.container)),e},n.renderCreateButton=function(t){let n=this;t.nodes.button=Application.Buttons.embed({label:n.msg("actions.create"),icons:{before:"plus",classes:["small"]},modifiers:["editable"],container:t.nodes.holder,ariaHasPopup:!0,callback:()=>n.components.create?.open()}),n.components.create?t.actions.push("create"):cm.getConstructor(n.params.create.constructor,e=>{t.actions.push("create"),n.components.create=new e(n.getCreateActionParams(n.params.create.constructorParams))})},n.renderEmptyButtonsView=function(e){e={nodes:{},actions:[],params:cm.merge({container:cm.node("div")},e)};return e.nodes.container=cm.node("div",{classes:["pt__buttons","pt__buttons--empty","pull-center"]},e.nodes.holder=cm.node("div",{classes:"inner"})),this.params.editable.enable&&this.hasAction("create")&&this.renderEmptyButton(e),0<e.actions.length&&cm.appendChild(e.nodes.container,e.params.container),e},n.renderEmptyButton=function(t){let n=this;t.nodes.button=Application.Buttons.embed({label:n.msg("actions.create"),icons:{before:"plus",classes:["small"]},modifiers:["border"],classes:["is-compact"],container:t.nodes.holder,ariaHasPopup:!0,callback:()=>{n.components.create?.open()}}),n.components.create?t.actions.push("create"):cm.getConstructor(n.params.create.constructor,e=>{t.actions.push("create"),n.components.create=new e(n.getCreateActionParams(n.params.create.constructorParams))})},n.toggleButtonsVisibility=function(e){var t=this.views.buttons,t=(t&&cm.toggleClass(t.nodes.container,"is-
1hidden",!e),this.views.emptyButtons);t&&cm.toggleClass(t.nodes.container,"is-hidden",!e)},n.renderListView=function(){let t=this;t.removeEmptyView(),t.components.list&&t.components.list.destruct(),cm.getConstructor(t.params.list.constructor,e=>{t.components.list=new e(t.configListParams(t.params.list.constructorParams))})},n.configListParams=function(e){return cm.merge(e,{opener:this,name:this.params.name,container:this.nodes.holder,editable:this.params.editable,messages:this.msgObject("list"),fieldsData:this.params.fieldsData,callbacks:this.configListCallbacks(),actions:this.configListActions(),events:this.configListEvents()})},n.configListCallbacks=function(){return{}},n.configListActions=function(){var e=this,t=[];return t.push({name:"update",label:e.msg("actions.update"),access:e.checkUpdateActionAccess.bind(e),dataKey:e.params.update.dataKey,icon:Application.Images.embedIcon(cm.merge({classes:["size-field-half"],ariaHidden:!0},e.params.update.icon)),constructor:e.params.update.constructor,constructorParams:e.getUpdateActionParams(e.params.update.constructorParams)}),t.push({name:"delete",label:e.msg("actions.delete"),access:e.checkDeleteActionAccess.bind(e),status:"danger",dataKey:e.params.delete.dataKey,icon:Application.Images.embedIcon(cm.merge({classes:["size-field-half"],ariaHidden:!0},e.params.delete.icon)),constructor:e.params.delete.constructor,constructorParams:e.getDeleteActionParams(e.params.delete.constructorParams)}),t},n.configListEvents=function(){var e=this;return{afterLoadSuccess:e.afterLoadSuccess.bind(e),afterLoadError:e.afterLoadError.bind(e),afterLoadComplete:e.afterLoadComplete.bind(e),afterDataFiltered:e.afterDataFiltered.bind(e),afterDataEmpty:e.afterDataEmpty.bind(e)}},n.getCreateActionParams=function(e){return cm.merge(e,{messages:this.msgObject("create"),instanceData:this.params.instanceData,events:{onSuccess:this.afterCreate.bind(this)}})},n.checkCreateActionAccess=function(){return this.hasAction("create")&&this.params.editable.enable},n.getUpdateActionParams=function(e){return cm.merge(e,{messages:this.msgObject("update"),instanceData:this.params.instanceData,events:{onSuccess:this.afterUpdate.bind(this)}})},n.checkUpdateActionAccess=function(){return this.hasAction("update")&&this.params.editable.enable},n.getDeleteActionParams=function(e){return cm.merge(e,{messages:this.msgObject("delete"),instanceData:this.params.instanceData,events:{onSuccess:this.afterDelete.bind(this),onError:this.afterError.bind(this)}})},n.checkDeleteActionAccess=function(){return this.hasAction("delete")&&this.params.editable.enable&&!this.hasDeleteLimited},n.renderNotificationListView=function(e){return cm.node("div",{classes:"pt__line-info"},cm.node("div",{classes:"item",innerHTML:this.msgParse("notifications.list",{name:this.getItemLabelName(e)})}))},n.renderNotificationCreateView=function(e){return cm.node("div",{classes:"pt__line-info"},cm.node("div",{classes:"item",innerHTML:this.msgParse("notifications.created",{name:this.getItemLabelName(e)})}))},n.renderNotificationUpdateView=function(e){return cm.node("div",{classes:"pt__line-info"},cm.node("div",{classes:"item",innerHTML:this.msgParse("notifications.updated",{name:this.getItemLabelName(e)})}))},n.renderNotificationDeleteView=function(e){return cm.node("div",{classes:"pt__line-info"},cm.node("div",{classes:"item",innerHTML:this.msgParse("notifications.deleted",{name:this.getItemLabelName(e)})}))},n.renderNotificationErrorView=function(e){var t=this.getMsg("notifications.error")||this.getMsg("notifications.server_error");return cm.node("div",{classes:"pt__line-info"},cm.node("div",{classes:"item",innerHTML:this.msgParse(t,{name:this.getItemLabelName(e),error:this.getItemErrorMessage(e)})}))},n.afterLoadSuccess=function(e,t){this.triggerEvent("onLoadSuccess")},n.afterLoadError=function(e,t){this.triggerEvent("onLoadError")},n.afterLoadComplete=function(e,t){this.triggerEvent("onLoadComplete")},n.afterDataFiltered=function(e,t){this.listData=t,this.checkItemsLimits(this.listData),this.params.buttons.render&&this.toggleButtonsVisibility(!this.hasCreateLimited)},n.afterDataEmpty=function(e,t){t=cm.merge({container:this.nodes.holder},t),this.params.emptyView.render&&(this.views.empty=this.renderEmptyView({container:t.container}))},n.afterCreate=function(e,t){e=e.get("all",!0),t=this.params.create.mergeResponseData?cm.merge(e,t):e;this.refresh(),this.components.notifications.add({type:"success",label:this.renderNotificationCreateView(t)}),this.triggerEvent("onCreateComplete",t),this.triggerEvent("onEditableSuccess"),this.afterComplete()},n.afterUpdate=function(e,t){e=e.get("all",!0),t=this.params.update.mergeResponseData?cm.merge(e,t):e;this.refresh(),this.components.notifications.add({type:"success",label:this.renderNotificationUpdateView(t)}),this.triggerEvent("onUpdateComplete",t),this.triggerEvent("onEditableSuccess"),this.afterComplete()},n.afterDelete=function(e,t){e=e.getParams("data");this.refresh(),this.components.notifications.add({type:"success",label:this.renderNotificationDeleteView(e,t)}),this.triggerEvent("onDeleteComplete",e),this.triggerEvent("onEditableSuccess"),this.afterComplete()},n.afterError=function(e,t){t=t.data||t;this.refresh(),this.components.notifications.add({type:"error",label:this.renderNotificationErrorView(t)}),this.triggerEvent("onError",t),this.triggerEvent("onEditableError"),this.afterComplete()},n.afterComplete=function(){this.triggerEvent("onEditableComplete")},n.refresh=function(){return this.checkCreateActionAccess()&&this.components.create?.setControllerParams({instanceData:this.params.instanceData}),this.params.notifications.render&&this.components.notifications.clear(),this.params.list.render&&this.renderListView(),this},n.hasAction=function(e){return cm.inArray(this.params.actions,e)}}),cm.define("App.ErrorBeacon",{extend:"Com.AbstractController",params:{controllerEvents:!0,renderStructure:!1,embedStructureOnRender:!1,request:{constructor:"App.Request",constructorParams:{showLoader:!1,autoSend:!1,responseKey:null,ajax:{url:App._api.support,paramsType:"json",method:"POST"}}}}},function(){Com.AbstractController.apply(this,arguments)}),cm.getConstructor("App.ErrorBeacon",function(e,t,n,a){n.onConstructStart=function(){window.ErrorBeacon=this},n.renderViewModel=function(){let t=this;a.prototype.renderViewModel.apply(t,arguments),cm.getConstructor(t.params.request.constructor,e=>{t.components.request=new e(t.params.request.constructorParams)})},n.send=function(e){return e=cm.merge({name:"Automatic Error Beacon",email:"[email protected]",message:"Automatic Error Beacon",source:"website",details:{language:cm._locale,agent:navigator.userAgent}},e),Application.User.isAuthorized()?(e.details.name=Application.userGetProfileName(),e.details.email=Application.userGetProfileEmail(),e.details.user=Application.userGetID()):e.details.name="Guest",e.details=cm.stringifyJSON(e.details,null,2),this.components.request.setAction({params:e}),this.components.request.send(),this}}),cm.define("App.ExportRequestContainer",{extend:"App.RequestContainer",params:{constructor:"App.ExportRequest"}},function(){App.RequestContainer.apply(this,arguments)}),cm.define("App.ExportRequest",{extend:"App.Request",params:{download:!0,contentType:"application/octet-stream",contentName:"Export",showLoader:!0,autoSend:!1,responseKey:null,responseErrorsKey:"message",overlayParams:{lazy:!1,position:"fixed"},ajax:{type:"blob",method:"GET",params:{},headers:{Accept:"application/octet-stream"}}}},function(){App.Request.apply(this,arguments)}),cm.getConstructor("App.ExportRequest",function(e,t,n,a){n.onDestruct=function(){this.clearFile()},n.clearFile=function(){cm.remove(this.nodes.link),window.URL.revokeObjectURL(this.blobUrl)},n.saveFile=function(e){var t=this,e=(t.clearFile(),new Blob([e],{type:t.params.contentType})),e=(t.blobUrl=window.URL.createObjectURL(e),cm.strReplace(t.params.contentName,{"{title}":App._env.title,"{date}":cm.dateFormat(new Date,"%Y-%m-%d %H-%i-%s")})),e=cm.fillVariables(e,t.params.data),e=(t.nodes.link=cm.node("a",{href:t.blobUrl}
1),t.params.download&&(t.nodes.link.setAttribute("target","_blank"),t.nodes.link.setAttribute("download",e)),new MouseEvent("click",{bubbles:!0}));t.nodes.link.dispatchEvent(e)},n.renderRequestEvents=function(){var n=this;n.components.request.addEvent("onSuccess",function(e,t){n.saveFile(t.filtered),n.triggerEvent("onSuccess",t,n.blobUrl),n.triggerEvent("onComplete",t,n.blobUrl)}),n.components.request.addEvent("onError",function(e,t){n.triggerEvent("onError",t),n.triggerEvent("onComplete",t)})}}),cm.define("App.Faq",{extend:"Com.AbstractController",params:{controllerEvents:!0,renderStructure:!0,embedStructureOnRender:!0,embedStructure:"append",data:[],spoiler:{constructor:"Com.ToggleBox",constructorParams:{renderStructure:!0,remember:!1,className:["com__togglebox--faq","is-transparent"]}}}},function(){Com.AbstractController.apply(this,arguments)}),cm.getConstructor("App.Faq",function(e,t,n,a){n.onConstructStart=function(){this.items=[]},n.onDestructEnd=function(){cm.forEach(this.components,e=>e.destruct())},n.renderView=function(){this.nodes.container=cm.node("div",{classes:"app__faq"})},n.renderViewModel=function(){let n=this;a.prototype.renderViewModel.apply(n,arguments),cm.forEach(n.params.data,(e,t)=>n.renderSpoiler(e,t))},n.renderSpoiler=function(t,e){let n=this;t.name=cm.isEmpty(t.name)?e:t.name,cm.getConstructor(n.params.spoiler.constructor,e=>{n.components["spoiler--"+t.name]=new e(cm.merge(n.params.spoiler.constructorParams,{container:n.nodes.container,title:t.title,content:t.description,events:{onShowStart:e=>n.toggleSpoilers(e)}})),n.items.push(n.components["spoiler--"+t.name])})},n.toggleSpoilers=function(t){cm.forEach(this.items,e=>{e!==t&&e.collapse()})}}),cm.define("App.FileBrowseFormContainer",{extend:"App.FormContainer",params:{browse:!0,browseActionUpdate:!1,browserConstructor:"App.FileBrowse",browseParams:{accept:App._config.acceptImageCanvasFormats,valuePath:"image.value"}}},function(){App.FormContainer.apply(this,arguments)}),cm.getConstructor("App.FileBrowseFormContainer",function(e,t,n,a){n.onDestructProcess=function(){this.destructBrowse(),a.prototype.onDestructProcess.apply(this,arguments)},n.openBrowse=function(){this.components.browse&&!this.components.browse.isDestructed||this.renderBrowse(),this.components.browse&&this.components.browse.open()},n.renderBrowse=function(){let n=this;cm.getConstructor(n.params.browserConstructor,e=>{n.components.browse=new e(cm.merge(n.params.browseParams,{opener:n,events:{onSelect:(e,t)=>n.afterBrowseSelect(t)}}))})},n.afterBrowseSelect=function(e){e=cm.objectFormPath(this.params.browseParams.valuePath,e);this.set(cm.merge(this.params.data,e)),this.openPlaceholder()},n.destructBrowse=function(){this.components.browse&&this.components.browse.destruct&&this.components.browse.destruct()},n.open=function(e){return e&&(cm.preventDefault(e),cm.stopPropagation(e)),this.params.browse&&("create"===this.params.action||"update"===this.params.action&&this.params.browseActionUpdate)?this.openBrowse():this.openPlaceholder(),this}}),cm.define("App.FileBrowse",{extend:"Com.AbstractController",events:["onSelect"],params:{controllerEvents:!0,renderStructure:!0,embedStructureOnRender:!0,embedStructure:"append",max:1,accept:App._config.acceptImageFormats,fileReader:{constructor:"Com.FileReader",constructorParams:{readOnRender:!1}}}},function(){Com.AbstractController.apply(this,arguments)}),cm.getConstructor("App.FileBrowse",function(e,t,n,a){n.validateParams=function(){a.prototype.validateParams.apply(this,arguments),this.isMultiple=!this.params.max||1<this.params.max},n.renderView=function(){var e=this;e.nodes.container=cm.node("div",{classes:"app__file-browse"},e.nodes.input=cm.node("input",{type:"file",autocomplete:"off"})),e.isMultiple&&e.nodes.input.toggleAttribute("multiple",!0),!cm.isEmpty(e.params.accept)&&cm.isArray(e.params.accept)&&(e.nodes.input.accept=e.params.accept.join(",")),cm.addEvent(e.nodes.input,"change",e.browseA
1ction.bind(e)),cm.addEvent(e.nodes.input,"click",e.clickAction.bind(e))},n.renderViewModel=function(){let n=this;a.prototype.renderViewModel.apply(n,arguments),cm.getConstructor(n.params.fileReader.constructor,e=>{n.components.reader=new e(cm.merge(n.params.fileReader.params,{events:{onReadSuccess:(e,t)=>n.triggerEvent("onSelect",t)}}))})},n.browseAction=function(e){cm.preventDefault(e);let t=e.target&&e.target.files&&e.target.files.length?e.target.files:[];e=this.params.max?Math.min(t.length,this.params.max):t.length;let n=[];cm.forEach(e,e=>n.push(t[e])),n.length&&(this.isMultiple?this.triggerEvent("onSelect",n):this.components.reader.read(n[0]))},n.clickAction=function(){this.nodes.input.value=""},n.open=function(){return this.nodes.input.click(),this}}),cm.define("App.Gallery",{extend:"Com.AbstractController",events:["onEmpty","onEditableSuccess","onEditableError","onPageRender"],params:{controllerEvents:!0,renderStructure:!0,embedStructureOnRender:!0,embedStructure:"append",columns:5,columnsAdaptive:3,rows:12,indent:"4px",indentAdaptive:"4px",disabled:!1,editable:{enable:!1,fieldsData:{}},page:{adaptive:!0,adaptiveFrom:cm._breakpoints.small,adaptiveUp:["has-page-indent"],adaptiveDown:["has-outer-page-indent"]},tools:{enable:!0,toolsClasses:{topLeft:["pull","top-left","is-medium","no-padding"],topRight:["pull","top-right","is-medium","no-padding"]}},deleted:{constructor:"Com.Overlay",constructorParams:{theme:"gallery-deleted",position:"absolute",showContent:!0,showSpinner:!1,lazy:!1,removeOnClose:!0,destructOnRemove:!0}},list:{constructor:"Com.ScrollPagination",constructorParams:{renderStructure:!0,embedStructureOnRender:!0,embedStructure:"append",clearOnRebuild:!0,responseKey:null,ajax:{url:App._api.photos.list,type:"json",method:"GET",params:{limit:"%limit%",skip:"%offset%",order:"-created"},uriConfig:{multipleValues:"keys",skipEmpty:!0}}}},read:{constructor:"App.GalleryPopupContainer",constructorParams:{}},create:{enable:!1,constructor:"Form.UserPhotoContainer",constructorParams:{action:"create",ajax:{url:App._api.photos.create,method:"POST"}}},update:{constructor:"Form.UserPhotoContainer",constructorParams:{action:"update",ajax:{url:App._api.photos.update,method:"PUT"}}},delete:{constructor:"App.ConfirmDialogContainer",constructorParams:{constructor:"App.GalleryDeleteConfirm"}}}},function(){Com.AbstractController.apply(this,arguments)}),cm.getConstructor("App.Gallery",function(e,t,n,a){n.onConstructStart=function(){this.listCallback=null,this.currentItem=null,this.perPage=0,this.views={},this.pages=[],this.items=[],this.actions=[]},n.onValidateParams=function(){var e=this;e.perPage=e.params.columns*e.params.rows,e.params.list.constructorParams.disabled=e.params.disabled,e.params.list.constructorParams.perPage=e.perPage,e.params.page.adaptiveUp.push("col-"+e.params.columns),e.params.page.adaptiveDown.push("col-"+e.params.columnsAdaptive),e.params.page.adaptiveUp.push("indent-"+e.params.indent),e.params.page.adaptiveDown.push("indent-"+e.params.indentAdaptive)},n.onRedraw=function(){let n=this;if(n.params.page.adaptive){let t=cm.getPageSize();cm.forEach(n.pages,e=>{cm.toggleClass(e.nodes.container,n.params.page.adaptiveUp,t.winWidth>n.params.page.adaptiveFrom),cm.toggleClass(e.nodes.container,n.params.page.adaptiveDown,t.winWidth<=n.params.page.adaptiveFrom)})}},n.onDestruct=function(){this.components.list&&this.components.list.destruct(),this.components.read&&this.components.read.destruct(),this.removeCreateAction()},n.renderView=function(){this.nodes.container=cm.node("div",{classes:"app__gallery"}),this.views.create=this.renderCreateActionView({container:document.body})},n.renderViewModel=function(){let n=this;a.prototype.renderViewModel.apply(n,arguments),cm.getConstructor(n.params.list.constructor,e=>{n.components.list=new e(cm.merge(n.params.list.constructorParams,{container:n.nodes.container,events:{onPageRender:n.renderPage.bind(n),onPageRenderEnd:()=>n.redraw(),onEmpty:n.renderEmpty.bind(n),onFinalize:n.renderFinalize.bind(n)}}))}),cm.getConstructor(n.params.read.constructor,e=>{n.components.read=new e(cm.merge(n.params.read.constructorParams,{events:{onPrev:()=>n.requestPrevItem(n.currentItem),onNext:()=>n.requestNextItem(n.currentItem),onEditableSuccess:(e,t)=>n.updateSuccess(n.currentItem,t)}}))}),cm.getConstructor(n.params.create.constructor,e=>{n.components.create=new e(cm.merge(n.params.create.constructorParams,{fieldsData:n.params.editable.fieldsData,events:{onSuccess:()=>n.editableSuccess("create"),onError:()=>n.editableError("create")}}))})},n.renderCreateActionView=function(e){let t=this;e={nodes:{},params:cm.merge({container:cm.node("div")},e)};if(t.params.create.enable&&Application.User.isAuthorized())return e.no
1des.container=Application.Buttons.embed({title:t.msg("actions.create"),icons:{classes:["medium"],before:"plus"},modifiers:["float"],classes:["is-hidden-anim"],ariaHasPopup:"dialog",callback:()=>t.create()}),cm.appendChild(e.nodes.container,e.params.container),e.interval&&clearTimeout(e.interval),e.interval=setTimeout(()=>t.toggleCreateActionVisibility(!0),cm._config.hideDelay),t.actions.push("create"),e},n.toggleCreateActionVisibility=function(e){var t=this.views.create;t&&cm.toggleClass(t.nodes.container,"is-hidden-anim",!e)},n.removeCreateAction=function(){let e=this.views.create;e&&(this.toggleCreateActionVisibility(!1),e.interval&&clearTimeout(e.interval),e.interval=setTimeout(()=>cm.remove(e.nodes.container),cm._config.hideDelay))},n.renderPage=function(e,t){let n=this,a={page:t,data:t.data,items:[],nodes:{}};return n.nodes.empty&&cm.remove(n.nodes.empty),n.renderPageView(a),cm.forEach(a.data,e=>{n.renderItem(a,e,{container:a.nodes.holder})}),a.data.length<n.perPage&&e.finalize(),n.listCallback&&(cm.isFunction(n.listCallback)&&n.listCallback(),n.listCallback=null),cm.appendChild(a.nodes.container,a.page.container),n.pages.push(a),n.triggerEvent("onPageRender",a),a},n.renderPageView=function(e){e.classes=["pt__grid","pt__grid--gallery-grid","is-not-adaptive"],e.nodes.container=cm.node("div",{classes:e.classes},e.nodes.holder=cm.node("ul"))},n.renderFinalize=function(){this.components.read.setCount(this.items.length)},n.renderEmpty=function(e){e.isEmpty()&&(this.nodes.empty&&cm.remove(this.nodes.empty),this.nodes.empty=cm.node("div",{classes:["cm__empty","h6"]},this.msg("empty")),cm.insertFirst(this.nodes.empty,this.nodes.container),this.triggerEvent("onEmpty"))},n.renderItem=function(e,t,n){t={data:t,parent:e,nodes:{},params:cm.merge({container:cm.node("div")},n)};return t.nodes.container=t.nodes.holder=cm.node("li",{classes:"app__gallery__image"}),t.nodes.deleteHolder=t.nodes.container,this.renderItemView(t),cm.appendChild(t.nodes.container,t.params.container),this.items.push(t),e.items.push(t),t},n.updateItem=function(e,t){e.data=t,this.renderItemView(e)},n.requestPrevItem=function(e){e=cm.arrayIndex(this.items,e);0<e&&this.setItem(this.items[e-1])},n.requestNextItem=function(e){let t=this;var n=cm.arrayIndex(t.items,e);n<t.items.length-1?t.setItem(t.items[n+1]):t.components.list.isFinalize||(t.components.read.toggleLoader(!0),t.set(()=>t.requestNextItem(e)))},n.setItem=function(e){var t=cm.arrayIndex(this.items,e);this.currentItem=e,this.components.read.set(t),this.components.read.open()},n.validateItemParams=function(t){t.title=cm.isEmpty(t.data.title)?Application.msg("gallery.item.title"):t.data.title,cm.isEmpty(t.data._id)||(t.data.id=t.data._id),cm.isEmpty(t.data.userObject)||(t.data.user=t.data.userObject),cm.isEmpty(t.data.image)||(t.imageExt=App.getFileExt(t.data.image.file),t.imageSrc=Application.Images.getSrc(t.data.image.id),t.imageSizes=[["100vw"]],t.imageSrcset=App._config.gallery.imageWidths.map(e=>[Application.Images.getSrc(t.data.image.id,{maxwidth:e}),e+"w"]),t.data.image.width&&t.data.image.height&&(t.imageAspectRatio=t.data.image.width+" / "+t.data.image.height)),t.imageBlank=Application.GalleryItem.getBlankSrc()},n.renderItemView=function(e){this.validateItemParams(e),this.addItemActions(e),this.renderItemImage(e)},n.renderItemImage=function(t){let n=this;t.image&&t.image.remove(),t.imageParams=n.getItemImageParams(t),n.params.editable.enable&&n.params.tools.enable&&"yes"!==t.data.deleted&&(t.imageParams.tools=n.renderItemTools(t),t.imageParams.toolsClasses=cm.clone(n.params.tools.toolsClasses)),t.image=Application.Images.render(t.imageParams),t.imageContainer=t.image.getContainer(),t.imageContainer.setAttribute("role","button"),t.imageContainer.setAttribute("tabindex","0"),t.imageAspectRatio&&(cm.setCSSVariable("--aspect-ratio",t.imageAspectRatio,t.imageContainer),cm.addClass(t.imageContainer,"has-aspect-ratio")),"yes"===t.data.deleted&&(t.nodes.container.setAttribute("aria-disabled","true"),cm.getConstructor(n.params.deleted.constructor,e=>{t.deleted=new e(cm.merge(n.params.deleted.constructorParams,{container:t.nodes.deleteHolder,appendMode:"insertFirst",content:Application.Images.embedIcon({icon:"delete",title:n.msg("delete.deleted")})}
1))})),"yes"!==t.data.deleted&&(t.imageContainer.setAttribute("aria-haspopup","dialog"),n.addItemClickAction(t,t.imageContainer,e=>n.setItem(e))),n.components.read.add({type:"image",src:t.imageSrc||t.imageBlank,srcset:t.imageSrcset,sizes:t.imageSizes,title:t.title,data:t.data})},n.getItemImageParams=function(e){return{image:Application.Images.getSrc(e.data.image.id,{width:App._config.gallery.size,height:App._config.gallery.size}),blank:e.imageBlank,alt:e.title,classes:["is-hover","is-centered"],modifiers:["gallery-grid"],container:e.nodes.holder,imageDataset:{pinNopin:"true"}}},n.addItemClickAction=function(t,e,n){let a=this;cm.click.add(e,e=>{cm.stopPropagation(e),cm.preventDefault(e),a.currentItem=t,cm.isFunction(n)&&n(t)})},n.addItemActions=function(n){let a=this;n.actions={},n.actions.update=a.addItemAction(n,{name:"update",label:a.msg("actions.update"),icon:"edit",iconBorder:"edit-border",iconClasses:["size-field-half"],ariaHasPopup:"dialog",constructor:a.params.update.constructor,constructorParams:cm.merge(a.params.update.constructorParams,{data:n.data,fieldsData:a.params.editable.fieldsData,events:{onSuccess:(e,t)=>a.updateSuccess(n,t),onError:()=>a.editableError("update")}})}),cm.isEmpty(n.data.image)||(n.actions.download=a.addItemAction(n,{name:"download",label:a.msg("actions.download"),icon:"save",iconBorder:"save",iconClasses:["size-field-half","inset-small"],preventDefault:!1,attr:{href:n.imageSrc,target:"_blank",download:a.msg("download.filename",{"{title}":App._env.title,"{date}":cm.parseFormatDate(n.data.created,"%Y-%m-%d %H-%i-%s"),"{ext}":n.imageExt}),"dataset-no-route":"true"}})),n.actions.delete=a.addItemAction(n,{name:"delete",label:a.msg("actions.delete"),icon:"delete",iconBorder:"delete-border",iconClasses:["size-field-half"],status:"danger",ariaHasPopup:"dialog",constructor:a.params.delete.constructor,constructorParams:cm.merge(a.params.delete.constructorParams,{data:n.data,fieldsData:a.params.editable.fieldsData,events:{onSuccess:()=>a.deleteSuccess(n),onError:()=>a.editableError("delete")}})})},n.addItemAction=function(e,t){let n={nodes:{},params:cm.merge({name:"",label:"",icon:null,iconBorder:null,iconClasses:[],status:null,hidden:!1,ariaHasPopup:null,attr:{},constructor:null,constructorParams:{}},t)};return n.params.constructor&&cm.getConstructor(n.params.constructor,e=>{n.controller=new e(n.params.constructorParams)}),this.params.tools.enable&&(n.nodes.tool=Application.Images.embedIcon({title:n.params.label,icon:n.params.icon,role:"button",ariaHasPopup:n.params.ariaHasPopup}),n.params.hidden&&cm.addClass(n.nodes.tool,"is-hidden"),this.addItemClickAction(e,n.nodes.tool,()=>n.controller?.open())),n},n.updateSuccess=function(e,t){this.updateItem(e,t),this.editableSuccess("update")},n.deleteSuccess=function(e){e.data.deleted="yes",this.updateItem(e,e.data),this.editableSuccess("delete")},n.renderItemTools=function(e){let t={topRight:[]};return cm.forEach(e.actions,e=>{t.topRight.push(e.nodes.tool)}),t},n.editableSuccess=function(e){this.triggerEvent("onEditableSuccess",e)},n.editableError=function(e){this.triggerEvent("onEditableError",e)},n.request=function(){return this.components.list&&(this.clear(),this.components.list.request()),this},n.set=function(e){return this.components.list&&(this.listCallback=e,this.components.list.set()),this},n.disable=function(){return this.components.list&&this.components.list.disable(),this},n.enable=function(){return this.components.list&&this.components.list.enable(),this},n.create=function(){this.components.create&&this.components.create.open()},n.clear=function(){this.pages=[],this.items=[],this.currentItem=null,this.components.read&&this.components.read.clear()},n.toggleSuspension=function(e){return e?this.enable():this.disable(),this},n.setListAction=function(){return this.clear(),this.components.list&&this.components.list.setAction.apply(this.components.list,arguments),this}}),cm.getConstructor("App.Application",function(e,t,n){n.Gallery={},n.GalleryItem={},n.GalleryItem.getBlankSrc=function(){return App.getPath("gallery.img","noimage.svg")},n.GalleryItem.getFormSrc=function(e){return Application.Images.getSrc(e,{maxwidth:App._config.gallery.formWidth})}}),cm.define("App.GalleryDeleteConfirm",{extend:"App.ConfirmDialog",params:{data:{},itemData:{},messageDataMap:{"{id}":"id","{name}":"title"},ajax:{url:App._api.photos.delete,method:"DELETE"},notifications:{render:!0},request:{enable:!0}}},function(){App.ConfirmDialog.apply(this,arguments)}),cm.getConstructor("App.GalleryDeleteConfirm",function(e,t,n,a){n.renderMessageView=function(){return cm.node("div",{classes:"section__block"},cm.node("div",{classes:"section__image"},Application.Images.embed({modifiers:["gallery-form"],classes:["is-contain"],image:Application.GalleryItem.getFormSrc(this.params.data?.image),blank:Application.GalleryItem.getBlankSrc(),alt:Application.msg("gallery.item.title"),imageAttr:{draggable:!1},imageDataset:{pinNopin:"true"}})),a.prototype.renderMessageView.apply(this,this.params.data))}}),cm.define("App.GalleryIndex",{extend:"App.Gallery",params:{columns:2,columnsAdaptive:1,rows:6,indent:"24px",indentAdaptive:"12px",page:{adaptive:!0,adaptiveFrom:cm._breakpoints.tablet,adaptiveUp:[],adaptiveDown:[]},like:{constructor:"App.UserLikeButton",constructorParams:{type:"icon",renderLabel:!1}},tools:{enable:!1},user:{markPrivate:!0},menu:{enable:!0,constructor:"App.ActionsMenu",constructorParams:{tooltip:{enable:!0,constructorParams:{left:"-(selfWidth-targetWidth)"}}}}}},function(){App.Gallery.apply(this,arguments)}),cm.getConstructor("App.GalleryIndex",function(e,t,n,o){n.onRedraw=function(){let s=this;if(s.params.page.adaptive){let n=cm.getPageSize(),a=s.pages.length;cm.forEach(s.pages,(e,t)=>{cm.toggleClass(e.nodes.container,s.params.page.adaptiveUp,n.winWidth>s.params.page.adaptiveFrom),cm.toggleClass(e.nodes.container,s.params.page.adaptiveDown,n.winWidth<=s.params.page.adaptiveFrom),cm.replaceClass(e.nodes.container,["has-page-indent-first","has-page-indent-last"]),0===t&&cm.addClass(e.nodes.container,"has-page-indent-first"),t===a-1&&cm.addClass(e.nodes.container,"has-page-indent-last")})}},n.renderPageView=function(e){e.classes=["pt__grid","pt__grid--gallery","is-not-adaptive","has-page-indent"],e.nodes.container=cm.node("div",{classes:e.classes},e.nodes.holder=cm.node("ul"))},n.renderItemView=function(e){e.nodes.box&&cm.remove(e.nodes.box),this.validateItemParams(e),this.addItemActions(e),e.nodes.box=cm.node("div",{classes:["tpl__box","tpl__box--gallery-image","padding-none"]},cm.node("div",{classes:"inner"},e.nodes.title=cm.node("div",{classes:"tpl__box__title"},cm.node("h5",{classes:"label"},e.title)),e.nodes.holder=cm.node("div",{classes:"tpl__box__image"}),e.nodes.actions=cm.node("div",{classes:"tpl__box__actions"}
1))),e.nodes.deleteHolder=e.nodes.box,this.params.editable.enable&&this.params.menu.enable&&"yes"!==e.data.deleted&&(cm.addClass(e.nodes.title,"is-editable"),this.renderItemMenu(e)),this.renderItemUser(e),this.renderItemImageBlurred(e),this.renderItemImage(e),cm.appendChild(e.nodes.box,e.nodes.container)},n.renderItemImageBlurred=function(e){e.imageBlurred&&e.imageBlurred.remove(),e.imageBlurredParams=this.getItemImageParams(e,"blurred"),e.imageBlurred=Application.Images.render(e.imageBlurredParams)},n.getItemImageParams=function(e,t="main"){var n,a={container:e.nodes.holder,modifiers:["gallery-image"],blank:e.imageBlank};return"main"===t&&(n=(parseInt(cm.getCSSVariable("--template-width"))-parseInt(this.params.indent)*(this.params.columns-1))/this.params.columns,a.image=Application.Images.getSrc(e.data.image,{maxwidth:n}),a.alt=Application.msg("gallery.item.title"),a.classes=["is-contain","is-main"],a.lazy=!0),"blurred"===t&&(a.image=Application.Images.getSrcBlurred(e.data.image),a.alt=Application.msg("gallery.item.blurred"),a.classes=["is-cover","is-blurred"],a.ariaHidden=!0,a.lazy=!1,a.imageDataset={pinNopin:"true"}),a},n.renderItemUser=function(e){e.nodes.like=this.embedLikeAction(e),e.user=Application.User.validateProfile(e.data.user,this.params.user),e.user.card=Application.User.renderCard(e.user.data,{modifiers:["gallery-image"],linkClasses:["has-link-hover"],renderLink:!cm.isEmpty(e.user.data),user:cm.merge(this.params.user,{render:!0,renderBadge:!0,classes:["is-nowrap"]}),description:{render:!0,content:cm.dateFormat(e.data.created,cm._config.displayDateTimeFormat),classes:["card__normal","is-nowrap","h7"]},editable:{enable:!!e.nodes.like,content:e.nodes.like},container:e.nodes.actions})},n.addItemAction=function(t,e){let n=this,a=o.prototype.addItemAction.apply(n,arguments);var s;return n.params.menu.enable&&(s={name:a.params.name,label:a.params.label,status:a.params.status,hidden:a.params.hidden,preventDefault:a.params.preventDefault,attr:a.params.attr,icon:Application.Images.embedIcon({icon:a.params.iconBorder||a.params.icon,classes:a.params.iconClasses,ariaHidden:!0})},a.params.constructor&&(s.attr.role="button",s.attr.tabindex=0,s.attr["aria-haspopup"]=a.params.ariaHasPopup,s.afterRender=e=>{n.addItemClickAction(t,e.nodes.link,()=>a.controller?.open())}),a.menuItem=s),a},n.embedLikeAction=function(n){let a=this;if(Application.User.isAuthorized()){let t=cm.node("div",{classes:"holder"});return cm.getConstructor(a.params.like.constructor,e=>{n.like=new e(cm.merge(a.params.like.constructorParams,{data:n.data,container:t,overlayParams:{container:n.nodes.container,appendMode:"insertFirst"},events:{onEditableSuccess:(e,t)=>{"create"===t?cm.arrayAdd(n.data.likes,Application.userGetID()):cm.arrayRemove(n.data.likes,Application.userGetID()),a.editableSuccess("create"===t?"like":"unlike")},onEditableError:(e,t)=>{a.editableError("create"===t?"like":"unlike")}}}))}),t}},n.renderItemMenu=function(t){let n=this;t.menu?.destruct(),cm.getConstructor(n.params.menu.constructor,e=>{t.menu=new e(cm.merge(n.params.menu.constructorParams,{container:t.nodes.title})),cm.forEach(t.actions,e=>{t.menu.addItem(e.menuItem)})})}}),cm.define("App.GalleryLikes",{extend:"App.GalleryIndex",params:{editable:{enable:!1},list:{constructorParams:{ajax:{url:App._api.me.like.list}}}}},function(){App.Gallery.apply(this,arguments)}),cm.define("App.GalleryPopupContainer",{extend:"Com.AbstractContainer",events:["onPrev","onNext","onEditableSuccess","onEditableError"],params:{destructOnClose:!0,data:[],active:null,navigation:{},constructor:"App.GalleryPopup"}},function(){Com.AbstractContainer.apply(this,arguments)}),cm.getConstructor("App.GalleryPopupContainer",function(e,t,n,a){n.constructController=function(e){return new e(cm.merge(this.params.constructorParams,{data:this.params.data,active:this.params.active,navigation:this.params.navigation}))},n.renderControllerEvents=function(){let n=this;a.prototype.renderControllerEvents.apply(n,arguments),n.components.controller.addEvent("onPrev",(e,t)=>{n.triggerEvent("onPrev",t)}),n.components.controller.addEvent("onNext",(e,t)=>{n.triggerEvent("onNext",t)}
1),n.components.controller.addEvent("onEditableSuccess",(e,t)=>{n.triggerEvent("onEditableSuccess",t)}),n.components.controller.addEvent("onEditableError",(e,t)=>{n.triggerEvent("onEditableError",t)})},n.add=function(e){this.params.data.push(e),this.components.controller&&!this.components.controller.isDestructed&&this.components.controller.add(e)},n.set=function(e){return this.params.active=e,this.components.controller&&!this.components.controller.isDestructed&&this.components.controller.set(e),this},n.clear=function(){return this.params.data=[],this.params.active=0,this.components.controller&&!this.components.controller.isDestructed&&this.components.controller.clear(),this.setCount(1/0),this},n.setCount=function(e){return this.params.navigation.count=e,this.components.controller&&!this.components.controller.isDestructed&&this.components.controller.setCount(e),this},n.getCount=function(){return this.components.controller&&this.components.controller.getCount()||0},n.toggleLoader=function(e){return this.components.controller&&this.components.controller.toggleLoader(e),this}}),cm.define("App.GalleryPopup",{extend:"Com.GalleryPopup",events:["onEditableSuccess","onEditableError"],params:{size:"fullscreen",theme:["theme-black","theme-borderless"],showCounter:!1,showTitle:!0,showZoom:!1,navigation:{enable:!1,cycle:!1,count:1/0},overlayParams:{theme:"logo-dark"},galleryItemParams:{position:"is-contain"},placeholderParams:{titleOverflow:!1,className:["com__gallery-popup","app__gallery-popup"]},read:{constructor:"App.Request",constructorParams:{showLoader:!0,overlayParams:{theme:"dark"},autoSend:!0,responseKey:null,ajax:{url:App._api.photos.list,type:"json",method:"GET",params:{filter:"_id={id}"}}}},update:{constructor:"Form.UserPhotoContainer",constructorParams:{stopPropagation:!0,action:"update",ajax:{url:App._api.photos.update,method:"PUT"}}},like:{constructor:"App.UserLikeButton",constructorParams:{type:"icon",renderLabel:!1,icons:{modifiers:["action","action-dark"]}}},menu:{enable:!0,constructor:"App.ActionsMenu",constructorParams:{embedStructure:"prepend",icon:{modifiers:["action","action-dark"]},tooltip:{enable:!0,constructorParams:{left:"-(selfWidth-targetWidth)"}}}}}},function(){Com.GalleryPopup.apply(this,arguments)}),cm.getConstructor("App.GalleryPopup",function(e,t,n,a){n.onDestruct=function(){this.components.read&&this.components.read.destruct(),a.prototype.onDestruct.apply(this,arguments)},n.renderView=function(){this.nodes.container=cm.node("div",{classes:["com__gallery-preview","app__gallery-preview","has-sidebar"]},this.nodes.inner=cm.node("div",{classes:"inner"},this.nodes.sidebar=cm.node("div",{classes:"com__gallery-preview__sidebar"})))},n.changeEvent=function(e){let n=this;n.currentItem=e,cm.getConstructor(n.params.read.constructor,e=>{n.components.read=new e(cm.merge(n.params.read.constructorParams,{data:n.currentItem.data,overlayParams:{container:n.nodes.sidebar,appendMode:"insertFirst"},events:{onSuccess:(e,t)=>{n.views.info=n.renderHelperView(t.data?.[0]?t.data[0]:n.currentItem.data)},onError:()=>{n.views.info=n.renderHelperView(n.currentItem.data)}}}))}),n.triggerEvent("onChange",n.currentItem)},n.renderHelperView=function(e){return this.resetInfoView(),cm.isEmpty(e)?this.renderErrorView(e,{message:this.msgParse("errors.server_error")}):"yes"===e.deleted?this.renderErrorView(e,{message:this.msgParse("errors.deleted")}):this.renderInfoView(e)},n.resetInfoView=function(){this.views.info&&(cm.customEvent.trigger(this.views.info.nodes.container,"destruct",{direction:"child",self:!0}),cm.remove(this.views.info.nodes.container))},n.renderInfoView=function(e){var t=this,e={data:e,nodes:{},user:{},technician:{}};return e.data.title=cm.isEmpty(e.data.title)?t.msg("fields.title"):e.data.title,cm.isEmpty(e.data.userObject)||(e.data.user=e.data.userObject),t.params.showTitle&&t.components.dialog.setTitle(e.data.title),e.nodes.container=cm.node("div",{classes:"inner"},e.nodes.title=cm.node("div",{classes:"sidebar__title"},cm.node("h4",{classes:"label"},e.data.title)),cm.node("hr",{classes:"sidebar__separator"}),e.nodes.content=cm.node("div",{classes:"sidebar__content"}
1)),e.nodes.like=t.embedLikeAction(e),e.user=Application.User.validateProfile(e.data.user),e.user.card=Application.User.renderCard(e.user.data,{modifiers:["gallery-preview"],classes:["no-padding"],linkClasses:["has-link-hover"],renderLink:!cm.isEmpty(e.user.data),user:{render:!0,renderBadge:!1,markPrivate:!0},description:{render:!0,renderBadge:!0,classes:["card__block","is-flex"]},editable:{enable:!!e.nodes.like,content:e.nodes.like},container:e.nodes.content}),cm.isEmpty(e.data.created)||(e.nodes.date=cm.node("dl",{classes:["pt__field","pt__field--gallery-preview","is-text","is-flex"]},cm.node("dt",Application.Images.embedIcon({icon:"clock",classes:["medium"],title:t.msg("fields.date")})),cm.node("dd",cm.dateFormat(e.data.created,cm._config.displayDateTimeFormat))),cm.appendChild(e.nodes.date,e.nodes.content)),cm.isEmpty(e.data.speciality?.title)||(e.nodes.speciality=cm.node("dl",{classes:["pt__field","pt__field--gallery-preview","is-text","is-flex"]},cm.node("dt",Application.Images.embedIcon({icon:"cube",classes:["medium"],title:t.msg("fields.speciality")})),cm.node("dd",e.data.speciality.group+": "+e.data.speciality.title)),cm.appendChild(e.nodes.speciality,e.nodes.content)),cm.isEmpty(e.data.brand?.title)||(e.nodes.brand=cm.node("dl",{classes:["pt__field","pt__field--gallery-preview","is-text","is-flex"]},cm.node("dt",Application.Images.embedIcon({icon:"brand",classes:["medium"],title:t.msg("fields.brand")})),cm.node("dd",e.data.brand.title)),cm.appendChild(e.nodes.brand,e.nodes.content)),cm.isObject(e.data.technician)&&(e.nodes.technician=t.renderTechnicianField(e)),e.user.isMe&&(cm.addClass(e.nodes.title,"is-editable"),t.renderActionsMenu(e)),TrackingManager.pushEvent(null,{category:"gallery",action:"photo_view",label:e.data.id}),cm.appendChild(e.nodes.container,t.nodes.sidebar),e},n.renderErrorView=function(e,t){e={data:e,nodes:{},params:cm.merge({message:""},t)};return e.data.title=cm.isEmpty(e.data?.title)?this.msg("fields.title"):e.data.title,this.params.showTitle&&this.components.dialog.setTitle(e.data.title),e.nodes.container=cm.node("div",{classes:"inner"},cm.node("h4",{classes:"sidebar__title"},e.data.title),cm.node("hr",{classes:"sidebar__separator"}),cm.node("div",{classes:"sidebar__empty"},cm.node("h5",e.params.message))),cm.appendChild(e.nodes.container,this.nodes.sidebar),e},n.renderTechnicianField=function(e){var t,n;if(e.technician.data=e.data.technician,e.technician.confirm=e.data.confirm,e.technician.isMe=Application.User.isMe(e.technician.data),e.technician.isBeautician=Application.User.isBeautician(e.technician.data),e.technician.isBeautician&&("confirmed"===e.technician.confirm||e.user.isMe))return(t={}).container=cm.node("dl",{classes:["pt__field","pt__field--gallery-preview","is-text","is-flex"]},cm.node("dt",Application.Images.embedIcon({icon:"member",classes:["medium"],title:this.msg("fields.technician")})),t.value=cm.node("dd",Application.User.embedLink(e.data.technician,{renderAvatar:!1,renderBadge:!0}))),e.user.isMe&&(n={waiting:"warning",confirmed:"success",canceled:"danger"}[e.technician.confirm]||e.technician.confirm,t.status=cm.node("div",{classes:["pt__field-status",n]},this.msg("confirm."+e.technician.confirm)),cm.appendChild(t.status,t.value)),cm.appendChild(t.container,e.nodes.content),t},n.embedLikeAction=function(n){let a=this;if(Application.User.isAuthorized()){let t=cm.node("div",{classes:"holder"});return cm.getConstructor(a.params.like.constructor,e=>{n.user.like=new e(cm.merge(a.params.like.constructorParams,{data:n.data,container:t,events:{onEditableSuccess:(e,t)=>{"create"===t?cm.arrayAdd(n.data.likes,Application.userGetID()):cm.arrayRemove(n.data.likes,Application.userGetID()),a.triggerEvent("onEditableSuccess",n.data)}}}))}),t}},n.renderActionsMenu=function(t){let n=this;Application.User.isAuthorized()&&cm.getConstructor(n.params.menu.constructor,e=>{t.menu=new e(cm.merge(n.params.menu.constructorParams,{container:t.nodes.title})),t.menu.addItem({name:"update",label:n.msg("actions.update"),icon:Application.Images.embedIcon({icon:"edit-border",classes:["size-field-half"],ariaHidden:!0}),constructor:n.params.update.constructor,constructorParams:cm.merge(n.params.update.constructorParams,{data:t.data,events:{onSuccess:(e,t)=>{n.views.info=n.renderHelperView(t),n.triggerEvent("onEditableSuccess",t)},onError:(e,t)=>
1{n.triggerEvent("onEditableError",t)}}})})})}}),cm.define("App.GalleryTags",{extend:"App.GalleryIndex",params:{editable:{enable:!0},tools:{enable:!0,toolsClasses:{topLeft:["pull","top-left","is-small","has-status"]}},list:{constructorParams:{ajax:{url:App._api.me.tag.list,params:{filter:"confirm=waiting,confirmed"}}}},approveTool:{constructor:"App.Request",constructorParams:{showLoader:!0,autoSend:!1,responseKey:null,responseErrorsKey:"message",ajax:{url:App._api.me.tag.create,type:"json",method:"POST",headers:{"Content-Type":"application/octet-stream"}}}},declineTool:{constructor:"App.Request",constructorParams:{showLoader:!0,autoSend:!1,responseKey:null,responseErrorsKey:"message",ajax:{url:App._api.me.tag.delete,type:"json",method:"DELETE",headers:{"Content-Type":"application/octet-stream"}}}}}},function(){App.Gallery.apply(this,arguments)}),cm.getConstructor("App.GalleryTags",function(e,t,n,a){n.renderItemTools=function(e){var t={topLeft:[],topRight:[]};return this.renderItemStatus(e),t.topLeft.push(e.nodes.status),t},n.renderItemStatus=function(e){var t={confirmed:{label:this.msg("statuses.approved"),icon:"approve",iconClasses:["small"],status:"success"},canceled:{label:this.msg("statuses.declined"),icon:"decline",iconClasses:["small"],status:"danger"},default:{label:this.msg("statuses.pending"),icon:"pending",iconClasses:["small"],status:"warning"}},t=t[e.data.confirm]||t.default;e.nodes.status=Application.Views.embedStatus(t)},n.addItemActions=function(e){let t=this;e.actions={},e.actions.approve=t.addItemAction(e,{name:"approve",label:t.msg("actions.approve"),icon:"approve",iconClasses:["small"],status:"success",hidden:"confirmed"===e.data.confirm,constructor:t.params.approveTool.constructor,constructorParams:cm.merge(t.params.approveTool.constructorParams,{data:e.data,overlayParams:{container:e.nodes.container,appendMode:"insertFirst"},events:{onSuccess:()=>t.approveSuccess(e),onError:()=>t.editableError("approve")}})}),e.actions.decline=t.addItemAction(e,{name:"decline",label:t.msg("actions.decline"),icon:"decline",iconClasses:["small"],status:"danger",hidden:"canceled"===e.data.confirm,constructor:t.params.declineTool.constructor,constructorParams:cm.merge(t.params.declineTool.constructorParams,{data:e.data,overlayParams:{container:e.nodes.container,appendMode:"insertFirst"},events:{onSuccess:()=>t.declineSuccess(e),onError:()=>t.editableError("decline")}})})},n.approveSuccess=function(e){e.data.confirm="confirmed",this.updateItem(e,e.data),this.editableSuccess("approve"),UserHelper.requestNotifications()},n.declineSuccess=function(e){e.data.confirm="canceled",this.updateItem(e,e.data),this.editableSuccess("decline"),UserHelper.requestNotifications()}}),cm.define("App.Gridlist",{extend:"Com.AbstractController",events:["afterLoadSuccess","afterLoadError","afterLoadComplete","afterDataFiltered","afterDataEmpty"],params:{controllerEvents:!0,renderStructure:!0,embedStructureOnRender:!0,embedStructure:"append",actions:[],ajax:{},data:null,fieldsData:{},editable:{enable:!0},controller:{constructor:"Com.Gridlist",constructorParams:{embedStructure:"append",sort:!1,showTitle:!0,textOverflow:!0,visibleDateFormat:"cm._config.displayDateTimeFormat",className:["com__gridlist--separator"],perPage:App._config.itemsPerPage.gridlist,ajax:{method:"GET",params:{offset:"%offset%",limit:"%limit%"}}}}}},function(){Com.AbstractController.apply(this,arguments)}),cm.getConstructor("App.Gridlist",function(e,t,n,a){n.validateParamsHandler=function(){this.params.controller.constructorParams.data=this.params.data,this.params.controller.constructorParams.ajax=cm.merge(this.params.controller.constructorParams.ajax,this.params.ajax),this.params.controller.constructorParams.className.push("com__gridlist--"+this.params.name),a.prototype.validateParamsHandler.apply(this,arguments)},n.renderView=function(){this.nodes.container=cm.node("div",{classes:["app__list","app__list--gridlist","app__list--"+this.params.name]})},n.renderViewModel=function(){let t=this;a.prototype.renderViewModel.apply(t,arguments),cm.getConstructor(t.params.controller.constructor,e=>
1{t.components.controller=new e(t.configParams(t.params.controller.constructorParams))})},n.configParams=function(e){return cm.merge(e,{container:this.nodes.container,messages:this.msgObject("*"),cols:this.configColumns(),callbacks:this.configCallbacks(),events:this.configEvents()})},n.configColumns=function(){return[{title:this.msg("fields.id"),type:"number",key:"id",width:"56"},{title:this.msg("fields.name"),type:"url",key:"_name",urlKey:"_url",width:"auto"},{type:"actions",width:"44",classes:["cell--actions"],actions:this.configActions()}]},n.configActions=function(){return this.params.actions||[]},n.configCallbacks=function(){let n=this;return{filter:(e,t)=>n.filterData(t)}},n.configEvents=function(){let n=this;return{onLoadSuccess:(e,t)=>n.triggerEvent("afterLoadSuccess",t.data),onLoadError:(e,t)=>n.triggerEvent("afterLoadError",t.data),onLoadEnd:(e,t)=>n.triggerEvent("afterLoadComplete",t.data),onDataFilterEnd:(e,t)=>n.triggerEvent("afterDataFiltered",t),onEmpty:(e,t)=>n.triggerEvent("afterDataEmpty",t)}},n.filterData=function(e){let t=this;return cm.forEach(e,function(e){e._name=t.getItemLabelName(e),cm.isEmpty(t.params.routeName)||(e._url=Router.getURL(t.params.routeName,null,{id:e.id}))}),e},n.getItemLabelName=function(e){return cm.isEmpty(e.name)?e.id:e.name},n.hasAction=function(t){return this.params.actions.find(e=>e.name===t)},n.getController=function(){return this.components.controller}}),cm.define("App.Menu",{extend:"Com.AbstractController",events:["onItemUpdate"],params:{controllerEvents:!0,renderStructure:!0,embedStructureOnRender:!0,embedStructure:"append",name:"menu",data:[],actions:{},renderContainer:!0,renderScroll:!1,preferences:{constructor:"App.UserPreferencesContainer",constructorParams:{}}}},function(){Com.AbstractController.apply(this,arguments)}),cm.getConstructor("App.Menu",function(a,e,t,n){t.onConstructStart=function(){this.user=Application.userGetProfile(),this.hooksHandlers={},this.items=[]},t.onDestructStart=function(){cm.forEach(this.hooksHandlers,(e,t)=>{cm.forEach(e,e=>{cm.hook.remove(t,e)})}),this.components.preferences&&this.components.preferences.destruct()},t.renderView=function(){var e=this;e.nodes.list=cm.node("ul"),e.params.renderContainer?(e.nodes.container=e.nodes.inner=cm.node("div",{classes:"inner"}),cm.appendChild(e.nodes.list,e.nodes.container)):e.nodes.container=e.nodes.inner=e.nodes.list,e.params.renderScroll?(e.nodes.holder=cm.node("div",{classes:"menu__scroll"},e.nodes.list),cm.appendChild(e.nodes.holder,e.nodes.inner)):e.nodes.holder=e.nodes.inner},t.renderViewModel=function(){n.prototype.renderViewModel.apply(this,arguments),this.renderMenu()},t.renderMenu=function(){this.menu={nodes:this.nodes,children:cm.clone(this.params.data),items:[]},this.renderChildren(this.menu)},t.renderChildren=function(t){let n=this;cm.forEach(t.children,e=>{n.checkItemAccess(e)&&n.renderItem(e,t)})},t.renderItem=function(e,t){e=cm.merge({name:null,type:"link",level:1,active:!1,label:null,overflowLabel:!1,showLabel:!0,icon:null,iconActive:null,iconClasses:["medium"],linkType:"relative",linkClasses:["has-hover"],hasIconExpand:!1,route:null,action:null,actionAccess:!0,target:null,rel:null,notifications:{},notificationsPlacement:"link",access:"all",visibility:"all",hooks:{},nodes:{},classes:[],children:[],items:[]},e),Application.User.checkRoleAccess(e.actionAccess)||(e.route=null,e.action=null),e.parent=t,e.parent?.level&&(e.level=e.parent.level+1),e.tagName=e.route||e.action?"a":"span",cm.isEmpty(e.name)||e.classes.push("item--"+e.name),cm.isEmpty(e.type)||"link"===e.type||e.classes.push("type--"+e.type),cm.isEmpty(e.level)||e.classes.push("level--"+e.level),cm.isEmpty(e.visibility)||"all"===e.visibility||e.classes.push("visibility--"+e.visibility),e.active&&e.classes.push("active"),e.nodes.container=cm.node("li",{classes:e.classes}),"separator"===e.type?this.renderItemSeparator(e):this.renderItemLink(e),e.hooks.notifications&&this.renderItemNotificationsHook(e),e.hooks.update&&this.renderItemUpdateHook(e),e.children&&this.renderItemChildren(e),cm.appendChild(e.nodes.container,e.parent.nodes.list),e.parent.items.push(e),this.items.push(e)},t.renderItemSeparator=function(e){e.nodes.separator=cm.node("hr"),cm.insertFirst(e.nodes.separator,e.nodes.container)},t.renderItemLink=function(t){let n=this;
1cm.remove(t.nodes.link),cm.remove(t.nodes.notification),t.nodes.notifications=null,"user-card"===t.type?n.renderItemUserCard(t):n.renderItemLinkView(t),t.icon&&n.renderItemIcon(t),cm.isEmpty(t.notifications)||n.renderItemNotifications(t),t.route||t.action?n.renderItemAction(t):(t.nodes.link.setAttribute("role","strong"),t.nodes.link.setAttribute("tabindex","0")),cm.click.add(t.nodes.link,e=>n.itemClickAction(t,e)),cm.insertFirst(t.nodes.link,t.nodes.container)},t.renderItemIcon=function(e){var t;e.iconClasses=cm.merge(["menu__icon"],e.iconClasses),e.hasIconExpand&&e.iconClasses.push("on-collapse"),"user-avatar"===e.icon?e.nodes.icon=Application.User.embedAvatar(this.user,{tagName:"span",modifiers:["user-menu"],classes:e.iconClasses,size:"small",renderHiring:!1}):(t=[...e.iconClasses],e.iconActive&&t.push("menu__icon--normal"),e.nodes.icon=Application.Images.embedIcon({classes:t,tagName:"span",icon:e.icon,ariaHidden:!0}),e.iconActive&&(t=[...e.iconClasses,"menu__icon--active"],e.nodes.iconActive=Application.Images.embedIcon({classes:t,tagName:"span",icon:e.iconActive,ariaHidden:!0}))),e.hasIconExpand&&(e.nodes.iconExpand=Application.Images.embedIcon({tagName:"span",classes:["menu__icon","large","inset-field-half","on-expand"],icon:"close",ariaHidden:!0}),cm.insertFirst(e.nodes.iconExpand,e.nodes.link)),cm.insertFirst(e.nodes.iconActive,e.nodes.link),cm.insertFirst(e.nodes.icon,e.nodes.link),cm.addClass(e.nodes.link,"has-icon")},t.renderItemNotifications=function(e){e.nodes.notifications||(e.nodes.notifications=cm.node("div",{classes:["menu__mark","app__mark","is-hidden"]}
1),e.icon&&"icon"===e.notificationsPlacement?(cm.addClass(e.nodes.notifications,"menu__mark--icon"),cm.appendChild(e.nodes.notifications,e.nodes.icon)):cm.appendChild(e.nodes.notifications,e.nodes.link)),e.nodes.notifications.title=e.notifications.message,cm.toggleClass(e.nodes.notifications,"is-hidden",!e.notifications.toggle),e.nodes.notifications.setAttribute("aria-hidden",!e.notifications.toggle)},t.renderItemAction=function(e){e.route&&(cm.addClass(e.nodes.link,e.linkClasses),"external"===e.linkType?e.routeURL=e.route:e.routeURL=cm.isArray(e.route)?Router.getURL.apply(Router,e.route):Router.getURL(e.route),e.nodes.link.setAttribute("href",e.routeURL),e.target&&e.nodes.link.setAttribute("target",e.target),e.rel)&&e.nodes.link.setAttribute("rel",e.rel),e.action&&(cm.addClass(e.nodes.link,e.linkClasses),e.nodes.link.setAttribute("role","button"),e.nodes.link.setAttribute("tabindex","0"),e.nodes.link.setAttribute("data-no-route","true"))},t.renderItemChildren=function(e){e.nodes.dropdown=cm.node("nav",{classes:"menu__dropdown"},e.nodes.holder=e.nodes.inner=cm.node("div",{classes:"inner"},e.nodes.list=cm.node("ul"))),this.renderChildren(e),0<e.children.length&&(cm.addClass(e.nodes.container,"has-children"),cm.appendChild(e.nodes.dropdown,e.nodes.container))},t.checkItemAccess=function(e){return Application.User.checkRoleAccess(e.access)},t.renderItemLinkView=function(e){let t;t=cm.isNode(e.label)?e.label:this.msg(e.label,{"{year}":(new Date).getFullYear(),"{username}":Application.userGetProfileName()});var n=cm.isNode(t)?"":t;e.nodes.link=cm.node(e.tagName,{title:n},e.nodes.label=cm.node("span",t)),"link"===e.type&&(cm.addClass(e.nodes.link,"menu__link"),cm.addClass(e.nodes.label,"menu__label")),e.overflowLabel&&(e.nodes.link.title=t,cm.addClass(e.nodes.label,"is-overflow")),e.showLabel||(e.nodes.link.title=t,cm.addClass(e.nodes.label,"is-hidden"))},t.renderItemUserCard=function(e){e.nodes.link=Application.User.embedCard(this.user,{tagName:e.tagName,classes:["n
1o-padding"],modifiers:["user-menu"],linkClasses:["has-link-hover"],user:{classes:["is-nowrap"]},description:{render:!0,classes:["card__normal","is-nowrap","h7"],content:this.user.email}})},t.itemClickAction=function(e,t){e.action&&(cm.preventDefault(t),e.actionHanler=this.params.actions[e.action],cm.isFunction(e.actionHanler))&&e.actionHanler(t),e.nodes.link.blur()},t.renderItemUpdateHook=function(e){let t=this,n=(e.updateHandler=()=>{t.renderItemLink(e),t.triggerEvent("onItemUpdate",e)},cm.hook.add(e.hooks.update,e.updateHandler),t.hooksHandlers[e.hooks.update]);(n=n||(t.hooksHandlers[e.hooks.update]=[])).push(e.updateHandler)},t.renderItemNotificationsHook=function(t){let n=this,e=(t.notificationsHandler=e=>{t.notifications=e,cm.isEmpty(t.notifications)||n.renderItemNotifications(t)},cm.hook.add(t.hooks.notifications,t.notificationsHandler),n.hooksHandlers[t.hooks.notifications]);(e=e||(n.hooksHandlers[t.hooks.notifications]=[])).push(t.notificationsHandler)},t.set=function(t){return cm.forEach(this.items,e=>{Application.isRoutesURLMatch(e.routeURL,t.route)?cm.addClass(e.nodes.container,"active"):cm.removeClass(e.nodes.container,"active")}),this},t.getItem=function(t){return this.items.find(e=>e.name===t)},t.getContainer=function(){return this.nodes.container},t.getHolder=function(){return this.nodes.holder},t.insertMenu=function(e,t){var n;e instanceof a&&(e=e.getContainer(),cm[t](e,this.getHolder()),n=cm.node("hr",{classes:"menu__separator"}),"insertFirst"===t?cm.insertAfter(n,e):cm.insertBefore(n,e))}}),cm.getConstructor("App.Application",function(e,t,n,a){n.getMenuConfig=function(){var e={header:[{name:"book",route:"product.book",label:"product.book",icon:"the-book-border",iconActive:"the-book",iconClasses:["medium"],access:"all"},{name:"barber-section",route:"barber-section",label:"barber-section",icon:"barber-border",iconActive:"barber",iconClasses:["medium"],access:"all"},{route:"pro-resources",label:"pro-resources",icon:"brushes-border",iconActive:"brushes",iconClasses:["medium"],access:"all"},{route:"blog",label:"blog",icon:"blog-border",iconActive:"blog",iconClasses:["medium"],access:"all"},{route:"gallery",label:"gallery",icon:"gallery-border",iconActive:"gallery",iconClasses:["medium"],access:"all"},{route:"directory",label:"directory",icon:"magnifier-border",iconActive:"magnifier",iconClasses:["medium"],access:"all"},{route:"shop",label:"shop",icon:"shop-border",iconActive:"shop",iconClasses:["medium"],access:"all"}],foryou:[{route:"user.dashboard",label:"user.dashboard",icon:"home-border",iconActive:"home",iconClasses:["medium"],access:"all"},{route:"user.gallery",label:"user.gallery",icon:"apertura-border",iconActive:"apertura",iconClasses:["medium"],access:"all"},{route:"user.settings",label:"user.settings",icon:"gear-border",iconActive:"gear",iconClasses:["medium"],access:"all",hooks:{notifications:"user.notifications.preferences"}}]};return e.user=[{type:"user-card",route:"user.home",label:"user.profile",access:"all",linkClasses:[],visibility:"mobile",hooks:{update:"user.profile.update"}},{route:"user.dashboard",label:"user.dashboard",icon:"home-border",iconClasses:["size-user-menu"],access:"beautician"},{route:"user.profile.me",label:"user.profile",icon:"member-border",iconClasses:["size-user-menu"],access:"all"},{route:"user.gallery",label:"user.gallery",icon:"apertura-border",iconClasses:["size-user-menu"],access:"all"},{route:"user.favorites",label:"user.favorites",icon:"star-border",iconClasses:["size-user-menu"],access:"all",hooks:{notifications:"user.notifications.tag"}},{route:"user.conversations",label:"user.conversations",icon:"message-border",iconClasses:["size-user-menu"],access:"all",hooks:{notifications:"user.notifications.conversation"}},{route:"user.settings",label:"user.settings",icon:"gear-border",iconClasses:["size-user-menu"],access:"all",hooks:{notifications:"user.notifications.preferences"}},{route:"verify-license",label:"verify_license",icon:"checked-border",iconClasses:["size-user-menu"],access:Application.checkSpecialUserAccess()},{action:"logout",label:"user.logout",icon:"logout-border",iconClasses:["size-user-menu"],access:"all"}],e.nav=[{name:"headerMenu",action:"headerMenu",label:"actions.headerMenu",showLabel:!1,linkClasses:["menu__link--icon","has-hover"],icon:"menu-left",iconClasses:["large","inset-medium"],hasIconExpand:!0,access:"all"}],e.info=[{action:"search",label:"actions.search",linkClasses:["menu__link--icon","has-hover"],icon:"search",iconClasses:["size-field-half"],access:"all",visibility:"desktop"},{label:"user.username",overflowLabel:!0,icon:"user-avatar",children:e.user,access:"authorized",visibility:"desktop",notificationsPlacement:"icon",hooks:{notifications:"user.notifications.all",update:"user.profile.update"}},{name:"login",type:"button",action:"login",route:"signin",label:"user.login",linkClasses:["button","button--large","button--round","button--border-header"],access:"unauthorized",visibility:"desktop"},{name:"register",type:"button",action:"register",route:"signup",label:"user.register",linkClasses:["button","button--large","button--round","button--header"],access:"unauthorized",visibility:"desktop"},{name:"userMenu",action:"userMenu",label:"actions.userMenu",showLabel:!1,linkClasses:["menu__link--icon","has-hover"],icon:"user-avatar",hasIconExpand:!0,access:"authorized",visibility:"mobile",notificationsPlacement:"icon",hooks:{notifications:"user.notifications.all",update:"user.profile.update"}},{action:"login",route:"signin",label:"user.login",showLabel:!1,linkClasses:["menu__link--icon","has-hover"],icon:"member-border",iconClasses:["medium"],access:"unauthorized",visibility:"mobile"}],e.footer=[{route:["page",null,{id:"about-us"}],label:"about",access:"all"},{route:["page",null,{id:"Universal-Terms-of-Service"}],label:"page.terms-and-conditions",access:"all"},{route:["page",null,{id:"privacy-policy"}],label:"page.privacy-policy",access:"all"},{route:["page",null,{id:"image-authenticity-policy"}],label:"page.image-authenticity-policy",access:"all"}],e.footerContacts=[{route:App.getPhoneHref(App._config.info.phone),label:App._config.info.phone,access:"all",linkType:"external",target:"_blank",rel:"noopener"},{route:App.getEmailHref(App._config.info.emailHello),label:App.getEmailNode(App._config.info.emailHello),access:"all",linkType:"external",target:"_blank",rel:"noopener"},{route:"external.licensify",label:"licensify",access:"all",target:"_blank",rel:"noopener"}],e}}),cm.define("App.OverlayConfetti",{extend:"Com.AbstractController",params:{controllerEvents:!0,renderStructure:!0,removeOnDestruct:!0,embedStructureOnRender:!0,embedStructure:"append",container:"document.body",maxParticleCount:150,particleSpeed:2,colors:["DodgerBlue","OliveDrab","Gold","Pink","SlateBlue","LightBlue","Violet","PaleGreen","SteelBlue","SandyBrown","Chocolate","Crimson"]}},function(){Com.AbstractController.apply(this,arguments)}),cm.getConstructor("App.OverlayConfetti",function(e,t,n,a){n.onConstructStart=function(){this.isPlay=!1,this.particles=[],this.animationTimer=null,this.waveAngle=0,this.context=null},n.onResize=function(){this.pageSize=cm.getPageSize(),this.nodes.container.width=this.pageSize.winWidth,this.nodes.container.height=this.pageSize.winHeight},n.renderView=function(){this.nodes.container=cm.node("canvas",{classes:"app__overlay-confetti","aria-hidden":"true"}),this.context=this.nodes.container.getContext("2d"),this.onResize()},n.drawParticles=function(){let n=this;cm.forEach(n.particles,e=>{n.context.beginPath(),n.context.lineWidth=e.diameter,n.context.strokeStyle=e.color;var t=e.x+e.tilt;n.context.moveTo(t+e.diameter/2,e.y),n.context.lineTo(t,e.y+e.tilt+e.diameter/2),n.context.stroke()})},n.updateParticles=function(){var t=this;
1t.waveAngle+=.01;for(let e=0;e<t.particles.length;e++){var n=t.particles[e];!t.isPlay&&n.y<-15?n.y=t.pageSize.winHeight+100:(n.tiltAngle+=n.tiltAngleIncrement,n.x+=Math.sin(t.waveAngle),n.y+=.5*(Math.cos(t.waveAngle)+n.diameter+t.params.particleSpeed),n.tilt=15*Math.sin(n.tiltAngle)),(n.x>t.pageSize.winWidth+20||n.x<-20||n.y>t.pageSize.winHeight)&&(t.isPlay&&t.particles.length<=t.params.maxParticleCount?t.resetParticle(n,t.pageSize.winWidth,t.pageSize.winHeight):(t.particles.splice(e,1),e--))}},n.resetParticle=function(e,t,n){return e.color=this.params.colors[Math.random()*this.params.colors.length|0],e.x=Math.random()*t,e.y=Math.random()*n-n,e.diameter=10*Math.random()+5,e.tilt=10*Math.random()-10,e.tiltAngleIncrement=.07*Math.random()+.05,e.tiltAngle=0,e},n.start=function(){let e=this;for(;e.particles.length<e.params.maxParticleCount;)e.particles.push(e.resetParticle({},e.pageSize.winWidth,e.pageSize.winHeight));let t=()=>{e.context.clearRect(0,0,e.pageSize.winWidth,e.pageSize.winHeight),0===e.particles.length?e.animationTimer=null:(e.updateParticles(),e.drawParticles(),e.animationTimer=requestAnimationFrame(t))};e.isPlay=!0,e.animationTimer||t()},n.stop=function(){this.isPlay=!1},n.toggle=function(){this.isPlay?this.stop():this.start()},n.reset=function(){this.stop(),this.particles=[]}}),cm.getConstructor("App.Application",function(e,t,n){n.Page={},n.Page.getConfig=function(){return[{pages:["faq-beauty-pro-verify","what-is-beautyalist"],constructorParams:{layout:"layout--wide",className:"page-style--wide"}},{pages:["about-us"],constructorParams:{layout:"layout--default-clean",className:"page-style--wide"}}]},n.Page.getParams=function(t){return Application.Page.getConfig().filter(e=>cm.inArray(e.pages,t)).reduce((e,t)=>cm.merge(e,t.constructorParams),{})}}),cm.define("App.Page",{extend:"Com.AbstractController",events:["onConstructComplete","onLoad"],params:{controllerEvents:!0,renderStructure:!0,embedStructure:"append",removeOnDestruct:!0,layout:"layout--default-clean",pageClassName:null,setDocumentTitle:!0,themeColor:"#ffffff",noIndex:!1}},function(){Com.AbstractController.apply(this,arguments)}),cm.getConstructor("App.Page",function(e,t,n,a){n.validateParamsHandler=function(){this.params.pageClassName||=this.params.name.replace(".","-"),a.prototype.validateParamsHandler.apply(this,arguments)},n.setEventsHandler=function(){this.setPageAttributes(),a.prototype.setEventsHandler.apply(this,arguments)},n.unsetEventsHandler=function(){this.unsetPageAttributes(),a.prototype.unsetEventsHandler.apply(this,arguments)},n.render=function(){if(!this.checkAccess())return Router.summon("error",null,{data:this.msgObject("403")});a.prototype.render.apply(this,arguments)},n.checkAccess=function(){return!0},n.renderViewModel=function(){a.prototype.renderViewModel.apply(this,arguments),this.params.setDocumentTitle&&this.setDocumentTitle(this.msg("page_title"))},n.setPageAttributes=function(){this.setPageLayout(),this.params.themeColor&&this.setThemeColor(this.params.themeColor),this.params.noIndex&&(this.nodes.metaNoIndex=cm.node("meta",{name:"robots",content:"noindex, nofollow"}),cm.appendChild(this.nodes.metaNoIndex,cm.getDocumentHead()))},n.setPageLayout=function(){cm.addClass(cm.getDocumentHtml(),this.params.layout),cm.addClass(cm.getDocumentHtml(),"page-layout--"+this.params.pageClassName)},n.unsetPageAttributes=function(){this.unsetPageLayout(),this.params.noIndex&&cm.remove(this.nodes.metaNoIndex)},n.unsetPageLayout=function(){cm.removeClass(cm.getDocumentHtml(),this.params.layout),cm.removeClass(cm.getDocumentHtml(),"page-layout--"+this.params.pageClassName)},n.setDocumentTitle=function(e){return Application.setDocumentTitle(e),this},n.setThemeColor=function(){return Template.setThemeColor.apply(Template,arguments),this},n.getContainer=function(){return this.nodes.container}}),App._path["components.ProductBook.img"]="./img/components/ProductBook",cm.define("App.ProductBookContainer",{extend:"Com.AbstractContainer",params:{controllerEvents:!0,data:{},productId:null,constructor:"App.ProductBook",constructorParams:{},placeholder:!0,placeholderConstructor:"Com.DialogContainer",placeholderParams:{titleAlign:"center",renderButtons:!1,justifyButtons:"center",constructorParams:{width:700,height:1e3,scroll:!1,theme:"theme-light theme-borderless theme--product-book"}}}},function(){Com.AbstractContainer.apply(this,arguments)}),cm.getConstructor("App.ProductBookContainer",function(e,t,n,a){n.constructControllerParams=function(e){var t=a.prototype.constructControllerParams.apply(this,arguments);return cm.merge(t,{data:this.params.data,productId:this.params.productId})}}),cm.define("App.ProductBookDisclaimerContainer",{extend:"Com.AbstractContainer",events:["onSuccess"],params:{controllerEvents:!0,openOnConstruct:!1,destructOnClose:!0,constructor:"App.ProductBookDisclaimer",constructorParams:{},placeholder:!0,placeholderConstructor:"Com.DialogContainer",placeholderParams:{renderTitle:!1,titleAlign:"center",renderButtons:!1,justifyButtons:"center",constructorParams:{width:App._config.dialog.widthSmall,theme:"theme-light theme-round",adaptiveBreakpoint:"mobileDown",adaptivePreset:"adaptive"}}}},function(){Com.AbstractContainer.apply(this,arguments)}),cm.getConstructor("App.ProductBookDisclaimerContainer",function(e,t,n,a){n.constructControllerEvents=function(){let n=this;return{onSuccess:(e,t)=>{n.close(),n.triggerEvent("onSuccess",t)}}}}),cm.define("App.ProductBookDisclaimer",{extend:"Com.AbstractController",events:["onSuccess"],params:{controllerEvents:!0,renderStructure:!0,embedStructureOnRender:!0,embedStructure:"append",form:{constructor:"Form.ProductBook",constructorParams:{buttonsAdaptive:!1,buttonsSpinnerClasses:["button--round","button--border","button--xlarge","button--desktop-xxlarge"]}}}},function(){Com.AbstractController.apply(this,arguments)}),cm.getConstructor("App.ProductBookDisclaimer",function(e,t,n,a){n.onDestructEnd=function(){cm.forEach(this.components,e=>e.destruct())},n.renderView=function(){this.nodes.container=cm.node("div",{classes:"app__product-book-disclaimer"},cm.node("div",{classes:"section__title",innerHTML:this.msg("notification")}))},n.renderViewModel=function(){let n=this;a.prototype.renderViewModel.apply(n,arguments),cm.getConstructor(n.params.form.constructor,e=>{n.components.form=new e(cm.merge(n.params.form.constructorParams,{container:n.nodes.container,events:{onSuccess:(e,t)=>n.triggerEvent("onSuccess",t)}}))})}}),cm.define("App.ProductBook",{extend:"Com.AbstractController",params:{name:"book",controllerEvents:!0,renderStructure:!0,embedStructureOnRender:!0,embedStructure:"append",constructCollector:!0,initialTab:"read",productId:null,contents:{constructor:"App.Request",constructorParams:{showLoader:!0,overlayParams:{theme:"logo"},autoSend:!0,responseKey:null,ajax:{url:App._api.book.list,type:"json",method:"GET"}}},tabset:{constructor:"App.Tabset",constructorParams:{name:"product-book",adaptive:!1,toggleOnHashChange:!1,showMenu:!1,animateHeight:!1}},read:{constructor:"App.ProductBookRead",constructorParams:{}},listen:{constructor:"App.ProductBookListen",constructorParams:{}}}},function(){Com.AbstractController.apply(this,arguments)}),cm.getConstructor("App.ProductBook",function(e,t,n,a){n.onConstructStart=function(){this.views={}},n.onDestructEnd=function(){cm.forEach(this.components,e=>e.destruct())},n.renderView=function(){this.nodes.container=cm.node("div",{classes:"app__product-book"})},n.renderViewModel=function(){let n=this;a.prototype.renderViewModel.apply(n,arguments),cm.getConstructor(n.params.contents.constructor,e=>
1{n.components.contents=new e(cm.merge(n.params.contents.constructorParams,{overlayParams:{container:n.nodes.container},events:{onSuccess:(e,t)=>{n.views.main=n.renderMainView(t.data,{container:n.nodes.container})},onError:(e,t)=>{n.views.error=n.renderErrorView(t.message,{container:n.nodes.container})}}}))})},n.renderErrorView=function(e,t){let n=this;n.removeError();e={message:e,nodes:{},params:cm.merge({container:cm.node("div")},t)};return e.message||=cm._strings.common.server_error,e.nodes.container=cm.node("div",{classes:"app__product-book__error"},cm.node("h2",{classes:"section__title",innerHTML:n.msg("errors.chapters")}),cm.node("div",{classes:"section__entry"},cm.node("div",{classes:["h6"]},e.message)),cm.node("div",{classes:"section__button"},Application.Buttons.embed({label:n.msg("actions.retry"),modifiers:["round","border","xlarge"],classes:["app__product-book__nav-item","is-compact","is-nowrap"],icons:{before:"sync",classes:["medium"]},handler:()=>n.components.contents.send()}))),cm.appendChild(e.nodes.container,e.params.container),e},n.removeError=function(){var e=this.views.error;e&&cm.remove(e.nodes.container)},n.renderMainView=function(e,t){let n=this,a=(n.removeError(),{data:e,nodes:{},tabs:[],params:cm.merge({container:cm.node("div")},t)});return a.tabs.push(cm.merge(n.params.read,{id:"read",title:n.msg("tabs.read"),constructorEventName:"onConstructEnd",constructorParams:{opener:n,data:cm.clone(a.data),productId:n.params.productId}})),a.tabs.push(cm.merge(n.params.listen,{id:"listen",title:n.msg("tabs.listen"),constructorEventName:"onConstructEnd",constructorParams:{opener:n,data:cm.clone(a.data),productId:n.params.productId}})),cm.getConstructor(n.params.tabset.constructor,e=>{n.components.tabset=new e(cm.merge(n.params.tabset.constructorParams,{container:a.params.container,active:n.params.initialTab,items:a.tabs,events:{onTabChangeStart:()=>n.afterTabChangeStart()}}))}),a},n.afterTabChangeStart=function(){MediaManager?.pause()},n.setPreferences=function(e){cm.setCSSVariable("--font-scale",e.fontSize/100,this.nodes.container)}}),cm.define("App.ProductBookListen",{extend:"Com.AbstractController",params:{name:"book",controllerEvents:!0,renderStructure:!0,embedStructureOnRender:!0,embedStructure:"append",constructCollector:!0,productId:null,coverArtId:{prod:"69e1d127944df18e179f3373",dev:"69e1cdf93ac2a7c4e8f3769f"},userParamName:"product-book-chapter-audio",audioPlayer:{constructor:"App.Audio",constructorParams:{playOnLoad:!0,actions:["load","play","pause","scrubber","seekbackward","seekforward","back","skip"]}},notifications:{constructor:"Com.Notifications",constructorParams:{modifiers:["product-book"]}}}},function(){Com.AbstractController.apply(this,arguments)}),cm.getConstructor("App.ProductBookListen",function(e,t,n,a){n.formatMinutes=App.Audio.prototype.formatMinutes,n.onConstructStart=function(){var e=this;e.views={},e.timeouts={},e.chapters=[],e.chapterIndices=[],e.savedChapter=null,e.firstChapter=0,e.lastChapter=0,e.currentChapter=0,e.progressTime=0,e.totalTime=0},n.onDestructEnd=function(){cm.forEach(this.timeouts,e=>clearTimeout(e)),cm.forEach(this.components,e=>e.destruct())},n.renderView=function(){var e=this;e.nodes.container=cm.node("div",{classes:["app__product-book-listen","app__product-book-font"]}),e.views.header=e.renderHeaderView(e.params.data,{container:e.nodes.container}),e.views.player=e.renderPlayerView({container:e.nodes.container}),e.views.contents=e.renderContentsView(e.params.data,{container:e.nodes.container}),e.views.license=e.renderLicenseView(e.params.data,{container:e.nodes.container})},n.renderViewModel=function(){a.prototype.renderViewModel.apply(this,arguments);var e=Application.User.getParams(this.params.userParamName);this.chapters[e]&&e!==this.firstChapter&&(this.savedChapter=e),this.setChapter(this.savedChapter||this.firstChapter)},n.renderWelcomeBack=function(e){let t=this,n=cm.arrayIndex(t.chapterIndices,e)+1;cm.getConstructor(t.params.notifications.constructor,e=>{t.components.welcomeBack=new e(cm.merge(t.params.notifications.constructorParams,{container:t.nodes.container,embedStructure:"first",items:[{type:"warning",label:t.msgParse("notifications.welcomeBack",{chapter:n}),modifiers:["centered"]}]}))})},n.renderHeaderView=function(e,t){e={data:e,nodes:{},params:cm.merge({container:cm.node("div")},t)};
1return e.nodes.container=cm.node("section",{classes:["tpl__block","tpl__block--product-book-header"]},cm.node("div",{classes:"tpl__block__image"},Application.Images.embed({image:App.getPath("components.ProductBook.img","cover-small.png"),alt:this.msg("header.bookAlt"),modifiers:["product-book-small"],classes:["is-cover"]})),cm.node("div",{classes:"tpl__block__content"},cm.node("hgroup",{classes:"tpl__block__title",innerHTML:this.msg("header.title")}),cm.node("div",{classes:"tpl__block__chips"},e.nodes.complete=cm.node("div",{classes:"chip"}),e.nodes.remaining=cm.node("div",{classes:"chip"})),cm.node("div",{classes:"tpl__block__bar"},e.nodes.bar=cm.node("div",{classes:"bar"}),cm.node("div",{classes:"times"},e.nodes.listened=cm.node("div",{classes:"time"}),e.nodes.total=cm.node("div",{classes:"time"}))))),cm.appendChild(e.nodes.container,e.params.container),e},n.setHeaderCounters=function(e,t){var n,a,s=this,o=s.views.header,e=s.chapters[e];o&&e&&(cm.isEmpty(t)&&(t={duration:e.data.audioTime,time:0}),e=s.progressTime+parseFloat(t.time),t=Math.round(100/s.totalTime*e),n=s.formatMinutes(s.totalTime-e),e=s.formatMinutes(e),a=s.formatMinutes(s.totalTime),o.nodes.complete.innerHTML=s.msgParse("header.complete",{complete:t}),o.nodes.remaining.innerHTML=s.msgParse("header.remaining",{remaining:n}),o.nodes.listened.innerHTML=s.msgParse("header.listened",{listened:e}),o.nodes.total.innerHTML=s.msgParse("header.total",{total:a}),cm.setCSSVariable("--complete",t+"%",o.nodes.bar))},n.renderPlayerView=function(e){let a=this,t={nodes:{},params:cm.merge({container:cm.node("div")},e)};return t.nodes.container=cm.node("section",{classes:["tpl__block","tpl__block--product-book","tpl__block--product-book-player","has-border"]},t.nodes.holder=cm.node("div",{classes:"tpl__block__entry"})),cm.getConstructor(a.params.audioPlayer.constructor,e=>{a.components.audioPlayer=new e(cm.merge(a.params.audioPlayer.constructorParams,{container:t.nodes.holder,events:{onBack:()=>a.setPreviousChapter(),onSkip:()=>a.setNextChapter(),onEnd:()=>a.setNextChapter(),onProgress:(e,t,n)=>a.updateChapterProgress(t,n)}}))}),cm.appendChild(t.nodes.container,t.params.container),t},n.setPlayer=function(e){var t=this.views.player,n=this.chapters[e];t&&n&&this.components.audioPlayer.set(n.source,{metadata:this.getMetadata(e),duration:n.data.audioTime,time:0})},n.getMetadata=function(e){e=this.chapters[e];if(e)return cm.merge(this.msgObject("player.metadata"),{title:e.title,artworkId:cm.clone(this.params.coverArtId)})},n.renderContentsView=function(e,t){let n=this,a={data:e,nodes:{},items:[],params:cm.merge({container:cm.node("div")},t)};return a.nodes.container=cm.node("section",{classes:["tpl__block","tpl__block--product-book","tpl__block--product-book-contents","has-border"],role:"navigation"},cm.node("div",{classes:"tpl__block__entry"},cm.node("div",{classes:"app__product-book-contents"},a.nodes.list=cm.node("ul")))),cm.forEach(e,e=>{cm.isEmpty(e.audio)||(n.chapters[e.order]=n.renderContentsItem(e,{container:a.nodes.list}))}),n.chapterIndices=Object.keys(n.chapters).map(Number).sort((e,t)=>e-t),n.totalTime=n.chapters.filter(Boolean).map(e=>e.data.audioTime).reduce((e,t)=>e+parseFloat(t),0),n.firstChapter=Math.min(...n.chapterIndices),n.lastChapter=Math.max(...n.chapterIndices),a.nodes.title=cm.node("hgroup",{classes:"tpl__block__title"},cm.node("h4",{classes:["label","h6-sm"]},n.msg("contents.title")),cm.node("div",{classes:"hint"},n.msgParse("contents.count",{count:n.chapterIndices.length,time:n.formatMinutes(n.totalTime)}))),cm.insertFirst(a.nodes.title,a.nodes.container),cm.appendChild(a.nodes.container,a.params.container),a},n.renderContentsItem=function(e,t){let n=this,a={data:e,nodes:{},params:cm.merge({container:cm.node("div")},t)};return a.title=[a.data.title,a.data.subTitle].filter(Boolean).join(" â "),a.time=n.formatMinutes(a.data.audioTime),a.source=App.getStaticUrl(App.getStaticPath(a.data.audio?.file)),a.nodes.container=cm.node("li",a.nodes.item=cm.node("div",{classes:"app__product-book-contents__item",role:"button",tabindex:0},a.nodes.title=cm.node("div",{classes:["app__product-book-contents__title","p","p-sm-small"]},cm.node("div",{classes:"marker","aria-hidden":!0,innerHTML:n.msg("contents.marker")}),cm.node("div",{classes:"label"},a.title),a.nodes.hint=cm.node("div",{classes:["hint","hint--visible"]})))),cm.click.add(a.nodes.item,()=>n.setChapter(a.data.order)),cm.appendChild(a.nodes.container,a.params.container),a},n.highlightContents=function(n){let a=this;cm.forEach(a.chapters,(e,t)=>{e&&(cm.toggleClass(e.nodes.item,"visited",t<n),cm.toggleClass(e.nodes.item,"current",t===n),t===n?e.nodes.item.setAttribute("aria-current","page"):e.nodes.item.removeAttribute("aria-current"),t=t<n?"visited":"time",e.nodes.hint.innerHTML=a.msgParse("contents."+t,{time:e.time}))})},n.setChapter=function(e){let t=this;t.chapters[e]&&(t.currentChapter=e,t.setChapterProgress(e),t.setPlayer(e),t.highlightContents(e),t.savedChapter&&(t.savedChapter
1=null,t.renderWelcomeBack(e)),t.timeouts.updateParams&&clearTimeout(t.timeouts.updateParams),t.timeouts.updateParams=setTimeout(()=>{UserHelper.updateUserParams({[t.params.userParamName]:e})},cm._config.lazyDelay))},n.setPreviousChapter=function(){var e=this.chapterIndices.indexOf(this.currentChapter),e=this.chapterIndices[e-1];this.chapters[e]?this.setChapter(e):this.setChapter(this.firstChapter)},n.setNextChapter=function(){var e=this.chapterIndices.indexOf(this.currentChapter),e=this.chapterIndices[e+1];this.chapters[e]&&this.setChapter(e)},n.setChapterProgress=function(n){this.progressTime=this.chapters.filter((e,t)=>t<n).map(e=>e.data.audioTime).reduce((e,t)=>e+parseFloat(t),0),this.setHeaderCounters(n)},n.updateChapterProgress=function(e,t){this.setHeaderCounters(this.currentChapter,{duration:e,time:t})},n.renderLicenseView=function(e,t){e={data:e,nodes:{},params:cm.merge({container:cm.node("div")},t)},t=Application.User.isProductPurchased(void 0,this.params.productId),t={username:Application.userGetProfileName(),order:t.id};return e.nodes.container=cm.node("section",{classes:["tpl__block","tpl__block--product-book-license"]},cm.node("div",{classes:"tpl__block__entry",innerHTML:this.msgParse("license.description",t)})),cm.appendChild(e.nodes.container,e.params.container),e}}),cm.define("App.ProductBookPaymentContainer",{extend:"Com.AbstractContainer",events:["onStart"],params:{controllerEvents:!0,openOnConstruct:!0,destructOnClose:!0,constructor:"App.ProductBookPayment",constructorParams:{},placeholder:!0,placeholderConstructor:"Com.DialogContainer",placeholderParams:{renderTitle:!1,titleAlign:"center",renderButtons:!1,justifyButtons:"center",constructorParams:{width:App._config.dialog.widthSmall,theme:"theme-light theme-round",adaptiveBreakpoint:"mobileDown",adaptivePreset:"adaptive"}}}},function(){Com.AbstractContainer.apply(this,arguments)}),cm.getConstructor("App.ProductBookPaymentContainer",function(e,t,n,a){n.constructControllerEvents=function(){let e=this;return{onStart:()=>{e.close(),e.triggerEvent("onStart")}}}}),cm.define("App.ProductBookPayment",{extend:"Com.AbstractController",events:["onStart"],params:{controllerEvents:!0,renderStructure:!0,embedStructureOnRender:!0,embedStructure:"append",notifications:{constructor:"Com.Notifications",constructorParams:{closable:!1}},confetti:{constructor:"App.OverlayConfetti",constructorParams:{}}}},function(){Com.AbstractController.apply(this,arguments)}),cm.getConstructor("App.ProductBookPayment",function(e,t,n,a){n.onConstructEnd=function(){this.toggleConfetti(!0)},n.onDestructEnd=function(){this.toggleConfetti(!1),cm.forEach(this.components,e=>e.destruct())},n.renderView=function(){let e=this;e.nodes.container=cm.node("div",{classes:"app__product-book-purchased"},cm.node("div",{classes:"section__button"},Application.Buttons.embed({modifiers:["round","border","xlarge","desktop-xxlarge"],label:e.msg("button"),handler:()=>e.triggerEvent("onStart")})))},n.renderViewModel=function(){let t=this;a.prototype.renderViewModel.apply(t,arguments),cm.getConstructor(t.params.notifications.constructor,e=>{t.components.notifications=new e(cm.merge(t.params.notifications.constructorParams,{container:t.nodes.container,embedStructure:"first",items:[{type:"success",label:t.msg("notification"),modifiers:["centered"]}]}))})},n.toggleConfetti=function(e){let t=this;t.confettiDelay&&clearTimeout(t.confettiDelay),(e||t.components.confetti)&&(t.components.confetti||cm.getConstructor(t.params.confetti.constructor,e=>{t.components.confetti=new e(cm.merge(t.params.confetti.constructorParams,{container:t.params.opener?.getPlaceholder().getController().getNodes("bg")}))}),e?t.confettiDelay=setTimeout(()=>{t.components.confetti.start(),t.confettiDelay=setTimeout(()=>t.components.confetti.stop(),5e3)},700):t.components.confetti.stop())}}),cm.define("App.ProductBookRead",{extend:"Com.AbstractController",params:{name:"book",controllerEvents:!0,renderStructure:!0,embedStructureOnRender:!0,embedStructure:"append",constructCollector:!0,opener:null,data:[],userParamName:"product-book-chapter",read:{constructor:"App.Request",constructorParams:{showLoader:!0,autoSend:!1,responseKey:null,ajax:{url:App._api.book.read,type:"json",method:"GET"}}},preferences:{constructor:"Form.ProductBookPreferences",constructorParams:{}},notifications:{constructor:"Com.Notifications",constructorParams:{modifiers:["product-book"]}}}},function(){Com.AbstractController.apply(this,arguments)}),cm.getConstructor("App.ProductBookRead",function(e,t,n,a){n.onConstructStart=function(){this.views={},this.timeouts={},this.chapters={}
1,this.chapterIndices=[],this.savedChapter=null,this.firstChapter=0,this.firstContentChapter=0,this.lastChapter=0,this.currentChapter=0},n.onValidateParams=function(){var e=this.storageRead("preferences");this.setPreferences(e)},n.onRedraw=function(){var e=this.nodes.holder.offsetHeight;cm.setCSSVariable("--product-book--read--holder-height",e+"px",this.nodes.container)},n.onDestructEnd=function(){cm.forEach(this.timeouts,e=>clearTimeout(e)),cm.forEach(this.components,e=>e.destruct())},n.renderView=function(){var e=this;e.nodes.container=cm.node("div",{classes:"app__product-book-read"},e.nodes.holder=cm.node("div",{classes:["app__product-book-read__inner","app__product-book-font"]})),e.views.sidebar=e.renderSidebarView(e.params.data,{container:e.nodes.holder}),e.views.navigation=e.renderNavigationView({container:e.nodes.container}),e.views.book=e.renderBookView({container:e.nodes.holder})},n.renderViewModel=function(){a.prototype.renderViewModel.apply(this,arguments);var e=Application.User.getParams(this.params.userParamName);this.chapters[e]&&e!==this.firstChapter&&(this.savedChapter=e),this.requestChapter(this.savedChapter||this.firstChapter)},n.renderSidebarView=function(e,t){e={data:e,nodes:{},items:[],params:cm.merge({container:cm.node("div")},t)};return e.nodes.container=cm.node("aside",{id:"product-book-sidebar",classes:"app__product-book__sidebar",role:"navigation","aria-hidden":!0}),this.views.header=this.renderHeaderView(e.data,{container:e.nodes.container}),this.views.contents=this.renderContentsView(e.data,{container:e.nodes.container}),this.views.license=this.renderLicenseView(e.data,{container:e.nodes.container}),cm.appendChild(e.nodes.container,e.params.container),e},n.toggleSidebar=function(e){var t=this.views.sidebar;t&&(t.isExpanded=cm.isBoolean(e)?e:!t.isExpanded,t.nodes.container.setAttribute("aria-hidden",!t.isExpanded),cm.toggleClass(t.nodes.container,"is-expanded",t.isExpanded),(e=this.views.book)&&(e.nodes.container.setAttribute("aria-hidden",t.isExpanded),cm.toggleClass(e.nodes.container,"is-collapsed",t.isExpanded)),e=this.views.navigation)&&(e.nodes.menu.toggleExpanded(t.isExpanded),cm.toggleClass(e.nodes.menu.getContainer(),"is-expanded",t.isExpanded))},n.renderHeaderView=function(e,t){e={data:e,nodes:{},params:cm.merge({container:cm.node("div")},t)};return e.nodes.container=cm.node("section",{classes:["tpl__block","tpl__block--product-book-header"]},cm.node("div",{classes:"tpl__block__image"},Application.Images.embed({image:App.getPath("components.ProductBook.img","cover-small.png"),alt:this.msg("header.bookAlt"),modifiers:["product-book-small"],classes:["is-cover"]})),cm.node("div",{classes:["tpl__block__content","is-space-between"]},cm.node("hgroup",{classes:"tpl__block__title",innerHTML:this.msg("header.title")}),cm.node("div",{classes:"tpl__block__bar"},cm.node("h3",{classes:["label","p","is-small","p-sm-xsmall"]},this.msg("header.bar")),e.nodes.bar=cm.node("div",{classes:"bar"}),cm.node("div",{classes:"times"},e.nodes.complete=cm.node("div",{classes:"time"}),e.nodes.progress=cm.node("div",{classes:"time"}))))),cm.appendChild(e.nodes.container,e.params.container),e},n.setHeaderCounters=function(e){var t,n,a=this.views.header;a&&(t=this.chapterIndices.length,e=cm.arrayIndex(this.chapterIndices,e)+1,n=Math.round(100/t*e),a.nodes.complete.innerHTML=this.msgParse("header.complete",{complete:n}),a.nodes.progress.innerHTML=this.msgParse("header.progress",{chapter:e,total:t}),cm.setCSSVariable("--complete",n+"%",a.nodes.bar))},n.renderContentsView=function(e,t){let n=this,a={data:e,nodes:{},items:[],params:cm.merge({container:cm.node("div")},t)};return a.nodes.container=cm.node("section",{classes:["tpl__block","tpl__block--product-book","tpl__block--product-book-contents","has-border"],role:"navigation"},cm.node("div",{classes:"tpl__block__entry"},cm.node("div",{classes:"app__product-book-contents"},a.nodes.list=cm.node("ul")))),e.unshift(n.msgObject("intro")),cm.forEach(e,e=>{n.chapters[e.order]={data:e},"yes"===e.includeInContents&&(a.items[e.order]=n.renderContentsItem(e,{container:a.nodes.list}))}),n.chapterIndices=Object.keys(n.chapters).map(Number).sort((e,t)=>
1e-t),n.firstChapter=Math.min(...n.chapterIndices),n.firstContentChapter=n.chapterIndices[1],n.lastChapter=Math.max(...n.chapterIndices),a.nodes.title=cm.node("hgroup",{classes:"tpl__block__title"},cm.node("h4",{classes:["label","h6-sm"]},n.msg("contents.title")),cm.node("div",{classes:"hint"},n.msgParse("contents.count",{count:n.chapterIndices.length}))),cm.insertFirst(a.nodes.title,a.nodes.container),cm.appendChild(a.nodes.container,a.params.container),a},n.renderContentsItem=function(e,t){let n=this,a={data:e,nodes:{},params:cm.merge({container:cm.node("div")},t)};return a.title=[a.data.title,a.data.subTitle].filter(Boolean).join(" â "),a.nodes.container=cm.node("li",a.nodes.item=cm.node("div",{classes:"app__product-book-contents__item",role:"button",tabindex:0},a.nodes.title=cm.node("div",{classes:["app__product-book-contents__title","p","p-sm-small"]},cm.node("div",{classes:"marker","aria-hidden":!0,innerHTML:n.msg("contents.marker")}),cm.node("div",{classes:"label"},a.title),a.nodes.hint=cm.node("div",{classes:"hint","aria-hidden":!0})))),cm.click.add(a.nodes.item,()=>n.requestChapter(a.data.order)),cm.appendChild(a.nodes.container,a.params.container),a},n.highlightContents=function(n){let a=this;var e=a.views.contents;e&&cm.forEach(e.items,(e,t)=>{e&&(cm.toggleClass(e.nodes.item,"visited",t<n),cm.toggleClass(e.nodes.item,"current",t===n),t===n?e.nodes.item.setAttribute("aria-current","page"):e.nodes.item.removeAttribute("aria-current"),t=t<n?"visited":t===n?"current":"next",e.nodes.hint.innerHTML=a.msg("contents."+t))})},n.renderLicenseView=function(e,t){e={data:e,nodes:{},params:cm.merge({container:cm.node("div")},t)},t=Application.User.isProductPurchased(void 0,this.params.productId),t={username:Application.userGetProfileName(),order:t.id};return e.nodes.container=cm.node("section",{classes:["tpl__block","tpl__block--product-book-license"]},cm.node("div",{classes:"tpl__block__entry",innerHTML:this.msgParse("license.description",t)})),cm.appendChild(e.nodes.container,e.params.container),e},n.renderNavigationView=function(e){let t=this,n={nodes:{},actions:{},params:cm.merge({container:cm.node("div")},e)};return n.nodes.container=cm.node("nav",{classes:"app__product-book__nav"},n.nodes.holder=cm.node("div",{classes:"inner"},n.nodes.tools=cm.node("div",{classes:"app__product-book__nav-tools"}))),n.actions.read=Application.Buttons.render({container:n.nodes.holder,label:t.msg("actions.read"),modifiers:["round","border","xlarge"],classes:["app__product-book__nav-item","is-compact","is-nowrap"],icons:{after:"chevronRight"},hidden:!0,handler:()=>t.requestChapter(0,"next")}),n.actions.retry=Application.Buttons.render({container:n.nodes.holder,label:t.msg("actions.retry"),modifiers:["round","border","xlarge"],classes:["app__product-book__nav-item","is-compact","is-nowrap"],icons:{before:"sync",classes:["medium"]},hidden:!0,handler:()=>t.requestChapter()}),n.actions.prev=Application.Buttons.render({container:n.nodes.holder,label:t.msg("actions.prev"),modifiers:["round","border","xlarge"],classes:["app__product-book__nav-item","is-compact","is-nowrap"],icons:{before:"chevronLeft"},hidden:!0}),n.actions.next=Application.Buttons.render({container:n.nodes.holder,label:t.msg("actions.next"),modifiers:["round","border","xlarge"],classes:["app__product-book__nav-item","is-compact","is-nowrap"],icons:{after:"chevronRight"},hidden:!0}),n.nodes.menu=Application.Buttons.render({container:n.nodes.holder,title:t.msg("actions.toggle"),modifiers:["round","border","xlarge"],classes:["app__product-book__nav-toggle"],icons:{classes:["medium"],before:"menu-center"},attr:{"aria-haspopup":"true","aria-controls":"product-book-sidebar"},ariaExpanded:!1,handler:()=>t.toggleSidebar()}),cm.getConstructor(t.params.preferences.constructor,e=>{t.components.preferences=new e(cm.merge(t.params.preferences.constructorParams,{data:t.preferences,container:n.nodes.tools,preferencesTooltip:{constructorParams:{positionTarget:n.nodes.holder}},events:{onChange:e=>t.setPreferences(e.get("sendPath"))}}))}),cm.appendChild(n.nodes.container,n.params.container),n},n.setNavigation=function(e){let t=this;var n=t.views.navigation;n&&(cm.forEach(n.actions,e=>e.toggleVisibility(!1)),"error"===e?n.actions.retry.toggleVisibility(!0):0===e?n.actions.read.toggleVisibility(!0):(e!==t.firstChapter&&n.actions.prev.setHandler(()=>t.requestChapter(e,"previous")).toggleVisibility(!0),e!==t.lastChapter&&n.actions.next.setHandler(()=>t.requestChapter(e,"next")).toggleVisibility(!0)))},n.renderBookView=function(e){let n=this,a={nodes:{},items:[],params:cm.merge({container:cm.node("div")},e)};return a.nodes.container=cm.node("div",{classes:"app__product-book-read__view"}),cm.getConstructor(n.params.read.constructor,e=>{n.components.read=new e(cm.merge(n.params.read.constructorParams,{overlayParams:{container:a.params.container},events:{onSuccess:(e,t)=>n.renderChapter(t.data,a),onError:(e,t)=>
1n.renderChapterError(t.message,a)}}))}),cm.appendChild(a.nodes.container,a.params.container),a},n.renderChapter=function(t,n){let a=this;if(n=n||a.views.book){let e=a.getChapter(t.order);var s;e&&e.isCached||(s=0===t.order?a.renderIntroView:a.renderChapterView,t=cm.merge(a.chapters[t.order]?.data,t),e=a.chapters[t.order]=s.call(a,t)),cm.clearNode(n.nodes.container),cm.appendChild(e.nodes.container,n.nodes.container),a.savedChapter&&(a.savedChapter=null,a.renderWelcomeBack(t.order,n)),a.setChapter(t.order),a.timeouts.updateParams&&clearTimeout(a.timeouts.updateParams),a.timeouts.updateParams=setTimeout(()=>{UserHelper.updateUserParams({[a.params.userParamName]:0===t.order?null:t.order})},cm._config.lazyDelay),a.scrollToTop(),a.toggleSidebar(!1)}},n.renderChapterError=function(e,t){(t=t||this.views.book)&&(e||=cm._strings.common.server_error,t.nodes.chapter=cm.node("article",{classes:"app__product-book-read__chapter"},cm.node("h2",{classes:"app__product-book-read__title",innerHTML:this.msg("errors.chapter")}),cm.node("div",{classes:"app__product-book-read__entry"},cm.node("div",{classes:["h6"]},e))),cm.clearNode(t.nodes.container),cm.appendChild(t.nodes.chapter,t.nodes.container),this.setChapter("error"),this.scrollToTop(),this.toggleSidebar(!1))},n.renderIntroView=function(e,t){e={data:e,nodes:{},isCached:!0,params:cm.merge({container:cm.node("div")},t)};return e.nodes.container=cm.node("article",{classes:["app__product-book-read__chapter","app__product-book-read__chapter--intro"]},cm.node("div",{classes:"app__product-book-read__cover"},Application.Images.embed({image:App.getPath("pages.book.img","cover.png"),alt:this.msg("title"),modifiers:["product-book-cover"],classes:["is-contain"]}))),cm.appendChild(e.nodes.chapter,e.nodes.container),e},n.renderChapterView=function(e,t){var e={data:e,nodes:{},isCached:!0,params:cm.merge({container:cm.node("div")},t)},t=(e.data.title||="",e.data.content||="",cm.isEmpty(e.data.subTitle)?e.data.title:e.data.subTitle),n=cm.isEmpty(e.data.subTitle)?null:e.data.title;return e.nodes.container=cm.node("article",{classes:"app__product-book-read__chapter"},e.nodes.title=cm.node("hgroup",{classes:"app__product-book-read__chapter-title"},cm.isEmpty(n)?null:cm.node("p",{classes:["h4","h4-sm"]},n),cm.node("h2",t)),e.nodes.entry=cm.node("div",{classes:"app__product-book-read__entry",innerHTML:e.data.content})),this.constructCollector(e.nodes.container),cm.appendChild(e.nodes.container,e.params.container),e},n.setChapter=function(e){this.currentChapter=e,this.setNavigation(e),"error"!==e&&(this.setHeaderCounters(e),this.highlightContents(e))},n.getChapter=function(e,t){var n,a;return cm.isEmpty(t)?this.chapters[e]:-1===(n=this.chapterIndices.indexOf(e))?null:"previous"===t?e===this.firstChapter?null:(a=this.chapterIndices[n-1],this.chapters[a]):"next"!==t||e===this.lastChapter?null:(a=this.chapterIndices[n+1],this.chapters[a])},n.requestChapter=function(e,t){if(MediaManager?.pause(),!cm.isEmpty(e)){if(e===this.firstChapter&&cm.isEmpty(t)||e===this.firstContentChapter&&"previous"===t)return void this.renderChapter({order:this.firstChapter});var n=this.getChapter(e,t);if(n?.isCached)return void this.renderChapter({order:n.data.order});this.components.read.setAction({params:{currentChart:e,direction:t}})}this.components.read.send()},n.renderWelcomeBack=function(e,n){let a=this;if(n=n||a.views.book){let t=cm.arrayIndex(a.chapterIndices,e)+1;cm.getConstructor(a.params.notifications.constructor,e=>{a.components.welcomeBack=new e(cm.merge(a.params.notifications.constructorParams,{container:n.nodes.container,embedStructure:"first",items:[{type:"warning",label:a.msgParse("notifications.welcomeBack",{chapter:t}),modifiers:["centered"]}]}))})}},n.setPreferences=function(e){this.preferences=cm.merge({fontSize:100},e),this.storageWrite("preferences",this.preferences),this.params.opener&&this.params.opener.setPreferences(this.preferences)},n.scrollToTop=function(){var e=this.views.book;e&&cm.scrollTo(e.nodes.container,e.nodes.container,{top:0,behavior:"instant"})}}),cm.define("App.ProfileRequestContainer",{extend:"App.RequestContainer",params:{constructor:"App.ProfileRequest"}},function(e){App.RequestContainer.apply(this,arguments)}),cm.define("App.ProfileRequest",{extend:"App.Request",params:{showLoader:!1,autoSend:!1,responseKey:null,responseErrorsKey:"message",ajax:{url:App._api.me.profile,type:"json",method:"GET"}}},function(){App.Request.apply(this,arguments)}
1),App._path["components.PromoDialog.img"]="./img/components/PromoDialog",cm.define("App.PromoGuestDialogContainer",{extend:"Com.AbstractContainer",params:{controllerEvents:!0,destructOnClose:!1,constructor:"App.PromoGuestDialog",placeholder:!0,placeholderConstructor:"Com.DialogContainer",placeholderParams:{renderTitle:!1,renderButtons:!1,constructorParams:{width:"100%",height:"100%",theme:"theme-light theme-borderless theme-promo theme-promo-guest",documentScroll:!0,closeOnDocument:!1,closeOnBackground:!1,adaptivePreset:"adaptive",presets:{adaptive:{valign:"bottom"}}}}}},function(){Com.AbstractContainer.apply(this,arguments)}),cm.define("App.PromoGuestDialog",{extend:"Com.AbstractController",params:{controllerEvents:!0,renderStructure:!0,embedStructureOnRender:!0,embedStructure:"append"}},function(){Com.AbstractController.apply(this,arguments)}),cm.getConstructor("App.PromoGuestDialog",function(e,t,n,a){n.renderView=function(){let t=this;t.nodes.container=cm.node("div",{classes:["app__user-box","app__user-box--guest"]},cm.node("div",{classes:"box__content"},cm.node("div",{classes:"box__logo"},cm.node("div",{classes:["icon","is-contain","svg__logo-icon"],role:"img",title:App._env.title})),cm.node("h3",{classes:"box__title"},t.msg("title")),cm.node("div",{classes:"box__buttons"},Application.Buttons.embed({label:t.msg("actions.continue"),modifiers:["round-gradient"],callback:e=>t.goContinue(e)})),cm.node("div",{classes:"box__choose",role:"separator"},cm.node("div",{classes:"box__separator"}),cm.node("div",{classes:["label","h6"]},t.msg("actions.or")),cm.node("div",{classes:"box__separator"})),cm.node("div",{classes:["box__buttons","box__buttons--signup"]},Application.Buttons.embed({label:t.msg("actions.register"),modifiers:["border-gradient"],link:Router.getURL("signup"),noRoute:!0,callback:e=>t.goContinue(e,"register")}),cm.node("p",{classes:"is-medium"},t.msg("actions.loginLabel"),Application.Buttons.embed({label:t.msg("actions.login"),classes:["button-transparent","button-inline"],link:Router.getURL("signup"),noRoute:!0,callback:e=>t.goContinue(e,"login")})))))},n.goContinue=function(e,t){switch(cm.preventDefault(e),this.params.opener&&this.params.opener.close(),t){case"login":UserHelper.openLoginBox();break;case"register":UserHelper.openRegisterBox()}}}),cm.define("App.PromoLMSDialogContainer",{extend:"Com.AbstractContainer",params:{controllerEvents:!0,destructOnClose:!1,constructor:"App.PromoLMSDialog",placeholder:!0,placeholderConstructor:"Com.DialogContainer",placeholderParams:{renderTitle:!1,renderButtons:!1,constructorParams:{width:"100%",height:"100%",theme:"theme-light theme-borderless theme-promo theme-promo-lms",documentScroll:!0,
1closeOnDocument:!1,closeOnBackground:!1,adaptivePreset:"adaptive",presets:{adaptive:{width:"100%",height:"100%",valign:"bottom"}}}}}},function(){Com.AbstractContainer.apply(this,arguments)}),cm.define("App.PromoLMSDialog",{extend:"Com.AbstractController",params:{controllerEvents:!0,renderStructure:!0,embedStructureOnRender:!0,embedStructure:"append"}},function(){Com.AbstractController.apply(this,arguments)}),cm.getConstructor("App.PromoLMSDialog",function(e,t,n,a){n.renderView=function(){var e=this;e.nodes.container=cm.node("section",{classes:["tpl__section","tpl__section--promo-lms"]},e.nodes.inner=cm.node("div",{classes:"inner"},cm.node("div",{classes:"section__logo"},Application.Images.embed({image:App.getPath("components.PromoDialog.img","lms/logo.png"),title:e.msg("logo"),modifiers:["promo-lms-logo"],classes:["is-contain"],imageDataset:{pinNopin:"true"}})),cm.node("div",{classes:"section__title",innerHTML:e.msg("title")}),cm.node("div",{classes:"section__entry",innerHTML:e.msg("description")}),cm.node("div",{classes:["section__buttons","pull-center"]},Application.Buttons.embed({label:e.msg("action"),ariaLabel:e.msg("actionTitle"),modifiers:["hero-border"],link:Router.getURL("page",null,{id:"leadership-mode-snapshot"}),icons:{after:"chevronRight"},callback:e.goContinue.bind(e)})))),cm.click.add(e.nodes.action,e.goContinue.bind(e))},n.goContinue=function(e){this.params.opener&&this.params.opener.close(),UserHelper.updateUserParams({"leadership-mode-snapshot":(new Date).toISOString()})}}),cm.define("App.Questionary",{extend:"Com.AbstractController",events:["onStart","onComplete","onError","onClose","onNavSet"],params:{controllerEvents:!0,renderStructure:!0,embedStructureOnRender:!0,embedStructure:"append",data:{},modifiers:[],userParamName:"questionary-submitted",read:{constructor:"App.QuestionaryRequest",constructorParams:{showLoader:!0,autoSend:!0}},save:{constructor:"App.Request",constructorParams:{showLoader:!0,autoSend:!1,responseKey:null,ajax:{url:App._api.questionary.create,type:"json",paramsType:"json",method:"POST"}}},field:{constructor:"Com.Check",constructorParams:{type:"radio",contentClassName:["pt__check-line--questionary"]}}}},function(){Com.AbstractController.apply(this,arguments)}),cm.getConstructor("App.Questionary",function(e,t,n,a){n.onConstructStart=function(){this.data={},this.views={},this.stages={},this.currentStage=null,this.questions={},this.currentQuestion=null},n.onValidateParams=function(){this.setData(this.params.data)},n.onConstructEnd=function(){this.setStage("intro")},n.onDestructEnd=function(){cm.forEach(this.questions,e=>e.field?.destruct?.()),cm.forEach(this.components,e=>e.destruct())},n.renderView=function(){this.nodes.container=cm.node("div",{classes:"app__questionary"}),this.stages.intro=this.renderIntroView({container:this.nodes.container})},n.setAttributes=function(){let t=this;a.prototype.setAttributes.apply(t,arguments),cm.forEach(t.params.modifiers,e=>{cm.addClass(t.nodes.container,"app__questionary--"+e)})},n.renderViewModel=function(){let n=this;a.prototype.renderViewModel.apply(n,arguments),cm.isEmpty(n.data)&&cm.getConstructor(n.params.read.constructor,e=>{n.components.read=new e(cm.merge(n.params.read.constructorParams,{overlayParams:{container:n.nodes.container},events:{onSuccess:(e,t)=>n.setData(t.data)}}))}),cm.getConstructor(n.params.save.constructor,e=>{n.components.save=new e(cm.merge(n.params.save.constructorParams,{overlayParams:{container:n.nodes.container},events:{onSuccess:(e,t)=>n.onSaveSuccess(t.data),onError:(e,t)=>n.onSaveError(t.data)}}))})},n.onSaveSuccess=function(){this.stages.complete||(this.stages.complete=this.renderCompleteView({container:this.nodes.container})),UserHelper.updateUserParams({[this.params.userParamName]:(new Date).toISOString()}),this.setStage("complete"),this.triggerEvent("onComplete")},n.onSaveError=function(e){this.stages.error?this.renderErrorMessages(e.message):this.stages.error=this.renderErrorView({container:this.nodes.container,message:e.message}),this.setStage("error"),this.triggerEvent("onError")},n.setStage=function(n){var e,t=this.nodes.container.offsetHeight;cm.forEach(this.stages,(e,t)=>{t=t===n;e.nodes.container.setAttribute("aria-hidden",!t),cm.toggleClass(e.nodes.container,"is-
1hidden",!t)}),this.currentStage&&(e=this.nodes.container.offsetHeight,this.animateStage(t,e)),this.currentStage=n},n.animateStage=function(e,n){let a=this;if(!cm.isMotionReduced()&&e&&n&&e!==n){let t=e=>{e.target===a.nodes.container&&(cm.removeEvent(a.nodes.container,"transitionend",t),cm.removeClass(a.nodes.container,"is-animating"),a.nodes.container.style.height="")};a.nodes.container.style.height=e+"px",cm.addClass(a.nodes.container,"is-animating"),cm.addEvent(a.nodes.container,"transitionend",t),cm.onSchedule(()=>{a.nodes.container.style.height=n+"px"})}},n.renderIntroView=function(e){let t=this;e={nodes:{},params:cm.merge({container:cm.node("div")},e)};return e.nodes.container=cm.node("section",{classes:["tpl__section","tpl__section--questionary","tpl__section--questionary-intro","is-hidden"],"aria-hidden":!0},cm.node("div",{classes:"inner"},cm.node("h3",{classes:["section__title","section__title--adaptive"],innerHTML:t.msg("intro.title")}),cm.node("div",{classes:"section__button"},Application.Buttons.embed({modifiers:["hero-border"],label:t.msg("intro.start"),icons:{after:"chevronRight"},callback:()=>t.start()})))),cm.appendChild(e.nodes.container,e.params.container),e},n.renderCompleteView=function(e){let t=this;e={nodes:{},params:cm.merge({container:cm.node("div")},e)};return e.nodes.container=cm.node("section",{classes:["tpl__section","tpl__section--questionary","tpl__section--questionary-complete","is-hidden"],"aria-hidden":!0},cm.node("div",{classes:"inner"},cm.node("h3",{classes:["section__title","section__title--adaptive"],innerHTML:t.msgParse("complete.title",{username:Application.userGetProfileName()})}),cm.node("div",{classes:"section__entry",innerHTML:t.msg("complete.description")}),cm.node("div",{classes:"section__button"},Application.Buttons.embed({modifiers:["hero-border"],label:t.msg("complete.close"),callback:()=>t.triggerEvent("onClose")})))),cm.appendChild(e.nodes.container,e.params.container),e},n.renderErrorView=function(e){let t=this;e={nodes:{},params:cm.merge({container:cm.node("div"),message:t.msg("error.message")},e)};return e.nodes.container=cm.node("section",{classes:["tpl__section","tpl__section--questionary","tpl__section--questionary-complete","is-hidden"],"aria-hidden":!0},cm.node("div",{classes:"inner"},cm.node("h3",{classes:["section__title","section__title--adaptive"],innerHTML:t.msg("error.title")}),e.nodes.message=cm.node("p",{classes:"section__entry",innerText:e.params.message}),cm.node("div",{classes:"section__button"},Application.Buttons.embed({modifiers:["hero-border"],label:t.msg("error.retry"),callback:()=>t.save()})))),cm.appendChild(e.nodes.container,e.params.container),e},n.renderErrorMessages=function(e){var t=this.stages.error;t&&(t.nodes.message.innerText=e)},n.renderQuestionaryView=function(e){let t={data:[],nodes:{navItems:{}},params:cm.merge({container:cm.node("div")},e)};return cm.forEach(this.data,e=>{cm.isEmpty(e.conditions)&&t.data.push(e.name)}),t.nodes.container=cm.node("section",{classes:["tpl__section","tpl__section--questionary","is-hidden"],"aria-hidden":!0},t.nodes.holder=cm.node("div",{classes:"inner"},t.nodes.nav=cm.node("div",{classes:"app__questionary__nav"},t.nodes.navHolder=cm.node("div",{classes:"app__questionary__nav__list"}),t.nodes.navLabel=cm.node("div",{classes:"app__questionary__nav__label"})))),cm.forEach(t.data,e=>{t.nodes.navItems[e]=cm.node("div",{classes:"app__questionary__nav__list__item"}),cm.appendChild(t.nodes.navItems[e],t.nodes.navHolder)}),cm.appendChild(t.nodes.container,t.params.container),t},n.setNavItem=function(t){var n=this.stages.questionary;if(n){let e=n.nodes.navItems[t];e&&(n.nodes.navLabel.innerText=this.msgParse("nav.label",{count:n.data.length,index:cm.arrayIndex(n.data,t)+1}),cm.onSchedule(()=>cm.addClass(e,"is-active")),this.triggerEvent("onNavSet",t))}},n.setNextQuestion=function(){var e=this,t=e.stages.questionary;if(t){var n=e.getNextQuestion();if(!n)return e.save();var a=e.nodes.container.offsetHeight;e.currentQuestion&&e.unsetQuestion(e.currentQuestion),e.setNavItem(n.name),e.questions[n.name]=e.renderQuestionView(n,{container:t.nodes.holder}),e.currentQuestion&&(t=e.nodes.container.offsetHeight,e.animateStage(a,t)),e.currentQuestion=e.questions[n.name]}},n.getNextQuestion=function(){let a=this;return a.data.filter(e=>{var t=a.questions[e.name],t=!cm.isEmpty(t?.answer),n=!cm.isEmpty(e.conditions),e=e.conditions.every(e=>{var t=a.questions[e.questionKey];return"equals"===e.operator&&!!t&&t.answer===e.value});return!t&&(!n||e)})[0]},n.renderQuestionView=function(e,t){let n=this,a={data:e,answer:null,nodes:{},params:cm.merge({container:cm.node("div")},t)};return a.options=a.data.options.map(({value:e,label:t})=>{var n=t.indexOf(":"),a=(-1===n?t:t.slice(0,n)).trim(),t=-1===n?"":t.slice(n+1).trim();return{value:e,text:[a?cm.node("span",{classes:"label-title"},App.capitalizeWords(a)):null,t?cm.node("span",{classes:"label-descr"},t):null]}}),a.nodes.container=cm.node("section",{classes:"app__questionary__question"},cm.node("div",{classes:"app__questionary__question__title"},cm.node("h3",{classes:["h2","is-small","h2-sm-sm-small"]},a.data.title)),a.nodes.holder=cm.node("div",{classes:"app__questionary__question__field"})),cm.getConstructor(n.params.field.constructor,e=>{a.field=new e(cm.merge(n.params.field.constructorParams,{container:a.nodes.holder,options:a.options,events:{onSelect:(e,t)=>
1{a.answer=t,n.setNextQuestion()}}})),a.fieldContent=a.field.getContent(),cm.isMotionReduced()||(cm.setCSSVariable("--count",a.options.length,a.fieldContent.container),cm.addClass(a.fieldContent.container,"is-animated"))}),cm.appendChild(a.nodes.container,a.params.container),cm.isMotionReduced()||cm.onSchedule(()=>cm.addClass(a.fieldContent.container,"is-animating")),a},n.unsetQuestion=function(e){cm.remove(e.nodes.container)},n.start=function(){return this.stages.questionary=this.renderQuestionaryView({container:this.nodes.container}),this.setNextQuestion(),this.setStage("questionary"),this.triggerEvent("onStart"),this},n.save=function(){var e=Object.entries(this.questions).map(([e,t])=>({question:e,answer:t.answer}));return this.components.save.setAction({params:e},"update").send(),this},n.setData=function(e){this.data=e}}),cm.define("App.QuestionaryRequest",{extend:"App.Request",params:{userParamName:"questionary-submitted",showLoader:!1,autoSend:!1,responseKey:null,ajax:{url:App._api.questionary.list,type:"json",method:"GET"}}},function(){App.Request.apply(this,arguments)}),cm.getConstructor("App.QuestionaryRequest",function(e,t,n,a){n.send=function(){var e=Application.User.getParams(this.params.userParamName);return cm.isEmpty(e)&&Application.User.isBeautician()?a.prototype.send.apply(this,arguments):this.params.promise?Promise.resolve():this}}),cm.getConstructor("App.Application",function(e,t,n){n.configureRoutes=function(){var n=this,e=n.getRoutesConfig();return cm.forEach(e,function(e,t){n.components.router.add(t,e)}),n},n.formatDocumentTitle=function(e,t){return t=cm.merge({replace:!1},t),cm.isEmpty(e)||"page_title"===e?e=App._env.title:t.replace||(e=[e,App._env.title].join(App._config.titleSeparator)),e},n.setDocumentTitle=function(e,t){return this.components.router&&this.components.router.setDocumentTitle(e,t),this},n.setRoute=function(e,t,n){return this.components.router&&this.components.router.set(e,t,n),this},n.setRouteURL=function(e,t,n){return this.components.router&&this.components.router.setURL(e,t,n),this},n.summonRoute=function(e,t,n){return this.components.router&&this.components.router.summon(e,t,n),this},n.getRoute=function(e){return this.components.router&&this.components.router.get(e)},n.getCurrentRoute=function(){return this.components.router&&this.components.router.getCurrent()},n.getPreviousRoute=function(){return this.components.router&&this.components.router.getPrevious()},n.isRoutesURLMatch=function(e,t){return this.components.router&&(cm.isEmpty(e)||(e=this.components.router.prepareRoute(e).route),cm.isEmpty(t)||(t=this.components.router.prepareRoute(t).route)),e===t}}),cm.define("App.Router",{extend:"Com.Router",params:{catchRouteErrors:!App._env.debug,summonRouteOnError:!App._env.debug}},function(){Com.Router.apply(this,arguments)}),cm.getConstructor("App.Router",function(e,t,n,a){n.onConstructStart=function(){window.Router=this},n.checkRoleAccess=function(e){return Application.User.checkRoleAccess(e)},n.isRouteExcluded=function(t,e){return e.some(e=>{e=e.replace(/\./g,"\\.").replace(/\*/g,".*");return new RegExp(`^${e}$`).test(t)})},n.setDocumentTitle=function(e,t){return document.title=Application.formatDocumentTitle.apply(this,arguments),this}}),cm.getConstructor("App.Application",function(e,t,n){n.getRoutesConfig=function(){return{...{...{...{"/":{name:"index",access:"nonBeauticianAll",constructor:{authorized:"Page.Landing",unauthorized:"Page.LandingAbout"},contentParams:{minHeight:"winHeight - header"},redirectTo:{beautician:"user.dashboard"}},"/index":{redirectTo:"index"},"/about":{name:"about",redirectTo:"page",urlParams:{id:"about"}},"/about-us":{redirectTo:"about"},"/pro-resources":{name:"pro-resources",access:"beautician",audience:"beautician",constructor:"Page.ProResources",redirectTo:{nonBeauticianAll:["page",null,{urlParams:{id:"pro-resources"}}]},contentParams:{minHeightAdaptive:"winHeight"}},"/pro-resources/":{redirectTo:"pro-resources"},"/barber-section":{name:"barber-section",access:"beautician",audience:"beautician",constructor:"Page.BarberSection",contentParams:{minHeight:"winHeight - header",minHeightAdaptive:"winHeight"}},"/barber-section/":{redirectTo:"barber-section"},"/gallery":{name:"gallery",constructor:"Page.Gallery",contentParam
1s:{minHeight:"winHeight - header"}},"/verify-license":{name:"verify-license",redirectTo:"verify-license.technician"},"/verify-license/":{redirectTo:"verify-license.technician"},"/verify-license/technician":{name:"verify-license.technician",access:Application.checkSpecialUserAccess(),constructor:"Page.VerifyLicenseTechnician"},"/verify-license/salon":{name:"verify-license.salon",access:Application.checkSpecialUserAccess(),constructor:"Page.VerifyLicenseSalon"},"/directory":{name:"directory",constructor:"Page.Directory",contentParams:{minHeight:"winHeight - header",minHeightAdaptive:"winSmallHeight"}},"/members-search":{name:"members-search",redirectTo:"directory"},"/proverifications":{name:"licensify",redirectTo:"external.licensify"},"/licenses":{name:"licenses",redirectTo:"external.licensify"},"/brands":{name:"brands",redirectTo:"external.licensify"},"/shop":{name:"shop",access:"beautician",audience:"beautician",constructor:"Page.Shop",contentParams:{minHeight:"winHeight - header",minHeightAdaptive:"winHeight"}},"/digital-brains":{name:"digital-brains",access:"beautician",audience:"beautician",constructor:"Page.ChatGPT",contentParams:{minHeightAdaptive:"winDynamicHeight - header"}}
1,"/education-videos":{name:"education-videos",access:Application.Blog.getAudience("beautician")&&Application.checkSpecialUserAccess(),audience:"beautician",constructor:"Page.EducationVideos",contentParams:{minHeight:"winHeight - header"}},"/contact":{name:"contact",constructor:"Page.Contact"},"/contact/":{redirectTo:"contact"},"/nabba":{name:"nabba",constructor:"Page.Nabba",contentParams:{showHeaderMenu:!1,minHeight:"winHeight",minHeightAdaptive:"winHeight"}},"/nabba/":{redirectTo:"nabba"},"/blog":{name:"blog",constructor:"Page.Blog",contentParams:{minHeight:"winHeight - header"}},"/blog/":{redirectTo:"blog"},"/blog/{id}":{name:"blog.post",constructor:"Page.BlogPost",contentParams:{minHeight:"winHeight - header"}},"/blog/{id}/":{redirectTo:"blog.post"},"/blog/category":{redirectTo:"blog"},"/blog/category/":{redirectTo:"blog"},"/blog/category/{id}":{name:"blog.category",constructor:"Page.BlogCategory",contentParams:{minHeight:"winHeight - header"}},"/blog/category/{id}/":{redirectTo:"blog.category"},"/blog/category/latest-trends":{redirectTo:"blog.category",urlParams:{id:"real-talk"}},"/pages/{id}":{name:"page",constructor:"App.StaticPage",contentParams:{minHeight:"winHeight - header"}},"/pages/{id}/":{redirectTo:"page"},"/pages/disclaimer-licensedbeautician":{redirectTo:"page",urlParams:{id:"Professional-Terms-of-Service"}},"/pages/terms-and-conditions":{redirectTo:"page",urlParams:{id:"Universal-Terms-of-Service"}},"/pages/disclaimer-beautyenthusiast":{redirectTo:"page",urlParams:{id:"Enthusiast-Terms-of-Service"}},"/pages/beauty-pro-verify-license-terms":{redirectTo:"page",urlParams:{id:"License-Verification-Terms-of-Service"}},"/pages/api-instructions":{redirectTo:"external.licensify.route",urlParams:{route:"pages/api-instructions"}},"/pages/api-instructions-sandbox":{redirectTo:"external.licensify.route",urlParams:{route:"pages/api-instructions"}},"/pages/shopify-plugin":{redirectTo:"external.licensify.route",urlParams:{route:"pages/shopify-plugin"}},"/blcasestudy":{name:"case-study",redirectTo:"external.licensify.route",urlParams:{route:"pages/case-study"}},"/BLcasestudy":{redirectTo:"case-study"},"/developer":{redirectTo:"page",urlParams:{id:"developer"}},"/leadership-mode-snapshot-assessment":{name:"leadership-mode-snapshot-assessment",redirectTo:"page",urlParams:{id:"leadership-mode-snapshot"}},"/leadership-mode-snapshot-assessment-results":{name:"leadership-mode-snapshot-assessment.results",redirectTo:"page",urlParams:{id:"leadership-mode-snapshot"}},"/rodrick-samuels-the-silent-work":{name:"product.book",constructor:"Page.Book",contentParams:{minHeight:"winHeight - header",minHeightAdaptive:"winHeight"}},"/rodrick-samuels-the-silent-work/":{redirectTo:"product.book"},"/book":{redirectTo:"product.book"},"/book/":{redirectTo:"product.book"},"/signin":{name:"signin",constructor:"Page.SignIn",redirectTo:{authorized:"user.home"}},"/signin/":{redirectTo:"signin"},"/signin/{token}/{refresh}":{name:"signin.token",constructor:"Page.SignIn",redirectTo:{authorized:"user.home"}},"/signup":{name:"signup",constructor:"Page.Signup"},"/signup/":{redirectTo:"signup"},"/signup/enthusiast":{name:"signup.enthusiast",constructor:"Page.SignupEnthusiast"},"/signup/individual":{name:"signup.individual",constructor:"Page.SignupIndividual"},"/signup/technician":{redirectTo:"signup.individual"},"/signup/beautician":{redirectTo:"signup.individual"},"/signup/salon":{name:"signup.salon",constructor:"Page.SignupSalon"},"/signup/business":{redirectTo:"signup.salon"},"/signup/student":{name:"signup.student",constructor:"Page.SignupStudent"},"/signup/international":{name:"signup.international",constructor:"Page.SignupInternational"},"/signup/profile":{name:"signup.profile",constructor:"Page.SignupProfile",access:"authorized"},"/signup/welcome":{name:"signup.welcome",constructor:"Page.SignupWelcome",access:"authorized"},"/signup/renew/individual":{name:"signup.renew.individual",constructor:"Page.SignupRenewIndividual"},"/signup/update/individual":{redirectTo:"signup.renew.individual"},"/signup/update/technician":{redirectTo:"signup.renew.individual"},"/signup/renew/technician":{redirectTo:"signup.renew.individual"},"/signup/renew/salon":{name:"signup.renew.salon",constructor:"Page.SignupRenewSalon"},"/signup/renew/international":{name:"signup.renew.international",constructor:"Page.SignupRenewInternational"},"/signup/update/salon":{redirectTo:"signup.renew.salon"},"/signup/other":{redirectTo:"signup.international"},"/@{shortname}":{name:"user.profile.shortname",constructor:"Page.UserProfile",contentParam
1s:{minHeight:"winHeight - header"}},"/@{shortname}/":{redirectTo:"user.profile.shortname"},"/u/{id}":{name:"user.profile",constructor:"Page.UserProfile",contentParams:{minHeight:"winHeight - header"}},"/u/{id}/":{redirectTo:"user.profile"},"/user/home":{name:"user.home",access:"authorized",redirectTo:{nonBeautician:"user.profile.me",beautician:"user.dashboard"}},"/user/home/":{redirectTo:"user.home"},"/user/profile":{name:"user.profile.me",access:"authorized",redirectTo:{authorized:()=>Application.User.getProfileURL(void 0,{type:"routeParams"})}},"/user/profile/":{redirectTo:"user.profile.me"},"/user/conversations":{name:"user.conversations",constructor:"Page.UserConversations",access:"authorized",contentParams:{minHeightAdaptive:"winDynamicHeight - header"}},"/user/conversations/":{redirectTo:"user.conversations"},"/user/conversations/{id}":{name:"user.conversation",constructor:"Page.UserConversations",access:"authorized",contentParams:{minHeightAdaptive:"winDynamicHeight - header"}},"/user/conversations/{id}/":{redirectTo:"user.conversation"},"/user/favorites":{name:"user.favorites",constructor:"Page.UserFavorites",access:"authorized"},"/user/favorites/":{redirectTo:"user.favorites"},"/user/gallery":{name:"user.gallery",constructor:"Page.UserGallery",access:"authorized"},"/user/gallery/":{redirectTo:"user.gallery"},"/user/settings":{name:"user.settings",constructor:"Page.UserSettings",access:"authorized",contentParams:{minHeightAdaptive:"winDynamicHeight - header"}},"/user/settings/":{redirectTo:"user.settings"},"/user/preferences":{name:"user.preferences",redirectTo:"user.settings"},"/user/preferences/":{redirectTo:"user.settings"},"/user/dashboard":{name:"user.dashboard",access:"beautician",audience:"beautician",constructor:"Page.UserDashboard",contentParams:{minHeight:"winHeight - header",minHeightAdaptive:"winHeight"}},"/user/dashboard/":{redirectTo:"user.dashboard"},"/user/reset":{name:"user.reset",constructor:"Page.UserReset",redirectTo:{authorized:"user.home"}},"/user/reset/":{redirectTo:"user.reset"},"/user/reset/{code}":{name:"user.reset.code",constructor:"Page.UserResetCode",access:"unauthorized"},"/user/unsubscribe":{name:"user.unsubscribe",constructor:"Page.UserUnsubscribe"},"/user/unsubscribe/":{redirectTo:"user.unsubscribe"},"/user/unsubscribe/{hash}":{name:"user.unsubscribe.hash",constructor:"Page.UserUnsubscribe"},"/contest/fastfoils":{name:"forms.fastfoils",redirectTo:"index"},"/forms/fastfoils":{redirectTo:"index"},"/forms/fastfoils/":{redirectTo:"index"},"/app/auth":{name:"app.auth",constructor:"Page.AppAuth"},"/app/external":{name:"app.external",constructor:"Page.AppExternal"},"/external/dashboard":{type:"external",name:"external.dashboard",href:[App._env.dashboardUrl,"{route}"].join("/")},"/external/licensify":{type:"external",name:"external.licensify",href:App._env.licensifyUrl},"/external/licensify/{route}":{type:"external",name:"external.licensify.route",href:[App._env.licensifyUrl,"{route}"].join("/")}},"/{code}":{name:"lang",constructor:"Page.LangSwitch",patterns:{code:"([a-zA-Z]{2}(?:[_-][a-zA-Z]{2})?)"}},"/{code}/":{redirectTo:"lang"},"/{code}/{route}":{name:"lang.route",constructor:"Page.LangSwitch",patterns:{code:"([a-zA-Z]{2}(?:[_-][a-zA-Z]{2})?)"}}},...Application.getRoutesOpenIDConfig()},"/pwa":{name:"pwa",redirectTo:"index"},"/404":{name:"error",constructor:"Page.Error"},"/404/unauthorized":{name:"error.unauthorized",constructor:"Page.Error"}}},n.getRoutesOpenIDConfig=function(){let n=[],a=Object.fromEntries(App._i18n.filter(e=>e.primary).map(e=>[e.code,e.locale])),s={"/openid":{name:"openid",constructor:"Page.OpenId",contentParams:{showHeaderMenu:!1,minHeight:"winHeight",minHeightAdaptive:"winHeight"}},"/openid/":{redirectTo:"openid"},"/openid/{slack}":{redirectTo:"openid"}};return cm.forEach(App._i18n,e=>{s[`/${e.locale}/openid`]={name:"openid."+e.locale,lang:e.code,locale:e.locale,constructor:"Page.OpenId"},s[`/${e.locale}/openid/`]={redirectTo:"openid."+e.locale},s[`/${e.locale}/openid/{slack}`]={redirectTo:"openid."+e.locale};var t=a[e.code];cm.inArray(n,e.code)||t&&t!==e.locale||(n.push(e.code),s[`/${e.code}/openid`]={redirectTo:"openid."+e.locale},s[`/${e.code}/openid/`]={redirectTo:"openid."+e.locale},s[`/${e.code}/openid/{slack}`]={redirectTo:"openid."+e.locale})}),s}}),cm.define("App.ScriptEval",{extend:"Com.AbstractController",params:{controllerEvents:!0,renderStructure:!1}},function(){Com.AbstractController.apply(this,arguments)}),cm.getConstructor("App.ScriptEval",function(classConstructor,className,classProto,classInherit){classProto.renderViewModel=function(){let that=this,src=(classInherit.prototype.renderViewModel.apply(that,arguments),that.params.node.getAttribute("src"));if(cm.isEmpty(src)){let value=that.params.node.innerText;cm.isEmpty(value)||eval(value)}else{let container=that.params.node.parentNode;cm.remove(that.params.node),void(that.components.script=cm.addScript(src,!0,null,container))}}}),cm.define("App.SectionScroll",{extend:"Com.AbstractController",params:{controllerEvents:!0,renderStructure:!0,embedStructureOnRender:!0,embedStructure:"append",modifiers:[],renderArrows:!0,arrowsModifiers:[],arrowClasse
1s:[],slideshow:!1,delay:3e3}},function(){Com.AbstractController.apply(this,arguments)}),cm.getConstructor("App.SectionScroll",function(e,t,n,a){n.onConstructStart=function(){this.timeouts={},this.observers={},this.collumns=[],this.isPaused=!1,this.isVisible=!1},n.onDestructEnd=function(){cm.forEach(this.timeouts,e=>clearTimeout(e)),cm.forEach(this.observers,e=>e.disconnect()),cm.forEach(this.components,e=>e.destruct())},n.renderView=function(){this.nodes.container=cm.node("div",{classes:"app--list-scroll"},this.nodes.scroll=cm.node("div",{classes:"section__scroll"},this.nodes.holder=cm.isNode(this.nodes.holder)?cm.addClass(this.nodes.holder,"section__list"):cm.node("ul",{classes:"section__list"}))),this.params.renderArrows&&this.renderArrows()},n.renderArrows=function(){let e=this,t=["section__scroll__arrows"];cm.forEach(e.params.arrowsModifiers,e=>{t.push("section__scroll__arrows--"+e)}),e.nodes.arrows=cm.node("div",{classes:t},e.nodes.arrowPrev=cm.node("div",{title:Application.msg("actions.prev"),class:["section__scroll__arrow","section__scroll__arrow--previous"],role:"button",tabindex:-1},Application.Images.embedIcon({icon:"chevronLeft",classes:e.params.arrowClasses,modifiers:["action"]})),e.nodes.arrowNext=cm.node("div",{title:Application.msg("actions.next"),class:["section__scroll__arrow","section__scroll__arrow--next"],role:"button",tabindex:-1},Application.Images.embedIcon({icon:"chevronRight",classes:e.params.arrowClasses,modifiers:["action"]}))),cm.click.add(e.nodes.arrowPrev,()=>e.scrollToPrev()),cm.click.add(e.nodes.arrowNext,()=>e.scrollToNext()),cm.appendChild(e.nodes.arrows,e.nodes.container)},n.setAttributes=function(){let t=this;a.prototype.setAttributes.apply(t,arguments),cm.forEach(t.params.modifiers,e=>{cm.addClass(t.nodes.container,"app--list-scroll--"+e)})},n.renderViewModel=function(){a.prototype.renderViewModel.apply(this,arguments),this.params.slideshow&&this.initSlideshow()},n.initSlideshow=function(){let t=this;t.observers.slideshow=new IntersectionObserver(e=>{cm.forEach(e,e=>{t.isVisible=e.isIntersecting})},{root:null,rootMargin:"0px",threshold:1}),t.observers.slideshow.observe(t.nodes.container),cm.addEvent(t.nodes.scroll,"mouseenter",e=>{"touch"!==e.pointerType&&t.pauseSlideshow()}),cm.addEvent(t.nodes.scroll,"mouseleave",e=>{"touch"!==e.pointerType&&t.playSlideshow()}),cm.addEvent(t.nodes.scroll,"touchstart",e=>{1<e.touches.length||t.pauseSlideshow()}),cm.addEvent(t.nodes.scroll,"touchend",()=>{t.playSlideshow()}),cm.addEvent(t.nodes.scroll,"touchcancel",()=>{t.playSlideshow()}),t.playSlideshow()},n.pauseSlideshow=function(){this.isPaused=!0,this.cycleSlideshow()},n.playSlideshow=function(){this.isPaused=!1,this.cycleSlideshow()},n.cycleSlideshow=function(){let e=this;e.timeouts.slideshow&&clearTimeout(e.timeouts.slideshow),e.timeouts.slideshow=setTimeout(()=>{e.isPaused||!e.isVisible?e.cycleSlideshow():e.scrollToNext()},e.params.delay)},n.observe=function(){let t=this;t.observers.scroll||(e={root:t.nodes.scroll,rootMargin:"0px",threshold:.01},t.observers.scroll=new IntersectionObserver(e=>{cm.forEach(e,e=>{cm.toggleClass(e.target,"is-transparent",!e.isIntersecting)})},e));var e=[...t.nodes.holder.children];cm.forEach(e,e=>t.observers.scroll.observe(e))},n.unobserve=function(){let t=this;var e;t.observers.scroll&&(e=[...t.nodes.holder.children],cm.forEach(e,e=>t.observers.scroll.unobserve(e)))},n.scrollToFirst=function(){var e=this.nodes.holder.firstChild;this.scrollToColumn(e),this.params.slideshow&&this.cycleSlideshow()},n.scrollToLast=function(){var e=this.nodes.holder.lastChild;this.scrollToColumn(e),this.params.slideshow&&this.cycleSlideshow()},n.scrollToPrev=function(){let n=this;var e,t;return!(n.nodes.scroll.scrollLeft<=10)&&(e=(t=[...n.nodes.holder.children]).find(e=>{var e=e.getBoundingClientRect(),t=n.nodes.scroll.getBoundingClientRect();return e.left>=t.left}),t=t[t.indexOf(e)-1])?(n.scrollToColumn(t),void(n.params.slideshow&&n.cycleSlideshow())):n.scrollToLast()},n.scrollToNext=function(){let n=this;var e,t;return!(n.nodes.scroll.scrollWidth-n.nodes.scroll.offsetWidth-n.nodes.scroll.
1scrollLeft<=10)&&(e=(t=[...n.nodes.holder.children]).find(e=>{var e=e.getBoundingClientRect(),t=n.nodes.scroll.getBoundingClientRect();return e.left>=t.left}),t=t[t.indexOf(e)+1])?(n.scrollToColumn(t),void(n.params.slideshow&&n.cycleSlideshow())):n.scrollToFirst()},n.getHolder=function(){return this.nodes.holder},n.addColumn=function(e){e=cm.node("li",{classes:["section__list__column","is-transparent"]},e);return this.observers.scroll&&this.observers.scroll.observe(e),cm.appendChild(e,this.nodes.holder),this.collumns.push(e),e},n.removeColumn=function(e){return this.observers.scroll&&this.observers.scroll.unobserve(e),cm.remove(e),this.collumns=cm.arrayRemove(this.collumns,e),e},n.scrollToColumn=function(e){if(e&&this.nodes.holder.contains(e))return e?.scrollIntoView({behavior:"smooth",block:"nearest",inline:"start"}),e}}),cm.define("App.ShareContainer",{extend:"Com.AbstractContainer",params:{controllerEvents:!0,data:{},constructor:"App.Share",constructorParams:{},placeholder:!0,placeholderConstructor:"Com.DialogContainer",placeholderParams:{renderTitle:!1,titleAlign:"center",renderButtons:!1,justifyButtons:"center",constructorParams:{width:App._config.dialog.widthSmall,theme:"theme-light theme-round",className:"com__dialog--share",adaptiveBreakpoint:"mobileDown",adaptivePreset:"adaptive"}}}},function(){Com.AbstractContainer.apply(this,arguments)}),cm.getConstructor("App.ShareContainer",function(e,t,n,a){n.constructControllerParams=function(e){var t=a.prototype.constructControllerParams.apply(this,arguments);return cm.merge(t,{data:this.params.data})}}),cm.define("App.Share",{extend:"Com.AbstractController",params:{controllerEvents:!0,renderStructure:!0,embedStructureOnRender:!0,embedStructure:"append",data:{},qrCode:{script:{path:"QRCodeStyling",src:"%assetsUrl%/libs/qrCodeStyling/lib/qr-code-styling.js?v=%version%"}},overlay:{constructor:"Com.Overlay",constructorParams:{position:"absolute",removeOnClose:!0,destructOnRemove:!0,showContent:!1,lazy:!1,theme:"logo-share"}}}},function(){Com.AbstractController.apply(this,arguments)}),cm.getConstructor("App.Share",function(e,n,t,a){t.onConstructStart=function(){this.actions=[],this.profileData=null},t.onValidateParamsStart=function(){this.profileData=Application.User.validateProfile(this.params.data,{populateData:!1})},t.renderView=function(){this.nodes.container=cm.node("div",{classes:"app__share"},this.nodes.inner=cm.node("div",{classes:"app__share__inner"},cm.node("h3",{classes:"app__share__title"},this.msg("title")),this.nodes.qrCode=cm.node("div",{classes:"app__share__qrcode"},this.nodes.qrCodeHolder=cm.node("div",{classes:["app__share__canvas","is-transparent"]})),this.nodes.buttons=cm.node("div",{classes:"app__share__buttons"}))),this.renderButtonsView()},t.renderViewModel=function(){let t=this;a.prototype.renderViewModel.apply(t,arguments),cm.getConstructor(t.params.overlay.constructor,function(e){t.components.overlay=new e(cm.merge(t.params.overlay.constructorParams,{container:t.nodes.qrCode}))}),Promise.resolve(t.loadQRCode()).catch(t.renderPromiseError.bind(t)).finally(t.renderPromiseResponse.bind(t))},t.renderButtonsView=function(){var e=this,t=[];e.nodes.buttonDownload=e.renderButtonDownload(),t.push(e.nodes.buttonDownload),e.nodes.buttonCopy=e.renderButtonCopy(),t.push(e.nodes.buttonCopy),navigator.canShare&&(e.nodes.buttonShare=e.renderButtonShare(),t.push(e.nodes.buttonShare)),Application.Buttons.embedContainer({container:e.nodes.buttons,modifiers:["box","share"],buttons:t})},t.renderButtonDownload=function(){let e=this;var t=Application.Buttons.embed({label:e.msg("actions.download.label"),icons:{classes:["medium"],before:"save"},modifiers:["round"],callback:()=>e.actionDownload()});return e.actions.push("download"),t},t.renderButtonCopy=function(){let e=this;var t=Application.Buttons.embed({label:e.msg("actions.copy.label"),icons:{classes:["medium"],before:"copy"},modifiers:["round"],callback:()=>e.actionCopy()});return e.actions.push("copy"),t},t.renderButtonShare=function(){let e=this;var t=Application.Buttons.embed({label:e.msg("actions.share.label"),icons:{classes:["medium"],before:"share"},modifiers:["round"],callback:()=>e.actionShare()});return e.actions.push("share"),t},t.actionDownload=function(){"iOS"===Com.UA.get()?.os&&navigator.canShare?this.actionShareImage():this.actionDownloadImage()},t.actionDownloadImage=function(){this.components.qrCodeInstance&&(this.components.qrCodeInstance.download({extension:"png",name:this.msg("labels.download",{"{username}":this.profileData.name,"{title}":App._env.title})}),this.params.opener)&&this.params.opener.close()},t.actionCopy=function(){cm.copyToClipboard(this.profileData.href),this.params.opener&&this.params.opener.close()},t.actionShare=function(){cm.share({title:this.msg("labels.title",{"{username}":this.profileData.name,"{title}":App._env.title}),text:this.msg("labels.share",{"{username}":this.profileData.name,"{title}":App._env.title}),url:this.profileData.href}),this.params.opener&&this.params.opener.close()},t.actionShareImage=async function(){if(this.components.qrCodeInstance){try{var e=await this.components.qrCodeInstance.getRawData(),t=this.msg("labels.download",{"{username}":this.profileData.name,"{title}":App._env.title});cm.share({title:this.msg("labels.title",{"{username}":this.profileData.name,"{title}":App._env.title}),text:t,files:[new File([e],t+".png",{type:"image/png"})]})}catch(e){cm.errorLog({type:"error",name:n,message:"Unable to execute action: actionShareImage: "+e})}this.params.opener&&this.params.opener.close()}},t.loadQRCode=function(){let t=this;return cm.loadScript(cm.merge(t.params.qrCode.script,{callback:e=>{t.components.qrCode=e}}))},t.renderPromiseResponse=function(){let e=this,t={width:512,height:512,type:"canvas",shape:"square",margin:0,data:e.profileData.href,qrOptions:{typeNumber:6,mode:"Byte",errorCorrectionLevel:"Q"},image:App.getAbsolutePath("common.img","svg/logo-icon.svg?version="+App._version),imageOptions:{imageSize:.4,margin:12,hideBackgroun
1dDots:!0,saveAsBlob:!0},dotsOptions:{type:"dots",color:"#00A7E1"},backgroundOptions:{color:"transparent"},cornersSquareOptions:{type:"extra-rounded",color:"#56C9EE",gradient:{type:"linear",rotation:45,colorStops:[{offset:0,color:"#00A7E1"},{offset:1,color:"#56C9EE"}]}},cornersDotOptions:{type:"dot",color:"#56C9EE"}};e.components.qrCodeInstance=new e.components.qrCode(t),e.components.qrCodeInstance.append(e.nodes.qrCodeHolder),setTimeout(()=>{e.components.overlay.close(),e.components.qrCodeInstance.update(t),cm.removeClass(e.nodes.qrCodeHolder,"is-transparent")},cm._config.loadDelay)},t.renderPromiseError=function(e){this.components.overlay.close()}}),cm.define("App.FeaturesSlider",{extend:"Com.Slider",params:{controllerEvents:!0,renderStructure:!0,embedStructureOnRender:!0,embedStructure:"append",className:"com__slider--features",slideshow:!1,cycle:!1,effect:"features",time:1e3,delay:0,height:"max",setOnClick:!0,arrows:!0,buttons:!1,controlsType:"small",controlsClasses:["com__gallery-controls--arrows","is-visible"]}},function(){Com.Slider.apply(this,arguments)}),Com.SliderEffects.features=function(e,t,n,a){var s;e.itemsLength<2||t===n?a():(cm.forEach(e.items,e=>{cm.replaceClass(e.nodes.container,["prev","next","current","active"],["hidden"])}),s=0<t.index?t.index-1:null,(s=e.items[s])&&cm.addClass(s.nodes.container,"prev",!0),s=t.index<e.itemsLength-1?t.index+1:null,(s=e.items[s])&&cm.addClass(s.nodes.container,"next",!0),n&&n.nodes.container.setAttribute("aria-hidden",!0),t.nodes.container.setAttribute("aria-hidden",!1),cm.replaceClass(t.nodes.container,["hidden"],["current","active"],!0),setTimeout(a,e.params.time))},cm.define("App.Slider",{extend:"Com.Slider",params:{customEvents:!0,controllerEvents:!0,renderStructure:!0,embedStructureOnRender:!0,embedStructure:"append",arrows:!0,buttons:!1,controlsType:"small",controlsClasses:["com__gallery-controls--arrows","is-visible"]}},function(){Com.Slider.apply(this,arguments)}),cm.getConstructor("App.Application",function(e,t,n,a){n.getSpecialityOptions=function(e,t){let n={data:e,options:[]};return cm.isObject(n.data)?cm.forEach(n.data,(e,t)=>{n.options=[...n.options,...Application.getSpecialityOptions(e,t)]}):cm.forEach(n.data,e=>{n.options.push({value:e.id,text:e.title,group:cm.isEmpty(t)?e.group:t,renderCheckbox:!0})}),n.options},n.convertSpecialityToOptions=function(e,t){if(!cm.isEmpty(e)){if(cm.isObject(e)){let n=[];return cm.forEach(e,(e,t)=>{n=[...n,...Application.convertSpecialityToOptions(e,t)]}),n}return e.map(e=>Application.convertSpecialityToOption(e,t))}},n.convertSpecialityToOption=function(e,t){return cm.isEmpty(e)?null:cm.isObject(e)?(cm.isUndefined(e.title)||(e.text=e.title),cm.isUndefined(e.id)||(e.value=e.id),cm.isUndefined(e.value)&&(e.value=e.text),cm.isUndefined(e.text)&&(e.text=e.value),cm.isEmpty(t)||(e.group=t),e):{text:e,value:e,group:t}}}),cm.define("App.SpecialityRequest",{extend:"App.Request",params:{showLoader:!0,autoSend:!1,responseKey:null,responseErrorsKey:"message",ajax:{url:App._api.specialities,type:"json",method:"GET",params:{limit:0,order:"title",language:"%locale%",grouped:"true"}}}},function(){App.Request.apply(this,arguments)}),cm.define("App.StatesInfoList",{extend:"Com.AbstractController",params:{controllerEvents:!0,renderStructure:!0,embedStructureOnRender:!0,embedStructure:"append",statesRequest:{constructor:"App.StatesRequest",constructorParams:{autoSend:!1}},list:{constructor:"Com.Gridlist",constructorParams:{hideTableHeader:!0,adaptive:!0,sort:!0,sortBy:"label",orderBy:"ASC",pagination:!1}}}},function(){Com.AbstractController.apply(this,arguments)}),cm.getConstructor("App.StatesInfoList",function(e,t,n,a){n.renderViewModel=function(){var t=this;a.prototype.renderViewModel.apply(t,arguments),cm.getConstructor(t.params.statesRequest.constructor,function(e){t.components.statesRequest=new e(t.params.statesRequest.constructorParams),t.components.statesRequest.addEvent("onSuccess",t.renderStatesResponse.bind(t)),t.components.statesRequest.send()})},n.renderStatesResponse=function(e,t){var n=this,t=t.data||{},a=cm.clone(t.strings["signup-licenseno"]),s=(cm.forEach(t["manual-states"],function(e){a[e]=n.msg("hints.manual")}),[]);cm.forEach(a,function(e,t){s.push({name:t,hint:e,label:Application.Intl.getStateName("usa",t)})}),cm.getConstructor(n.params.list.constructor,function(e){n.components.list=new e(cm.merge(n.params.list.constructorParams,{container:n.nodes.container,data:s,cols:[{title:n.msg("fields.label"),type:"text",key:"label",width:"160"},{title:n.msg("fields.name"),type:"text",key:"name",width:"70"},{title:n.msg("fields.hint"),type:"text",key:"hint",width:"auto"}]}))})}}),cm.define("App.StaticPage",{extend:"App.Page",params:{name:"static-page",layout:"layout--default-clean",data:null,dataName:"pages.page",renderPageStructure:!0,constructCollector:!0,redrawOnResize:"full",request:{constructor:"App.Request",constructorParams:{showLoader:!0,autoSend:!1,responseKey:null,responseErrorsKey:"name",ajax:{url:App._api.pages.read,type:"json",method:"GET"}}}}},function(){App.Page.apply(this,arguments)}),cm.getConstructor("App.StaticPage",function(e,t,n,a){n.onValidateParams=function(){var e,t=this;cm.isEmpty(t.params.data)?t.data=cm.isEmpty(t.params.route.data)?cm.isEmpty(t.params.route.captures)?t.params.route.urlParam
1s:t.params.route.captures:t.params.route.data:t.data=cm.clone(t.params.data),t.data?.id&&(e=Application.Page.getParams(t.data.id),t.setParams(e))},n.onConstructEnd=function(){this.request()},n.renderView=function(){this.triggerEvent("onRenderViewStart"),this.nodes.container=cm.node("article",{classes:["page","page--static"]}),this.triggerEvent("onRenderViewProcess"),this.triggerEvent("onRenderViewEnd")},n.renderViewModel=function(){let n=this;a.prototype.renderViewModel.apply(n,arguments),cm.isEmpty(n.params.name)||(cm.addClass(n.nodes.container,"page--"+n.params.name),cm.addClass(n.nodes.container,"static--"+n.params.name)),cm.isEmpty(n.data.id)||(cm.addClass(n.nodes.container,"page--"+n.data.id),cm.addClass(n.nodes.container,"static--"+n.data.id)),cm.getConstructor(n.params.request.constructor,e=>{n.components.request=new e(cm.merge(n.params.request.constructorParams,{data:n.data,overlayParams:{container:n.nodes.container,position:"fixed"},events:{onSuccess:(e,t)=>n.renderPage(t.data),onError:()=>n.renderError()}}))})},n.renderError=function(e){Router.summon("error",null,{data:e})},n.renderPage=function(e){var t=this,n=(t.unsetPageAttributes(),cm.parseJSON(e.params));cm.isEmpty(n?.redirect)||"page"!==t.params.route.name?!cm.isEmpty(e.audience)&&!Application.Blog.checkAudienceAccess(e.audience)||!cm.isEmpty(e.linkedProduct)&&!Application.User.isProductPurchased(void 0,e.linkedProduct)?t.renderError({page_title:e.title,audie
1nce:e.audience}):(t.setParams(n?.web),t.setPageAttributes(),t.setDocumentTitle(e.title),e=t.renderPageStructure(e),t.constructCollector(),t.redraw("full"),t.nodes.page=e):Router.setURL(n.redirect,null,{pushState:!1,replaceState:!0})},n.renderPageStructure=function(e){var t={};return this.params.renderPageStructure?t.container=cm.node("section",{classes:["tpl__section","tpl__section--static-page","is-box","is-transparent"]},cm.node("div",{classes:"inner"},cm.node("h1",{classes:["section__title","section__title"]},e.title),cm.node("div",{classes:"section__entry",innerHTML:e.content}))):t.container=cm.node("div",{classes:["tpl__wrapper","is-transparent"],innerHTML:e.content}),cm.appendChild(t.container,this.nodes.container),cm.removeClass(t.container,"is-transparent",!0),t},n.request=function(){var e=Data[this.params.dataName];delete Data[this.params.dataName],cm.isEmpty(e)||Application.Blog.checkAudienceAccess("beautician")&&cm.isEmpty(e.content)?this.components.request?.send():this.renderPage(e)}}),cm.define("App.Support",{extend:"Com.AbstractController",params:{controllerEvents:!0,renderStructure:!0,embedStructureOnRender:!0,embedStructure:"append",form:{constructor:"Form.Support",constructorParams:{}}}},function(){Com.AbstractController.apply(this,arguments)}),cm.getConstructor("App.Support",function(e,t,n,a){n.renderView=function(){this.nodes.container=cm.node("div",{classes:"app__support"},this.nodes.formHolder=cm.node("div",{classes:"support__form"}),this.nodes.messageHolder=cm.node("div",{classes:["support__message","is-hidden"],innerHTML:this.msg("success_message")}))},n.renderViewModel=function(){let t=this;a.prototype.renderViewModel.apply(t,arguments),cm.getConstructor(t.params.form.constructor,e=>{t.components.form=new e(cm.merge(t.params.form.constructorParams,{container:t.nodes.formHolder,events:{onSuccess:t.renderResponse.bind(t)}}))})},n.renderResponse=function(e,t){cm.addClass(this.nodes.formHolder,"is-hidden"),cm.removeClass(this.nodes.messageHolder,"is-hidden")},n.set=function(e){return this.components.form&&this.components.form.set(e),this},n.get=function(){return this.components.form&&this.components.form.get(),this},n.reset=function(){return cm.removeClass(this.nodes.formHolder,"is-hidden"),cm.addClass(this.nodes.messageHolder,"is-hidden"),this.components.form&&this.components.form.reset(),this}}),cm.define("App.Template",{extend:"Com.AbstractController",events:["onIntersecting"],params:{embedStructure:"append",controllerEvents:!0,customEvents:!0,removeOnDestruct:!0,redrawOnRender:!1,scrollEvent:!0,viewMode:null,contentParams:{minHeight:"winHeight - header - footer",minHeightAdaptive:"winHeight - header",showHeaderMenu:!0},search:{constructor:"Form.BlogSearchContainer",constructorParams:{}},menu:{constructor:"App.Menu",constructorParams:{}},userHelper:{constructor:"App.UserHelper",constructorParams:{}}}},function(){Com.AbstractController.apply(this,arguments)}),cm.getConstructor("App.Template",function(e,t,n,a){n.onConstructStart=function(){let n=this;n.views={},n.viewMode=null,n.deviceMode=null,n.intersections={},n.menu={},n.menuConfig=Application.getMenuConfig(),n.contentParams=null,n.isHeaderMenuShown=null,n.headerMenuType=null,n.isUserMenuShow=null,n.userMenuType=null,n.clickEventHandler=n.clickEvent.bind(n),n.menuActionsHandlers={},cm.forEach(n.menuActions,(e,t)=>{n.menuActionsHandlers[t]=e.bind(n)}),window.Template=n},n.onConstructEnd=function(){this.setViewMode(this.storageGet("viewMode")),this.renderStyles()},n.onDestruct=function(){var e=this.views.headerMenu,t=this.views.userMenu;cm.bodyScroll.remove(e?.nodes.menu),cm.bodyScroll.remove(t?.nodes.menu),cm.remove(this.nodes.stylesheet),this.components.userHelper?.destruct(),this.components.search?.destruct(),this.components.observer?.disconnect()},n.onRedraw=function(){this.renderStyles()},n.onSetEvents=function(){cm.addEvent(this.params.resizeNode,"click",this.clickEventHandler)},n.onUnsetEvents=function(){cm.removeEvent(this.params.resizeNode,"click",this.clickEventHandler)},n.renderView=function(){var e=this;e.nodes.container=cm.node("div",{classes:"tpl__container"}),e.views.header=e.renderHeaderView({container:e.nodes.container}),e.views.content=e.renderContentView({container:e.nodes.container}),e.views.footer=e.renderFooterView({container:e.nodes.container}),e.intersections.header={target:e.views.header.nodes.container,isIntersecting:!1},e.intersections.content={target:e.views.content.nodes.container,isIntersecting:!1},e.intersections.footer={target:e.views.footer.nodes.container,isIntersecting:!1}},n.renderHeaderView=function(e){let t=this,n={nodes:{},params:cm.merge({container:cm.node("div")},e)};return n.nodes.container=cm.node("header",{classes:"tpl__header"},n.nodes.inner=cm.node("div",{classes:"tpl__header__inner"},n.nodes.top=cm.node("div",{classes:"tpl__header__top"},n.nodes.navMenu=cm.node("nav",{classes:["tpl__menu","tpl__menu--nav"]}),n.nodes.logo=cm.node("a",{classes:"header__logo header__icon",href:Router.getURL("index"),"aria-label":t.msg("header.index")},cm.node("div",{classes:"icon is-light svg__logo"}),cm.node("div",{classes:"icon is-dark svg__logo-white"}),cm.node("div",{classes:"icon is-mobile svg__logo-icon"})),n.nodes.infoMenu=cm.node("nav",{classes:["tpl__menu","tpl__menu--info"]})))),cm.getConstructor(t.params.menu.constructor,e=>{t.menu.nav=new e(cm.merge(t.params.menu.constructorParams,{name:"nav",data:t.menuConfig.nav,actions:t.menuActionsHandlers,container:n.nodes.navMenu}))}),cm.getConstructor(t.params.menu.constructor,e=>{t.menu.info=new e(cm.merge(t.params.menu.constructorParams,{name:"info",data:t.menuConfig.info,actions:t.menuActionsHandlers,container:n.nodes.infoMenu}))}),t.views.headerMenu=t.renderHeaderMenuView({container:n.nodes.container}),Application.User.isAuthorized()&&(t.views.userMenu=t.renderUserMenuView({container:n.nodes.container})),t.addEvent("onRedraw",()=>{t.redrawHeaderMenu(!0),t.redrawUserMenu(!0)}),t.addEvent("onScroll",()=>{cm.toggleClass(n.nodes.container,"is-sticky",0<cm.getBodyScrollTop()),cm.toggleClass(cm.getDocumentHtml(),"is-header-sticky",0<cm.getBodyScrollTop())}),t.addEvent("onDestruct",()=>{cm.removeClass(cm.getDocumentHtml(),"is-header-sticky")}),cm.appendChild(n.nodes.container,n.params.container),n},n.renderContentView=function(e){e={nodes:{},params:cm.merge({container:cm.node("div")},e)};
1return e.nodes.container=cm.node("main",{classes:"tpl__content",role:"main"},e.nodes.inner=cm.node("div",{classes:"tpl__content__inner"})),cm.appendChild(e.nodes.container,e.params.container),e},n.renderFooterView=function(e){let t=this,n={nodes:{},params:cm.merge({container:cm.node("div")},e)};return n.nodes.container=cm.node("footer",{classes:"tpl__footer"},n.nodes.inner=cm.node("div",{classes:"tpl__footer__inner"},cm.node("div",{classes:"footer__columns"},cm.node("section",{classes:["footer__column","footer__column--logo"]},cm.node("a",{classes:["footer__icon","footer__logo"],href:Router.getURL("index"),"aria-label":t.msg("footer.index")},cm.node("div",{classes:"icon is-light svg__logo"}),cm.node("div",{classes:"icon is-dark svg__logo-white"})),cm.node("p",t.msg("footer.copyright",{"{year}":(new Date).getFullYear()}))),cm.node("section",{classes:["footer__column"]},cm.node("h2",{classes:["footer__apps__title","p"]},t.msg("footer.apps")),Application.embedStoreLinks({classes:["is-box"]})),cm.node("section",{classes:["footer__column"]},n.nodes.menu=cm.node("div",{classes:["footer__menu","left"]})),cm.node("section",{classes:["footer__column"]},n.nodes.menuContacts=cm.node("div",{classes:["footer__menu","right"]}))))),cm.getConstructor(t.params.menu.constructor,e=>{t.menu.footer=new e(cm.merge(t.params.menu.constructorParams,{name:"footer",data:t.menuConfig.footer,actions:t.menuActionsHandlers,container:n.nodes.menu})),t.menu.footerContacts=new e(cm.merge(t.params.menu.constructorParams,{name:"footerContacts",data:t.menuConfig.footerContacts,actions:t.menuActionsHandlers,container:n.nodes.menuContacts}))}),cm.appendChild(n.nodes.container,n.params.container),n},n.renderViewModel=function(){let n=this;n.components.observer=new IntersectionObserver(n.processObserverEntries.bind(n),{root:null,rootMargin:"0px",threshold:0}),cm.forEach(n.intersections,e=>{n.components.observer.observe(e.target)}),Application.addEvent("onRouteChange",function(e,t){n.setMenu(t),n.hideMenu()}),cm.getConstructor(n.params.search.constructor,e=>{n.components.search=new e(cm.merge(n.params.search.constructorParams,{}))}),cm.getConstructor(n.params.userHelper.constructor,e=>{n.components.userHelper=new e(cm.merge(n.params.userHelper.constructorParams,{}))})},n.setMenu=function(t){cm.forEach(this.menu,e=>e.set(t))},n.hideMenu=function(){this.toggleHeaderMenu("hideManually"),this.toggleUserMenu(!1)},n.renderHeaderMenuView=function(e){let n=this,a={nodes:{},params:cm.merge({container:cm.node("div")},e)};return a.nodes.menu=cm.node("nav",{id:"header-menu",classes:["tpl__menu","tpl__menu--sidebar","tpl__menu--header","is-hidden"],role:"navigation","aria-labelledby":"header-menu-button","aria-hidden":!0}),n.renderHeaderMenus(a),n.setHeaderMenuButton(a,n.menu.nav.getItem("headerMenu")),n.menu.nav.addEvent("onItemUpdate",(e,t)=>n.setHeaderMenuButton(a,t)),cm.insertFirst(a.nodes.menuTop,a.nodes.menuInner),cm.appendChild(a.nodes.menu,a.params.container),a},n.renderHeaderMenus=function(t){let n=this;cm.getConstructor(n.params.menu.constructor,e=>{n.menu.header=new e(cm.merge(n.params.menu.constructorParams,{name:"header",data:n.menuConfig.header,actions:n.menuActionsHandlers,renderScroll:!0,container:t.nodes.menu})),t.nodes.menuInner=n.menu.header.getHolder(),Application.User.isBeauticianAll()&&(n.menu.foryou=new e(cm.merge(n.params.menu.constructorParams,{name:"foryou",data:n.menuConfig.foryou,actions:n.menuActionsHandlers,renderContainer:!1})),n.menu.header.insertMenu(n.menu.foryou,"insertFirst"))})},n.setHeaderMenuButton=function(e,t){t&&"headerMenu"===t.name&&(e.button=this.menu.nav.getItem("headerMenu"),e.nodes.button=e.button.nodes.link,e.nodes.buttonContainer=e.button.nodes.container,e.nodes.button.setAttribute("id","header-menu-button"),e.nodes.button.setAttribute("aria-haspopup",!0),e.nodes.button.setAttribute("aria-controls","header-menu"),e.nodes.button.setAttribute("aria-expanded",!1))},n.toggleHeaderMenu=function(e,n){let a=this,s=a.views.header,o=a.views.headerMenu;if(o){var r=cm._pageSize.winWidth<=cm._media.desktopDown,i=cm._pageSize.winWidth>cm._media.laptop;if("hideManually"===e){if(i)return;e=!1}if((e=cm.isBoolean(e)?e:!a.isHeaderMenuShown)!==a.isHeaderMenuShown){a.isHeaderMenuShown=e,i&&!n&&a.storageWrite("header-menu-shown-laptop",a.isHeaderMenuShown),o.nodes.button.title=a.msg(a.isHeaderMenuShown?"header.hide_menu":"header.show_menu"),o.nodes.button.setAttribute("aria-expanded",a.isHeaderMenuShown),o.nodes.menu.setAttribute("aria-hidden",!a.isHeaderMenuShown),o.nodes.menuInner.scrollTop=0,a.isHeaderMenuShown&&r?cm.bodyScroll.add(o.nodes.menu):cm.bodyScroll.remove(o.nodes.menu);let t=e=>{e&&e.target!==o.nodes.menu||(a.isHeaderMenuShown||cm.addClass(o.nodes.menu,"is-
1hidden"),cm.removeEvent(o.nodes.menu,"transitionend",t))};cm.addEvent(o.nodes.menu,"transitionend",t);e=()=>{cm.toggleClass(cm.getDocumentHtml(),"is-header-menu-shown",a.isHeaderMenuShown),cm.toggleClass(cm.getDocumentHtml(),"is-header-menu-hidden",!a.isHeaderMenuShown),cm.toggleClass(s.nodes.container,"is-menu-active",a.isHeaderMenuShown),cm.toggleClass(o.nodes.button,"is-active",a.isHeaderMenuShown),cm.toggleClass(o.nodes.menu,"is-active",a.isHeaderMenuShown),a.isHeaderMenuShown&&o.nodes.menu.focus()};a.isHeaderMenuShown&&cm.removeClass(o.nodes.menu,"is-hidden"),n?(cm.addClass(cm.getDocumentHtml(),"cm__transition-disable"),e(),t(),cm.removeClass(cm.getDocumentHtml(),"cm__transition-disable")):cm.onSchedule(e)}}},n.redrawHeaderMenu=function(t){var n=this,e=cm._pageSize.winWidth<=cm._media.desktopDown;if(e)"fullscreen"!==n.headerMenuType&&(n.headerMenuType="fullscreen",n.toggleHeaderMenu(!1,t));else if(cm._pageSize.winWidth<=cm._media.laptopDown)"overlap"!==n.headerMenuType&&(n.headerMenuType="overlap",n.toggleHeaderMenu(!1,t));else{e=cm._pageSize.winWidth>cm._media.laptop;if(e&&"attached"!==n.headerMenuType){n.headerMenuType="attached";let e=n.storageRead("header-menu-shown-laptop");cm.isBoolean(e)||(e=!0),n.contentParams.showHeaderMenu||(e=!1),n.toggleHeaderMenu(e,t)}}},n.renderUserMenuView=function(e){let n=this,a={nodes:{},params:cm.merge({container:cm.node("div")},e)};return a.nodes.menu=cm.node("nav",{id:"header-user-menu",classes:["tpl__menu","tpl__menu--sidebar","tpl__menu--user","is-hidden"],role:"menu","aria-labelledby":"header-user-button","aria-hidden":!0}),cm.getConstructor(n.params.menu.constructor,e=>{n.menu.user=new e(cm.merge(n.params.menu.constructorParams,{name:"user",data:n.menuConfig.user,actions:n.menuActionsHandlers,renderScroll:!0,container:a.nodes.menu})),a.nodes.menuInner=n.menu.user.getHolder()}),n.setUserMenuButton(a,n.menu.info.getItem("userMenu")),n.menu.info.addEvent("onItemUpdate",(e,t)=>n.setUserMenuButton(a,t)),cm.appendChild(a.nodes.menu,a.params.container),a},n.setUserMenuButton=function(e,t){t&&"userMenu"===t.name&&(e.button=this.menu.info.getItem("userMenu"),e.nodes.button=e.button.nodes.link,e.nodes.buttonContainer=e.button.nodes.container,e.nodes.button.setAttribute("id","header-user-button"),e.nodes.button.setAttribute("aria-haspopup",!0),e.nodes.button.setAttribute("aria-controls","header-user-menu"),e.nodes.button.setAttribute("aria-expanded",!1))},n.toggleUserMenu=function(e,n){let a=this,s=a.views.header,o=a.views.userMenu;if(o){var r=cm._pageSize.winWidth<=cm._media.desktopDown;if((e=cm.isBoolean(e)?e:!a.isUserMenuShow)!==a.isUserMenuShow){a.isUserMenuShow=e,o.nodes.button.title=a.msg(a.isUserMenuShow?"header.user.hide_menu":"header.user.show_menu"),o.nodes.button.setAttribute("aria-expanded",a.isUserMenuShow),o.nodes.menu.setAttribute("aria-hidden",!a.isUserMenuShow),o.nodes.menuInner.scrollTop=0,a.isUserMenuShow&&r?cm.bodyScroll.add(o.nodes.menu):cm.bodyScroll.remove(o.nodes.menu);let t=e=>{e&&e.target!==o.nodes.menu||(a.isUserMenuShow||cm.addClass(o.nodes.menu,"is-hidden"),cm.removeEvent(o.nodes.menu,"transitionend",t))};cm.addEvent(o.nodes.menu,"transitionend",t);e=()=>{cm.toggleClass(s.nodes.container,"is-menu-active",a.isUserMenuShow),cm.toggleClass(o.nodes.button,"is-active",a.isUserMenuShow),cm.toggleClass(o.nodes.menu,"is-active",a.isUserMenuShow),a.isUserMenuShow&&o.nodes.menu.focus()};a.isUserMenuShow&&cm.removeClass(o.nodes.menu,"is-hidden"),n?(cm.addClass(cm.getDocumentHtml(),"cm__transition-disable"),e(),t(),cm.removeClass(cm.getDocumentHtml(),"cm__transition-disable")):cm.onSchedule(e)}}},n.redrawUserMenu=function(e){cm._pageSize.winWidth<=cm._media.desktopDown?"fullscreen"!==this.userMenuType&&(this.userMenuType="fullscreen",this.toggleUserMenu(!1,e)):cm._pageSize.winWidth>=cm._media.desktopUp&&"dropdown"!==this.userMenuType&&(this.userMenuType="dropdown",this.toggleUserMenu(!1,e))},n.menuActions={},n.menuActions.headerMenu=function(){this.toggleHeaderMenu()},n.menuActions.userMenu=function(){this.toggleUserMenu()},n.menuActions.login=function(){this.components.userHelper.openLoginBox(),this.hideMenu()},n.menuActions.register=function(){this.components.userHelper.openRegisterBox(),this.hideMenu()},n.menuActions.logout=function(){this.components.userHelper.logout(),this.hideMenu()},n.menuActions.search=function(){this.components.search.open(),this.hideMenu()},n.renderStyles=function(){var e=this,t=Router.getCurrent(),n=e.views.header,a=e.views.footer,s=[],n=(s.push(`--header-height: ${n.nodes.container.offsetHeight}px`),s.push(`--footer-height: ${a.nodes.container.offsetHeight}
1px`),e.contentParams=cm.merge(e.params.contentParams,t?t.contentParams:{}),cm._pageSize.winWidth>=cm._config.screenTablet?e.contentParams.minHeight:e.contentParams.minHeightAdaptive),a=cm.strReplace(n,{winHeight:"100vh",winDynamicHeight:CSS.supports("height: 100dvh")?"100dvh":"100vh",winLargeHeight:CSS.supports("height: 100lvh")?"100lvh":"100vh",winSmallHeight:CSS.supports("height: 100svh")?"100svh":"100vh",header:"var(--header-height)",footer:"var(--footer-height)"});s.push(`--content-height: calc(${a})`),e.nodes.stylesheet?cm.removeCSSRule(e.nodes.stylesheet.sheet,":root",0):(e.nodes.stylesheet=document.createElement("style"),document.head.appendChild(e.nodes.stylesheet)),cm.addCSSRule(e.nodes.stylesheet.sheet,":root",s)},n.clickEvent=function(e){var e=cm.getEventTarget(e),t=this.views.headerMenu,n=this.views.userMenu;cm.isParent(t.nodes.menuInner,e,!0)||cm.isParent(t.nodes.button,e,!0)||this.toggleHeaderMenu("hideManually"),!Application.User.isAuthorized()||cm.isParent(n.nodes.menuInner,e,!0)||cm.isParent(n.nodes.button,e,!0)||this.toggleUserMenu(!1)},n.preventBlinking=function(){let e=this;cm.addClass(e.nodes.container,"cm__transition-disable"),e.blinkingInterval&&clearTimeout(e.blinkingInterval),e.blinkingInterval=setTimeout(()=>{cm.removeClass(e.nodes.container,"cm__transition-disable")},30)},n.processObserverEntries=function(e){cm.forEach(this.intersections,t=>{cm.forEach(e,e=>{t.target===e.target&&(t.isIntersecting=e.isIntersecting)})}),this.triggerEvent("onIntersecting",this.intersections)},n.getIntersections=function(){return this.intersections},n.getHeaderDimensions=function(e){var t=cm.getRect(this.views.header.nodes.container);return e?t[e]:t},n.isHeaderSticky=function(){return"fixed"===window.getComputedStyle(this.views.header.nodes.container,null).getPropertyValue("position")},n.getFooterDimensions=function(e){var t=cm.getRect(this.views.footer.nodes.container);return e?t[e]:t},n.setTheme=function(e){return this.unsetTheme(),e=cm.inArray(["dark","light"],e)?e:"light",cm.addClass(this.views.header.nodes.container,["is",e].join("-")),cm.addClass(this.views.footer.nodes.container,["is",e].join("-")),this},n.setHeaderTheme=function(e){return this.unsetTheme(),e=cm.inArray(["dark","light"],e)?e:"light",cm.addClass(this.views.header.nodes.container,["is",e].join("-")),this},n.unsetTheme=function(){return cm.removeClass(this.views.header.nodes.container,"is-light is-dark"),cm.removeClass(this.views.footer.nodes.container,"is-light is-dark"),this},n.setThemeColor=function(e,t){var n=this;return n.nodes.metaThemeColor=document.querySelector('meta[name="theme-color"]'),cm.isNode(n.nodes.metaThemeColor)||(n.nodes.metaThemeColor=cm.node("meta",{name:"theme-color"}),cm.appendChild(n.nodes.metaThemeColor,cm.getDocumentHead())),n.components.metaThemeColor||(n.components.metaThemeColor=new cm.Animation(n.nodes.metaThemeColor)),n.components.metaThemeColor.stop(),t?n.components.metaThemeColor.setAttribute("content",e):n.components.metaThemeColor.go({style:{metaColor:e},anim:"smooth",duration:cm.getCSSVariable("--header-transition-duration",n.views.header.nodes.container)}),n},n.setViewMode=function(e){return cm.isEmpty(this.viewMode)||cm.removeClass(cm.getDocumentHtml(),"viewmode--"+this.viewMode),this.viewMode=cm.isEmpty(e)?this.params.viewMode:e,cm.isEmpty(this.viewMode)||cm.addClass(cm.getDocumentHtml(),"viewmode--"+this.viewMode),cm.isEmpty(e)?this.storageRemove("viewMode"):this.storageSet("viewMode",e),this},n.getViewMode=function(){return this.viewMode},n.getContainer=function(){return this.nodes.container},n.getContentHolder=function(){return this.views.content.nodes.inner}}),cm.define("App.Tooltip",{extend:"Com.Tooltip",params:{controllerEvents:!0,targetEvent:"click",hideOnReClick:!1,hideOnSelfClick:!0,hideOnOut:!0,align:"underTopRight",alignOffset:8,theme:"theme-dark",className:"com__tooltip--notification"}},function(){Com.Tooltip.apply(this,arguments)}),cm.getConstructor("App.Tooltip",function(e,t,n,a){n.validateAlignParams=function(){switch(a.prototype.validateAlignParams.apply(this,arguments),this.params.align){case"topLeft":case"underTopLeft":this.params.animate="drop-bottom-right",this.params.arrow="top-left";break;case"topCenter":case"underTopCenter":this.params.animate="drop-bottom-center",this.params.arrow="top-center";break;case"topRight":case"underTopRight":this.params.animate="drop-bottom-left",this.params.arrow="top-right"}}}),cm.define("App.TooltipClipboard",{extend:"App.Tooltip",params:{setTargetEvent:!1,autoHide:!0}},function(){App.Tooltip.apply(this,arguments)}),cm.getConstructor("App.TooltipClipboard",function(e,t,n,a){n.copy=function(e,t){let n=this;cm.copyToClipboard(e,e=>{cm.isNode(t)&&n.setTarget(t);e=cm.node("p",n.msg(e?"success":"failed"));n.setContent(e).show()})}}),cm.define("App.TrackingManager",{extend:"Com.AbstractController",params:{name:"tracking-manager",controllerEvents:!0,renderStructure:!1,embedStructureOnRender:!1}},function(){Com.AbstractController.apply(this,arguments)}),cm.getConstructor("App.TrackingManager",function(e,t,n,a){n.onConstructStart=function(){this.services=this.getConfig(),this.categories=this.getCategories(),this.consent=null,this.currentPageView=null,this.currentEvent=null,window.TrackingManager=this},n.onConstructEnd=function(){this.loadConsent()},n.getCategories=function(){let t=[];return cm.forEach(this.services,e=>{cm.arrayAdd(t,e.category)}),t},n.loadConsent=function(){var e=this.storageGetAll();this.grantConsent(e)},n.grantConsent=function(t){cm.isEmpty(t)||(t=Object.fromEntries(this.categories.map(e=>[e,cm.isBoolean(t.all)?t.all:t[e]||!1])),this.saveConsent(t),this.initServices(t))},n.saveConsent=function(e){this.consent=e,this.storageSetAll(this.consent)},n.initServices=function(n){let a=this;
1Object.values(a.services).forEach(e=>{var t=e.isConsent;e.isConsent=n[e.category],e.isConsent&&(e.isInitialized||(e.isInitialized=!0,e.init()),a.currentPageView)&&!t&&e.isConsent&&e.pushPageView?.(...a.currentPageView)})},n.pushPageView=function(t){this.currentPageView=Array.from(arguments),Object.values(this.services).forEach(e=>{e.isConsent&&e.isInitialized&&e.pushPageView?.(t)})},n.pushEvent=function(t,n){this.currentEvent=Array.from(arguments),Object.values(this.services).forEach(e=>{e.isConsent&&e.isInitialized&&e.pushEvent?.(t,n)})}}),cm.getConstructor("App.TrackingManager",function(e,t,n){n.getConfig=function(){return{googleAnalytics:{name:"Google Analytics",category:"analytics",init:()=>{function e(){dataLayer.push(arguments)}window.dataLayer=window.dataLayer||[],(window.gtag=e)("js",new Date),e("config",App._env.googleTagID,{send_page_view:!1}),cm.addScript("https://www.googletagmanager.com/gtag/js?id="+App._env.googleTagID,!0)},pushPageView:e=>{cm.isUndefined(window.gtag)||window.gtag("event","page_view",{page_title:document.title,page_location:window.location.href})},pushEvent:(e,{category:t,action:n,label:a})=>{cm.isUndefined(window.gtag)||window.gtag("event",n,{event_label:a,event_category:t})}},redditPixel:{name:"Reddit Pixel",category:"analytics",init:()=>{var e,t,n;e=window,t=document,e.rdt||((n=e.rdt=function(){n.sendEvent?n.sendEvent.apply(n,arguments):n.callQueue.push(arguments)}).callQueue=[],(e=t.createElement("script")).src="https://www.redditstatic.com/ads/pixel.js",e.async=!0,(t=t.getElementsByTagName("script")[0]).parentNode.insertBefore(e,t)),rdt("init",App._env.redditPixelID)},pushPageView:e=>{cm.isUndefined(window.rdt)||window.rdt("track","PageVisit")}}}}}),cm.define("App.UploadPolicyConfirmContainer",{extend:"App.ConfirmDialogContainer",params:{constructor:"App.UploadPolicyConfirm",placeholderParams:{constructorParams:{width:App._config.dialog.widthHalf,theme:"theme-light"}},buttons:{false:{classes:["button-transparent"]},true:{classes:["button-primary"]}}}},function(e){App.ConfirmDialogContainer.apply(this,arguments)}),cm.define("App.UploadPolicyConfirm",{extend:"App.ConfirmDialog",params:{}},function(){App.ConfirmDialog.apply(this,arguments)}),cm.getConstructor("App.UploadPolicyConfirm",function(e,t,n,a){n.renderView=function(){this.nodes.container=cm.node("section",{classes:["tpl__section"]},cm.node("div",{classes:"inner"},cm.node("div",{classes:"section__content"},cm.node("div",{classes:["section__entry"],innerHTML:this.msg("description")}),cm.node("hr",{classes:["section__divider","is-box"]}),cm.node("div",{classes:["section__entry"],innerHTML:this.msgParse("hint",{policyUrl:Router.getURL("page",null,{id:"image-authenticity-policy"})})}))))},n.actionTrue=function(){var e={"upload-policy-notice":(new Date).toISOString()};Application.User.updateParams(e),UserHelper.updateUserParams(e),a.prototype.actionTrue.apply(this,arguments)}}),cm.getConstructor("App.Application",function(e,t,n){n.User={},n.userSetToken=function(e){Application.storageRemove("renew",!0),cm.isEmpty(e)||(cm.storageSet("token",e.token),cm.storageSet("refresh",e.refresh))},n.userClearToken=function(){Application.storageRemove("renew",!0),cm.storageRemove("token"),cm.storageRemove("refresh")},n.userGetToken=function(){return cm.storageGet("token")},n.userGetRefreshToken=function(){return cm.storageGet("refresh")},n.userDecodeToken=function(e){if(e=cm.isEmpty(e)?Application.userGetToken():e,!cm.isEmpty(e)){try{var t=jwt_decode(e);return cm.isObject(t)?t:null}catch(e){cm.errorLog({type:"error",name:"Application.userDecodeToken",message:"Unable to decode user token: "+e})}return null}},n.userGetID=function(e){e=Application.userDecodeToken(e);if(!cm.isEmpty(e))return e.user},n.userGetAccessTokenHeader=function(e){var t=Application.userGetToken();return e=cm.isUndefined(e)?{}:e,cm.isEmpty(t)||(e.Authorization="Bearer "+t),e},n.userGetRefreshTokenHeader=function(e){var t=Application.userGetRefreshToken();return e=cm.isUndefined(e)?{}:e,cm.isEmpty(t)||(e.Authorization=t),e},n.userRefreshToken=function(){return Application.User.isAuthorized()&&this.components.userRefresh?.refresh(),this},n.User.getRoles=function(e){var t={common:["unauthorized","consumer","admin"],brand:["brand","linked_user","dataset_user"],beautician:["tech","salon"],beauticianPending:["student"],beauticianAll:["tech","salon","student"]};return t[e]||[...new Set(Object.values(t).flat())]},n.User.getRole=function(e){e=Application.userDecodeToken(e);return cm.isEmpty(e)?"unauthorized":e.role}
1,n.User.checkRoleAccess=function(e){var t=Application.User.isAuthorized(),n=Application.User.getRole();return!0===e||"all"===e||"unauthorized"===e&&!t||"authorized"===e&&t||"nonBeauticianAll"===e&&Application.Blog.checkAudienceAccess("nonBeauticianAll")||"nonBeautician"===e&&Application.Blog.checkAudienceAccess("nonBeautician")||"beautician"===e&&Application.Blog.checkAudienceAccess("beautician")||cm.inArray(e,n)},n.User.isAuthorized=function(){var e=Application.userGetToken();return!cm.isEmpty(e)},n.User.login=function(e,t){Application.userSetToken(e),Application.restart(t)},n.User.logout=function(e){Application.userClearToken(),Application.userClearProfile(),Application.User.clearParams(),Application.User.clearNotifications(),Application.restart(e)},n.User.setParams=function(e){cm.isObject(e)&&(cm.storageSet("params",cm.stringifyJSON(e)),cm.hook.trigger("user.params.update",e))},n.User.updateParams=function(e){cm.isObject(e)&&!cm.isEmpty(e)&&(e=cm.merge(Application.User.getParams(),e),cm.storageSet("params",cm.stringifyJSON(e)),cm.hook.trigger("user.params.update",e))},n.User.getParams=function(e){var t=cm.storageGet("params");try{var n=cm.parseJSON(t);return cm.isEmpty(e)?n||{}:n[e]}catch{return cm.isEmpty(e)?{}:void 0}},n.User.clearParams=function(){cm.storageRemove("params")},n.User.setNotifications=function(e){cm.isEmpty(e)||(e=cm.stringifyJSON(e),cm.storageSet("notifications",e))},n.User.getNotifications=function(e){var t=cm.parseJSON(cm.storageGet("notifications"));return!cm.isEmpty(e)&&t?t[e]:t},n.User.clearNotifications=function(){cm.storageRemove("notifications")},n.User.setProfile=function(e){cm.isObject(e)&&!cm.isEmpty(e)&&(cm.storageSet("profile",cm.stringifyJSON(e)),cm.hook.trigger("user.profile.update",e),Application.User.setParams(e.params))},n.User.updateProfile=function(e){cm.isObject(e)&&!cm.isEmpty(e)&&(e=cm.merge(Application.userGetProfile(),e),cm.storageSet("profile",cm.stringifyJSON(e)),cm.hook.trigger("user.profile.update",e),Application.User.updateParams(e.params))},n.userClearProfile=function(){cm.storageRemove("profile")},n.userGetProfile=function(){var e=cm.storageGet("profile");return cm.parseJSON(e)},n.userGetProfileName=function(e){if(e=void 0!==e?e:Application.userGetProfile(),!cm.isEmpty(e)&&(e.profile||={},cm.isEmpty(e.firstname)||(e.profile.firstname||=e.firstname),cm.isEmpty(e.lastname)||(e.profile.lastname||=e.lastname),!cm.isEmpty(e.profile)))return"salon"===e.role||cm.isEmpty(e.profile.firstname)?e.profile.lastname:e.profile.firstname+" "+e.profile.lastname},n.userGetProfileEmail=function(e){return(e=void 0!==e?e:Application.userGetProfile())?.email},n.userGetProfileShortname=function(e){return(e=void 0!==e?e:Application.userGetProfile())?.shortname},n.userGetProfileRole=function(e){return(e=void 0!==e?e:Application.userGetProfile())?.role},n.User.getProfileURL=function(e,t){if(e=void 0!==e?e:Application.userGetProfile(),t=cm.merge({type:"relative"},t),!cm.isEmpty(e)){var n=cm.isEmpty(e.shortname)?"user.profile":"user.profile.shortname",a={id:e.id,shortname:e.shortname};switch(t.type){case"urlParams":return a;case"routeParams":return[n,null,{urlParams:a}];case"absolute":return Router.getFullURL(n,null,a);default:return Router.getURL(n,null,a)}}},n.User.getProfileLocation=function(t){if(t=void 0!==t?t:Application.userGetProfile(),!cm.isEmpty(t)&&!cm.isEmpty(t.profile)){var{location:t,longitude:n,latitude:a,geo:s}=t.profile;let e=null;if(cm.isEmpty(t)||(e=t),cm.isEmpty(n)||cm.isEmpty(a)||(e={lng:n,lat:a}),e=cm.isEmpty(s)?e:{lng:s[0],lat:s[1]})return{lng:parseFloat(e.lng),lat:parseFloat(e.lat)}}},n.User.getProfilePrivacy=function(e){if(e=void 0!==e?e:Application.userGetProfile(),!cm.isEmpty(e)&&!cm.isEmpty(e.publicVisibility)){let t={};return cm.forEach(e.publicVisibility,e=>{t[e.field]=e.status}),t}},n.User.getProfileAvatar=function(e,t){if(e=void 0!==e?e:Application.userGetProfile(),t=cm.isUndefined(t)?App._config.user.avatarWidth:t,!(cm.isEmpty(e)||cm.isEmpty(e.profile)||cm.isEmpty(e.profile.image)))return e=cm.isObject(e.profile.image)?e.profile.image.id:e.profile.image,Application.Images.getSrc(e,{maxwidth:t})},n.User.getProfileCover=function(e,t){if(e=void 0!==e?e:Application.userGetProfile(),t=cm.isUndefined(t)?App._config.user.coverWidth:t,!(cm.isEmpty(e)||cm.isEmpty(e.profile)||cm.isEmpty(e.profile.cover)))return e=cm.isObject(e.profile.cover)?e.profile.cover.id:e.profile.cover,Application.Images.getSrc(e,{maxwidth:t})},n.User.isProfileVisible=function(e){return e=void 0!==e?e:Application.userGetProfile(),!(!cm.isEmpty(e)&&!cm.isEmpty(e.publicVisibility))||e.publicVisibility.some(e=>e.status&&"all"===e.field)},n.User.validateProfile=function(e,t){e={data:void 0!==e?e:Application.userGetProfile(),options:cm.merge({markPrivate:!1,populateData:!0},t)};return cm.isString(e.data)&&(e.data={id:e.data}),e.isDeleted=cm.isEmpty(e.data),e.isMe=!e.isDeleted&&Application.User.isMe(e.data),e.isBrand=!e.isDeleted&&Application.User.isBrand(e.data),e.isBeautician=!e.isDeleted&&Application.User.isBeautician(e.data),e.isBeauticianPending=!e.isDeleted&&Application.User.isBeauticianPending(e.data),e.isBeauticianAll=!e.isDeleted&&Application.User.isBeauticianAll(e.data),e.isPublic=!e.isDeleted&&Application.User.isProfileVisible(e.data),e.isEmploymentCounterparty=!e.isDeleted&&Application.User.isEmploymentCounterparty(e.data),!e.isPublic&&e.isMe&&e.options.populateData&&(e.data=Application.userGetProfile()),e.role=Application.userGetProfileRole(e.data),e.route=Application.User.getProfileURL(e.data),e.href=Application.User.getProfileURL(e.data,{type:"absolute"}),e.name=Application.userGetProfileName(e.data),e.location=Application.User.getProfileLocation(e.data),e.privacy=Application.User.getProfilePrivacy(e.data),e.isHiring=!e.isDeleted&&"salon"===e.role&&"yes"===e.data.lookingForTalents,e.isDeleted?e.placeholder=Application.msg("User.placeholder.deleted"):e.isPublic?cm.isEmpty(e.name)&&(e.placeholder=Application.msg("User.placeholder.default")):e.placeholder=Application.msg("User.placeholder.private"),e.isPlaceholder=!cm.isEmpty(e.placeholder)&&(cm.isEmpty(e.name)||!e.isMe&&e.options.markPrivate),e.isPlaceholder&&(e.name=e.placeholder),e},n.checkDebugAccess=function(){return App._env.debug||Application.checkSpecialUserAccess()},n.checkSpecialUserAccess=function(){var e=App._config.specialUsers[App._env.environment]||Ap
1p._config.specialUsers.dev;return Application.User.isAuthorized()&&(App._env.debug||"admin"===Application.userGetProfileRole()||cm.inArray(e,Application.userGetID()))},n.User.isMe=function(e){return!(!Application.User.isAuthorized()||cm.isEmpty(e))&&(e.id&&e.id===Application.userGetID()||e.shortname&&e.shortname===Application.userGetProfileShortname())},n.User.isBeautician=function(e){return cm.inArray(Application.User.getRoles("beautician"),cm.isString(e)?e:Application.userGetProfileRole(e))},n.User.isBeauticianPending=function(e){return cm.inArray(Application.User.getRoles("beauticianPending"),cm.isString(e)?e:Application.userGetProfileRole(e))},n.User.isBeauticianAll=function(e){return Application.User.isBeautician(e)||Application.User.isBeauticianPending(e)},n.User.isBrand=function(e){return cm.inArray(Application.User.getRoles("brand"),cm.isString(e)?e:Application.userGetProfileRole(e))},n.User.isEmploymentCounterparty=function(e){var t="tech"===Application.userGetProfileRole(e)?"salon":"tech";return!Application.User.isMe(e)&&Application.User.isBeautician()&&Application.User.getRole()===t},n.User.isProductPurchased=function(e,t){return(e=void 0!==e?e:Application.userGetProfile()).orders?.find(e=>"completed"===e.status&&e.products.find(e=>e.id===t))},n.User.convertToOption=function(e,t){var n,a;if(t=cm.merge({renderCard:!1},t),!cm.isEmpty(e))return cm.isObject(e)?e.isPlaceholder?e:(a={value:(n=Application.User.validateProfile(e)).data.id,text:n.name},t.renderCard&&(a.textNode=Application.User.embedCard(n.data,{modifiers:["user-select"],classes:["no-padding"],renderLink:!1,avatar:{size:"small",renderHiring:!1},user:{tagName:"p",classes:["is-nowrap"]}})),a):{value:e,text:e}},n.User.renderName=function(e,t){let n={data:e,nodes:{},user:{},params:cm.merge({classes:["is-wrap"],modifiers:[],tagName:"div",fit:!1,showTitle:!0,badge:{},renderBadge:!0,renderHiring:!1,markPrivate:!1,renderSkeleton:!1,container:cm.node("div")},t)};return n.user=Application.User.validateProfile(n.data,{markPrivate:n.params.markPrivate}),n.params.showTitle=!n.params.renderSkeleton&&n.params.showTitle,n.params.renderHiring&&=n.user.isHiring,n._classes=cm.merge(["app__user-name"],n.params.classes),n.user.isDeleted&&n._classes.push("is-deleted"),n.user.isPublic||n.user.isMe||!n.params.markPrivate||n._classes.push("is-private"),cm.forEach(n.params.modifiers,e=>{n._classes.push("app__user-name--"+e)}),n.nodes.container=cm.node(n.params.tagName,{classes:n._classes},n.nodes.label=cm.node("div",{classes:"app__user-label"})),n.params.renderSkeleton?(n.nodes.skeleton=Application.embedTextSkeleton({length:cm.rand(24,40)}),cm.appendChild(n.nodes.skeleton,n.nodes.label)):cm.appendChild(cm.textNode(n.user.n
1ame),n.nodes.label),n.params.showTitle&&(n.nodes.label.title=n.user.name),(n.params.renderBadge||n.params.renderHiring)&&(cm.addClass(n.nodes.container,"has-badge"),n.nodes.badges=cm.node("div",{classes:"app__user-badges"}),cm.appendChild(n.nodes.badges,n.nodes.container)),n.params.renderBadge&&(n.nodes.badge=Application.User.embedRoleBadge(n.data,n.params.badge),cm.appendChild(n.nodes.badge,n.nodes.badges)),n.params.renderHiring&&(n.nodes.hiring=Application.User.embedBadge({modifiers:["hiring"],label:Application.msg("User.hiring.label")}),cm.appendChild(n.nodes.hiring,n.nodes.badges)),n.params.fit&&(cm.addClass(n.nodes.container,"is-fit"),App.textFit.observe(n.nodes.label,n.nodes.container,()=>{cm.addClass(n.nodes.label,"is-nowrap");var e=n.nodes.container.clientWidth/n.nodes.label.clientWidth*100,e=100<=e?100:e<50?50:e;return cm.toggleClass(n.nodes.label,"is-nowrap",50!=e),e}),cm.customEvent.add(n.nodes.container,"destruct",()=>App.textFit.unobserve(n.nodes.label))),cm.appendChild(n.nodes.container,n.nodes.params),n},n.User.embedName=function(){return Application.User.renderName.apply(this,arguments).nodes.container},n.User.renderLink=function(e,t){let n={data:e,nodes:{},user:{},params:cm.merge({tagName:"div",classes:["is-wrap"],modifiers:[],link:null,linkClasses:["has-hover"],renderLink:!0,noRoute:!1,target:"_self",renderAvatar:!1,avatarSize:"small",avatarImage:null,renderBadge:!0,markPrivate:!1,container:cm.node("div")},t)};return n.user=Application.User.validateProfile(n.data,{markPrivate:n.params.markPrivate}),n.params.renderLink=!(cm.isEmpty(n.params.link)&&(n.user.isDeleted||!n.user.isPublic&&!n.user.isMe))&&n.params.renderLink,n.params.renderLink&&(n.params.classes=cm.merge(n.params.classes,n.params.linkClasses)),n._tagName=n.params.renderLink?"a":n.params.tagName,n._href=cm.isEmpty(n.params.link)?n.user.route:n.params.link,n._classes=cm.merge(["app__user-link"],n.params.classes),n.user.isDeleted&&n._classes.push("is-deleted"),n.user.isPublic||n.user.isMe||!n.params.markPrivate||n._classes.push("is-private"),cm.forEach(n.params.modifiers,e=>{n._classes.push("app__user-link--"+e)}),n.nodes.container=Application.User.embedName(n.data,{tagName:n._tagName,classes:n._classes,renderBadge:n.params.renderBadge,markPrivate:n.params.markPrivate}),n.params.renderLink&&"a"===n._tagName&&(cm.isEmpty(n._href)||(n.nodes.container.href=n._href),cm.isEmpty(n.params.target)||(n.nodes.container.target=n.params.target),n.params.noRoute)&&(n.nodes.container.dataset.noRoute="true"),n.params.renderAvatar&&(n.nodes.avatar=Application.User.embedAvatar(n.data,{modifiers:["link"],size:n.params.avatarSize,image:n.params.avatarImage}),cm.insertFirst(n.nodes.avatar,n.nodes.container)),cm.appendChild(n.nodes.container,n.nodes.params),n},n.User.embedLink=function(){return Application.User.renderLink.apply(this,arguments).nodes.container},n.User.renderAvatar=function(e,t){let n={data:e,user:{},nodes:{},isEmpty:!1,params:cm.merge({container:cm.node("div"),insertMethod:"appendChild",renderSkeleton:!1,renderEmpty:!0,renderBlank:!0,renderHiring:!1,tagName:"div",modifiers:[],classes:[],width:App._config.user.avatarWidth,size:null,alt:null,image:null,blank:{default:App.getPath("common.img","svg/user-colored.svg?version=1.1"),salon:App.getPath("common.img","svg/salon-colored.svg?version=1.1"),student:App.getPath("common.img","svg/student-colored.svg?version=1.1")},deleted:{default:App.getPath("common.img","svg/user-grey.svg"),salon:App.getPath("common.img","svg/salon-grey.svg"),student:App.getPath("common.img","svg/student-grey.svg")},private:{default:App.getPath("common.img","svg/user-grey.svg"),salon:App.getPath("common.img","svg/salon-grey.svg"),student:App.getPath("common.img","svg/student-grey.svg")},overlay:!1,controls:[],onLoad:()=>{}},t)};return n.user=Application.User.validateProfile(n.data),n.params.renderHiring&&=n.user.isHiring,n._width=App._config.user.avatarSizes[n.params.size]||n.params.width,n._imageSrc=cm.isEmpty(n.params.image)?Application.User.getProfileAvatar(n.data,n._width):n.params.image,n._blank=n.params.blank,n.user.isMe||(n.user.isPublic||(n._blank=n.params.private),n.user.isDeleted&&(n._blank=n.params.deleted)),n._blankSrc=n._blank[n.user.role]||n._blank.default,n.isEmpty=cm.isEmpty(n._imageSrc)&&!n.params.renderEmpty,n._classes=cm.merge(n.params.classes,["app__user-avatar"]),n.params.renderSkeleton&&n._classes.push("is-skeleton"),n.params.renderHiring&&n._classes.push("is-hiring"),cm.isEmpty(n._imageSrc)&&n.params.modifiers.push("blank"),cm.forEach(n.params.modifiers,e=>{n._classes.push("app__user-avatar--"+e)}),cm.isEmpty(n.params.alt)?n.params.renderHiring?n.alt=Application.msg("User.hiring.alt",{"{name}
1":n.user.name}):n.alt=n.user.name:n.alt=n.params.alt,n.nodes.container=cm.node(n.params.tagName,{classes:n._classes}),n.params.renderHiring&&(n.nodes.hiring=cm.node("div",{classes:"app__user-avatar__hiring"}),cm.appendChild(n.nodes.hiring,n.nodes.container),n.nodes.badge=Application.User.embedBadge({modifiers:["avatar-hiring"],label:Application.msg("User.hiring.badge"),title:Application.msg("User.hiring.label")}),cm.appendChild(n.nodes.badge,n.nodes.container)),n.image=Application.Images.render({image:n._imageSrc,blank:n.params.renderBlank?n._blankSrc:null,alt:n.alt,overlay:n.params.overlay,tools:{middleCenter:n.params.controls},toolsClasses:{middleCenter:["pull","middle-center","is-large","no-padding"]},renderSkeleton:n.params.renderSkeleton,container:n.nodes.container,classes:["is-cover","is-tools-hover"],imageDataset:{pinNopin:"true"},onLoad:n.params.onLoad}),n.isEmpty||cm[n.params.insertMethod](n.nodes.container,n.params.container),n},n.User.embedAvatar=function(){return Application.User.renderAvatar.apply(this,arguments).nodes.container},n.User.renderCover=function(e,t){let n={data:cm.merge(e,{}),nodes:{},params:cm.merge({container:cm.node("div"),insertMethod:"appendChild",renderSkeleton:!1,renderBlank:!0,modifiers:[],width:App._config.user.avatarWidth,alt:null,blank:App.getPath("template.img","cover.png"),controls:[],onLoad:()=>{}},t)};return n._imageSrc=Application.User.getProfileCover(n.data,n.params.imageWidth),n._imageSrcset=[],cm.isEmpty(n._imageSrc)||cm.forEach(App._config.user.coverWidths,e=>{n._imageSrcset.push([Application.User.getProfileCover(n.data,e),e+"w"])}),n._classes=["app__user-cover"],n.params.renderSkeleton&&n._classes.push("is-skeleton"),cm.isEmpty(n._imageSrc)&&n.params.modifiers.push("blank"),cm.forEach(n.params.modifiers,function(e){n._classes.push(["app__user-cover",e].join("--"))}),n.nodes.container=cm.node("div",{classes:n._classes}),n.image=Application.Images.render({image:n._imageSrc,srcset:n._imageSrcset,sizes:[["100vw"]],blank:n.params.renderBlank?n.params.blank:null,alt:cm.isEmpty(n.params.alt)?Application.userGetProfileName(n.data):n.params.alt,tools:{bottomRight:n.params.controls},toolsClasses:{bottomRight:["pull","bottom-right","middle-right-sm","is-large","no-padding"]},renderSkeleton:n.params.renderSkeleton,container:n.nodes.container,classes:["is-cover","is-tools-hover"],onLoad:n.params.onLoad}),cm[n.params.insertMethod](n.nodes.container,n.params.container),n},n.User.embedCover=function(){return Application.User.renderCover.apply(this,arguments).nodes.container},n.User.embedBadge=function(e){e=cm.merge({tagName:"div",modifiers:[],inline:!1,disabled:!1,label:"",ttile:""},e);let t=["app__user-badge"];return cm.forEach(e.modifiers,e=>{t.push("app__user-badge--"+e)}),e.inline&&t.push("inline"),e.disabled&&t.push("disabled"),cm.node(e.tagName,{classes:t,title:e.title},e.label)},n.User.embedRoleBadge=function(e,t){if(e=void 0!==e?e:Application.userGetProfile(),!cm.isEmpty(e)&&Application.User.isBeauticianAll(e))return t=cm.merge({format:"long"},t),e=Application.userGetProfileRole(e),e=Application.msgObject("short"===t.format?"roleShort":"role")[e]??e,Application.User.embedBadge({...t,label:e})},n.User.renderSpeciality=function(e,t){let n={nodes:{groups:{},items:[]},data:e,params:cm.merge({speciality:{},renderEmpty:!0,classes:[],modifiers:[],container:cm.node("div")},t)};return n._classes=cm.merge(["app__user-speciality"],n.params.classes),cm.forEach(n.params.modifiers,e=>{n._classes.push("app__user-speciality--"+e)}),n.nodes.container=cm.node("div",{classes:n._classes}),cm.forEach(n.data,t=>{t=n.params.speciality[t];if(t){t.group=t.group.trim(),t.title=t.title.trim(),t.titleParts=t.title.split(" - "),t.titleShort=1<t.titleParts.length&&30<t.title.length?t.titleParts[0]+" â":t.title;let e=n.nodes.groups[t.group];e||(e=cm.node("dl",cm.node("dt",cm.node("span",t.group))),n.nodes.groups[t.group]=e,cm.appendChild(e,n.nodes.container));t=cm.node("dd",{title:t.title,innerHTML:t.titleShort});n.nodes.items.push(t),cm.appendChild(t,e)}}),cm.isEmpty(n.nodes.items)&&n.params.renderEmpty&&(n.nodes.empty=cm.node("div",{classes:"cm__empty--inline"},Application.msg("speciality.empty")),cm.appendChild(n.nodes.empty,n.nodes.container)),cm.appendChild(n.nodes.container,n.params.container),n},n.User.embedSpeciality=function(){return Application.User.renderSpeciality.apply(this,arguments).nodes.container},n.User.convertSpecialityToList=function(e,t){let n={};return cm.isObject(e)?cm.forEach(e,(e,t)=>{n={...n,...Application.User.convertSpecialityToList(e,t)}}):cm.forEach(e,e=>{n[e.id]={...e,group:cm.isEmpty(t)?e.group:t}}),n},n.User.embedConfirmMessage=function(e,t){return cm.node("div",{classes:"section__block"},cm.node("div",{classes:"section__user"},Application.User.embedCard(e,{modifiers:["user-vertical"],classes:["n
1o-padding"],renderLink:!1,avatar:{size:"large"},user:{render:!0,tagName:"h4",renderBadge:!1},description:{render:!0,classes:["card__block","is-flex"],renderBadge:!0}})),t)},n.User.renderHomeAction=function(e){var e={nodes:{},entries:{},params:cm.merge({container:cm.node("div"),classes:[],modifiers:["editable"]},e)},t=Application.Blog.checkAudienceAccess("beautician")?"dashboard":"profile",n=Application.Blog.checkAudienceAccess("beautician")?"user.dashboard":"user.profile.me";return e.nodes.container=Application.Buttons.embed({label:Application.msg("user.actions."+t),classes:e.params.classes,modifiers:e.params.modifiers,link:Router.getURL(n),icons:{before:"chevronLeft"}}),cm.appendChild(e.nodes.container,e.params.container),e},n.User.embedHomeAction=function(){return Application.User.renderHomeAction.apply(this,arguments).nodes.container},n.User.renderCard=function(e,t){let n={data:e,nodes:{},components:{},user:{},params:cm.merge({tagName:"div",defaultClasses:["is-flex"],classes:[],modifiers:[],link:null,linkClasses:["has-hover"],renderLink:!0,noRoute:!1,target:null,avatar:{render:!0,size:"default",image:null,renderEmpty:!0,renderHiring:!1},user:{render:!0,tagName:"h5",classes:[],renderBadge:!0,markPrivate:!1,renderSkeleton:!1},description:{render:!1,content:null,entry:null,tagName:"h6",classes:["h7"],renderBadge:!1,badgeInsertMethod:"appendChild",renderHiring:!1},editable:{enable:!1,content:null,callback:null,icon:{icon:"edit",classes:["size-field","inset-medium"],modifiers:["action"]}},badge:{},callback:null,container:cm.node("div"),insertMethod:"appendChild"},t)};return n.user=Application.User.validateProfile(n.data,{markPrivate:n.params.user.markPrivate}),n.params.renderLink=!(cm.isEmpty(n.params.link)&&(n.user.isDeleted||!n.user.isPublic&&!n.user.isMe))&&n.params.renderLink,n.params.renderLink&&(n.params.defaultClasses=cm.merge(n.params.defaultClasses,n.params.linkClasses)),n.params.classes=cm.merge(n.params.defaultClasses,n.params.classes),n._tagName=n.params.renderLink?"a":n.params.tagName,n._href=cm.isEmpty(n.params.link)?n.user.route:n.params.link,n._classes=cm.merge(["app__card"],n.params.classes),n.user.isDeleted&&n._classes.push("is-deleted"),n.user.isPublic||n.user.isMe||!n.params.user.markPrivate?(n.params.avatar.renderHiring&&=n.user.isHiring,n.params.description.renderHiring&&=n.user.isHiring):(n._classes.push("is-private"),n.params.avatar.renderHiring=!1,n.params.user.renderBadge=!1,n.params.user.renderHiring=!1,n.params.description.renderBadge=!1,n.params.description.renderHiring=!1),cm.forEach(n.params.modifiers,e=>{n._classes.push("app__card--"+e)}),n.nodes.container=cm.node(n._tagName,{classes:n._classes},n.nodes.inner=cm.node("div",{classes:"inner"})),n.params.renderLink&&"a"===n._tagName&&(cm.isEmpty(n._href)||(n.nodes.container.href=n._href),n.params.noRoute&&(n.nodes.container.dataset.noRoute="true"),cm.isEmpty(n.params.target)||(n.nodes.container.target=n.params.target)),n.params.avatar.render&&(n.nodes.avatar=cm.node("div",{classes:"card__icon","aria-hidden":"true"}),n.components.avatar=Application.User.renderAvatar(n.data,cm.merge(n.params.avatar,{container:n.nodes.avatar,modifiers:["card","card-"+n.params.avatar.size],renderSkeleton:n.params.user.renderSkeleton})),n.components.avatar.isEmpty||cm.appendChild(n.nodes.avatar,n.nodes.inner)),n._userClasses=cm.merge(["card__username"],n.params.user.classes),n.nodes.content=cm.node("div",{classes:"card__content"},Application.User.embedName(n.data,{tagName:n.params.user.tagName,classes:n._userClasses,badge:n.params.badge,renderBadge:n.params.user.renderBadge,markPrivate:n.params.user.markPrivate,renderSkeleton:n.params.user.renderSkeleton})),cm.appendChild(n.nodes.content,n.nodes.inner),n.params.description.render&&(n._descriptionClasses=cm.merge(["card__description"],n.params.description.classes),cm.isNode(n.params.description.content)?(n.nodes.description=n.params.description.content,cm.addClass(n.nodes.description,n._descriptionClasses)):(n.nodes.description=cm.node(n.params.description.tagName,{classes:n._descriptionClasses}),cm.isEmpty(n.params.description.content)||(n.nodes.description.innerHTML=n.params.description.content)),(n.params.description.renderBadge||n.params.description.renderHiring)&&(cm.addClass(n.nodes.description,"has-badge"),n.nodes.descriptionBadges=cm.node("div",{classes:"app__user-badges"}),cm[n.params.description.badgeInsertMethod](n.nodes.descriptionBadges,n.nodes.description)),n.params.description.renderBadge&&(n.nodes.descriptionBadge=Application.User.embedRoleBadge(n.data,n.params.badge),
1cm.appendChild(n.nodes.descriptionBadge,n.nodes.descriptionBadges)),n.params.description.renderHiring&&(n.nodes.descriptionHiring=Application.User.embedBadge({modifiers:["hiring"],label:Application.msg("User.hiring.label")}),cm.appendChild(n.nodes.descriptionHiring,n.nodes.descriptionBadges)),cm.isNode(n.params.description.entry)&&(n.nodes.descriptionEntry=n.params.description.entry,cm.appendChild(n.nodes.descriptionEntry,n.nodes.description)),!cm.isEmpty(n.params.description.content)||n.params.description.entry&&n.nodes.descriptionEntry||n.params.description.renderBadge&&n.nodes.descriptionBadge)&&cm.appendChild(n.nodes.description,n.nodes.content),n.params.editable.enable&&(n._editableClasses=cm.merge(["card__action"],n.params.editable.classes),cm.isNode(n.params.editable.content)?(n.nodes.editable=n.params.editable.content,cm.addClass(n.nodes.editable,n._editableClasses)):n.nodes.editable=cm.node("div",{classes:n._editableClasses},n.nodes.editableIcon=Application.Images.embedIcon(n.params.editable.icon)),cm.isFunction(n.params.editable.callback)&&(n.nodes.editable.setAttribute("role","button"),n.nodes.editable.setAttribute("tabindex",0),cm.click.add(n.nodes.editable,n.params.editable.callback)),cm.addEvent(n.nodes.editable,"mouseenter",()=>n.params.renderLink&&cm.replaceClass(n.nodes.container,n.params.linkClasses,"no-hover")),cm.addEvent(n.nodes.editable,"mouseleave",()=>n.params.renderLink&&cm.replaceClass(n.nodes.container,"no-hover",n.params.linkClasses)),cm.appendChild(n.nodes.editable,n.nodes.inner)),cm.isFunction(n.params.callback)&&(n.nodes.container.setAttribute("role","button"),n.nodes.container.setAttribute("tabindex",0),cm.click.add(n.nodes.container,n.params.callback)),cm[n.params.insertMethod](n.nodes.container,n.params.container),n},n.User.embedCard=function(){return Application.User.renderCard.apply(this,arguments).nodes.container},n.User.renderDetailedCard=function(e,t){let n={data:e,nodes:{},user:{},fields:[],params:cm.merge({tagName:"div",container:cm.node("div"),insertMethod:"appendChild",classes:[],modifiers:["map-info"],renderDivider:!0,card:{classes:[],modifiers:[]},user:{render:!0,renderBadge:!1,markPrivate:!0,classes:["is-nowrap"]},description:{render:!0,renderBadge:!0,renderHiring:!0,classes:["card__block","is-flex","h7"]},address:{render:!0,renderTitle:!1,renderPlaceholder:!1,showTitle:!1},speciality:{render:!0,list:[],modifiers:[]},licenses:{render:!0,modifiers:[],constructor:"App.UserLicensesBox",constructorParams:{className:["is-list"],iconClasses:["x-large","is-field"],iconCompact:!0,renderLabel:!1,renderActions:!1}},editable:{}},t)};return n.user=Application.User.validateProfile(n.data),n.params.classes=cm.extend(["app__user-card"],n.params.classes),cm.forEach(n.params.modifiers,e=>{n.params.classes.push("app__user-card--"+e)}),n.params.card.modifiers=cm.extend(n.params.card.modifiers,n.params.modifiers),n.params.card.user=n.params.user,n.params.card.description=n.params.description,n.params.card.editable=n.params.editable,n.params.speciality.modifiers=cm.extend(n.params.speciality.modifiers,n.params.modifiers),n.params.licenses.modifiers=cm.extend(n.params.licenses.modifiers,n.params.modifiers),n.nodes.container=cm.node(n.params.tagName,{classes:n.params.classes},n.nodes.header=cm.node("div",{classes:"card__header"}),n.nodes.fields=cm.node("div",{classes:"card__fields"})),n.user.isPlaceholder&&(n.data.profile||={},n.data.profile.address=App._placeholders.address[Math.floor(Math.random()*App._placeholders.address.length)],n.data.licenses=App.getRandomSubset(App._placeholders.licenses,1,2),cm.isEmpty(n.params.speciality.list)||(n.data.speciality=App.getRandomSubset(Object.keys(n.params.speciality.list),1,3)),n.nodes.fields.setAttribute("aria-hidden","true"),cm.addClass(n.nodes.fields,"is-blurred")),n.card=Application.User.renderCard(n.data,cm.merge(n.params.card,{container:n.nodes.header})),!n.params.address.render||!n.params.address.renderPlaceholder&&cm.isEmpty(n.data.profile?.address)||(n.nodes.address=cm.node("dl",{classes:["pt__field","pt__field--profile","is-box","is-text"]},cm.node("dt",Application.msg(`User.card.${n.user.role}.address`)),n.nodes.addressValue=cm.node("dd")),n.params.address.renderTitle||cm.addClass(n.nodes.address,"is-no-label"),cm.isEmpty(n.data.profile.address)?n.nodes.addressLink=cm.textNode(Application.msg("User.address.empty")):n.nodes.addressLink=cm.node("a",{href:App.getAddressHref(n.data.profile.address),target:"_blank",rel:"noopener",title:Application.msg("User.actions.viewAddress"),innerText:n.data.profile.address}),cm.appendChild(n.nodes.addressLink,n.nodes.addressValue),cm.appendChild(n.nodes.address,n.nodes.fields),n.fields.push("address")),!n.params.licenses.render||cm.isEmpty(n.data.licenses)&&cm.isEmpty(n.data.nceaLicenses)||(n.nodes.licenses=cm.node("dl",{classes:["pt__field","pt__field--profile","is-box","is-text"]},cm.node("dt",Application.msg("User.card.licenses")),n.nodes.licensesValue=cm.node("dd")),cm.getConstructor(n.params.licenses.constructor,e=>{n.licenses=new e(cm.merge(n.params.licenses.constructorParams,{data:n.data,container:n.nodes.licensesValue,modifiers:n.params.licenses.modifiers}))}),cm.appendChild(n.nodes.licenses,n.nodes.fields),n.fields.push("licenses")),!n.params.speciality.render||cm.isEmpty(n.params.speciality.list)||cm.isEmpty(n.data.speciality)||(n.nodes.speciality=cm.node("dl",{classes:["pt__field","pt__field--profile","is-box","is-text"]},cm.node("dt",Application.msg("User.card.speciality")),cm.node("dd",Application.User.embedSpeciality(n.data.speciality,{speciality:n.params.speciality.list,renderEmpty:!1,modifiers:n.params.speciality.modifiers}))),cm.appendChild(n.nodes.speciality,n.nodes.fields),n.fields.push("speciality")),n.params.renderDivider&&0<n.fields.length&&(n.nodes.divider=cm.node("hr",{classes:"card__divider"}),cm.insertAfter(n.nodes.divider,n.nodes.header)),0===n.fields.length&&cm.addClass(n.nodes.fields,"is-hidden"),cm[n.params.insertMethod](n.nodes.container,n.params.container),n},n.User.embedDetailedCard=function(e,t){return Application.User.renderDetailedCard.apply(this,arguments).nodes.container}}
1),cm.define("App.UserBoxContainer",{extend:"Com.AbstractContainer",events:["onComplete"],params:{destructOnClose:!0,closeOnComplete:!0,constructor:"App.UserBox",constructorParams:{},placeholder:!0,placeholderConstructor:"Com.DialogContainer",placeholderParams:{renderButtons:!1,renderTitle:!0,constructorParams:{width:App._config.dialog.widthHalf,titleAlign:"center",titleReserve:!1,contentValign:"center",animateHeight:!0}},guest:{dialogParams:{showTitle:!1}},register:{dialogParams:{showTitle:!0}},login:{dialogParams:{showTitle:!0}},reset:{dialogParams:{showTitle:!0}},report:{dialogParams:{showTitle:!0}}}},function(){Com.AbstractContainer.apply(this,arguments)}),cm.getConstructor("App.UserBoxContainer",function(e,t,n,a){n.constructControllerEvents=function(){let n=this;return{onSetView:(e,t)=>n.afterSetView(t),onComplete:()=>n.afterComplete()}},n.renderControllerEvents=function(){this.components.controller.addEvent("onOpen",this.afterOpenControllerHandler),this.components.controller.addEvent("onClose",this.afterCloseControllerHandler)},n.renderPlaceholderTitle=function(){var e=this.params.placeholderParams.title||this.msg("title");return cm.textNode(e)},n.onOpenEnd=function(){let e=this;cm.onSchedule(()=>e.components.controller?.focus())},n.set=function(e){return this.components.controller&&!this.components.controller.isDestructed?this.components.controller.set(e):this.params.constructorParams.viewParams.data=e,this},n.setView=function(e,t){return this.view=e,this.components.controller&&!this.components.controller.isDestructed?this.components.controller.setView(e,t):(this.params.constructorParams.view=e,this.params.constructorParams.viewParams=t),this},n.getView=function(){return this.view},n.setDialogTitle=function(e){return this.params.placeholderParams.title=e,this.components.placeholder&&cm.isFunction(this.components.placeholder.setTitle)&&this.components.placeholder.setTitle(e),this},n.setDialogParams=function(e){return this.components.placeholder&&!this.components.placeholder.isDestructed?this.components.placeholder.setControllerParams(e):this.params.placeholderParams.params=cm.merge(this.params.placeholderParams.params,e),this},n.afterOpenPlaceholderEnd=function(){this.afterOpenControllerEnd(),a.prototype.afterOpenPlaceholderEnd.apply(this,arguments)},n.afterClosePlaceholderStart=function(){this.afterCloseControllerStart(),a.prototype.afterClosePlaceholderStart.apply(this,arguments)},n.afterSetView=function(e){this.view=e,this.setDialogParams(this.params[this.view].dialogParams),this.setDialogTitle(this.msg(e+".title"))},n.afterComplete=function(){this.triggerEvent("onComplete"),this.params.closeOnComplete&&this.close()}}),cm.define("App.UserBox",{extend:"Com.AbstractController",events:["onComplete","onOpen","onClose","onSetView"],params:{controllerEvents:!0,renderStructure:!0,embedStructureOnRender:!0,embedStructure:"append",view:"login",viewParams:{returnRoute:null},register:{constructor:"App.UserRegister",constructorParams:{removeOnDestruct:!1}},login:{constructor:"App.UserLogin",constructorParams:{removeOnDestruct:!1}},reset:{constructor:"App.UserReset",constructorParams:{removeOnDestruct:!1}},report:{constructor:"App.UserReport",constructorParams:{removeOnDestruct:!1}}}},function(){Com.AbstractController.apply(this,arguments)}),cm.getConstructor("App.UserBox",function(e,t,n,a){n.onValidateParams=function(){var e=this;switch(e.params.view){case"register":e.params.register.constructorParams=cm.merge(e.params.register.constructorParams,e.params.viewParams);break;case"login":e.params.login.constructorParams=cm.merge(e.params.login.constructorParams,e.params.viewParams);break;case"reset":e.params.reset.constructorParams=cm.merge(e.params.reset.constructorParams,e.params.viewParams);break;case"report":e.params.report.constructorParams=cm.merge(e.params.report.constructorParams,e.params.viewParams)}},n.onDestruct=function(){this.components.register?.destruct(),this.components.login?.destruct(),this.components.reset?.destruct(),this.components.report?.destruct()},n.renderView=function(){this.nodes.container=cm.node("div",{classes:"app__user-box"},this.nodes.inner=cm.node("div",{classes:"inner"}))},n.renderLoginBox=function(){let e=this;var t={};t.container=cm.node("div",{classes:"box__login"},e.nodes.loginContainer,cm.node("hr",{classes:"box__separator"}),cm.node("div",{classes:"box__links"},cm.node("ul",{classes:"h6"}
1,cm.node("li",e.nodes.resetButton=cm.node("a",{role:"button",tabindex:0,href:Router.getURL("user.reset"),"data-no-route":"true"},e.msg("reset.link"))),cm.node("li",e.nodes.registerButton=cm.node("a",{role:"button",tabindex:0,href:Router.getURL("signup"),"data-no-route":"true"},e.msg("register.link")))),cm.node("ul",{classes:"h7"},cm.node("li",e.nodes.reportButton=cm.node("a",{role:"button",tabindex:0,href:Router.getURL("contact"),"data-no-route":"true"},e.msg("report.link")))))),cm.click.add(e.nodes.resetButton,()=>e.setView("reset")),cm.click.add(e.nodes.registerButton,()=>e.setView("register")),cm.click.add(e.nodes.reportButton,()=>e.setView("report")),e.components.login.reset(),cm.clearNode(e.nodes.inner),cm.appendChild(t.container,e.nodes.inner),e.components.login.focus()},n.renderRegisterBox=function(){let e=this;var t={};t.container=cm.node("div",{classes:"box__register"},e.nodes.registerContainer,cm.node("hr",{classes:"box__separator"}),cm.node("div",{classes:"box__links"},cm.node("ul",{classes:"h6"},cm.node("li",e.nodes.loginButton=cm.node("a",{role:"button",tabindex:0,href:Router.getURL("signin"),"data-no-route":"true"},e.msg("register.login")))),cm.node("ul",{classes:"h7"},cm.node("li",e.nodes.reportButton=cm.node("a",{role:"button",tabindex:0,href:Router.getURL("contact"),"data-no-route":"true"},e.msg("report.link")))))),cm.click.add(e.nodes.loginButton,()=>e.setView("login")),cm.click.add(e.nodes.reportButton,()=>e.setView("report")),cm.clearNode(e.nodes.inner),cm.appendChild(t.container,e.nodes.inner)},n.renderResetBox=function(){let e=this;var t={};t.container=cm.node("div",{classes:"box__login"},e.nodes.resetContainer,cm.node("hr",{classes:"box__separator"}),cm.node("div",{classes:"box__links"},cm.node("ul",{classes:"h6"},cm.node("li",e.nodes.registerButton=cm.node("a",{role:"button",tabindex:0,href:Router.getURL("signup"),"data-no-route":"true"},e.msg("register.link"))),cm.node("li",e.nodes.loginButton=cm.node("a",{role:"button",tabindex:0,href:Router.getURL("signin"),"data-no-route":"true"},e.msg("login.link")))),cm.node("ul",{classes:"h7"},cm.node("li",e.nodes.reportButton=cm.node("a",{role:"button",tabindex:0,href:Router.getURL("contact"),"data-no-route":"true"},e.msg("report.link")))))),cm.click.add(e.nodes.loginButton,()=>e.setView("login")),cm.click.add(e.nodes.registerButton,()=>e.setView("register")),cm.click.add(e.nodes.reportButton,()=>e.setView("report")),e.components.reset.reset(),cm.clearNode(e.nodes.inner),cm.appendChild(t.container,e.nodes.inner),e.components.reset.focus()},n.renderReportBox=function(){let e=this;var t={};t.container=cm.node("div",{classes:"box__report"},e.nodes.reportContainer),Application.User.isAuthorized()||(t.separator=cm.node("hr",{classes:"box__separator"}),t.links=cm.node("div",{classes:"box__links"},cm.node("ul",{classes:"h6"},cm.node("li",e.nodes.registerButton=cm.node("a",{role:"button",tabindex:0,href:Router.getURL("signup"),"data-no-route":"true"},e.msg("register.link"))),cm.node("li",e.nodes.loginButton=cm.node("a",{role:"button",tabindex:0,href:Router.getURL("signin"),"data-no-route":"true"},e.msg("login.link"))))),cm.click.add(e.nodes.loginButton,()=>e.setView("login")),cm.click.add(e.nodes.registerButton,()=>e.setView("register")),cm.appendChild(t.separator,t.container),cm.appendChild(t.links,t.container)),cm.clearNode(e.nodes.inner),cm.appendChild(t.container,e.nodes.inner),e.components.report.focus()},n.renderViewModel=function(){let t=this;a.prototype.renderViewModel.apply(t,arguments),cm.getConstructor(t.params.register.constructor,e=>{t.components.register=new e(t.params.register.constructorParams),t.components.register.addEvent("onComplete",t.registerComplete.bind(t)),t.nodes.registerContainer=t.components.register.getContainer()}),cm.getConstructor(t.params.login.constructor,e=>{t.components.login=new e(t.params.login.constructorParams),t.components.login.addEvent("onComplete",t.loginComplete.bind(t)),t.nodes.loginContainer=t.components.login.getContainer()}),cm.getConstructor(t.params.reset.constructor,e=>{t.components.reset=new e(t.params.reset.constructorParams),t.components.reset.addEvent("onComplete",t.resetComplete.bind(t)),t.nodes.resetContainer=t.components.reset.getContainer()}),cm.getConstructor(t.params.report.constructor,e=>{t.components.report=new e(t.params.report.constructorParams),t.components.report.addEvent("onComplete",t.reportComplete.bind(t)),t.nodes.reportContainer=t.components.report.getContainer()}),t.setView(t.params.view)},n.registerComplete=function(){this.triggerEvent("onComplete")},n.loginComplete=function(){this.triggerEvent("onComplete")},n.resetComplete=function(){this.triggerEvent("onComplete")},n.reportComplete=function(){this.triggerEvent("onComplete")},n.open=function(){return this.triggerEvent("onOpen"),this},n.close=function(){return this.components[this.params.view]?.reset(),this.triggerEvent("onClose"),this},n.set=function(e){return this.components[this.params.view]?.set(e),this},n.focus=function(){return this.components[this.params.view]?.focu
1s(),this},n.login=function(e){return this.components.login(e),this},n.setView=function(e,t){var n=this;switch(n.params.view=e,n.params.viewParams=t,e){case"login":n.renderLoginBox();break;case"register":n.renderRegisterBox();break;case"reset":n.renderResetBox();break;case"report":n.renderReportBox()}return n.components[n.params.view]?.setParams(n.params.viewParams),n.triggerEvent("onSetView",e),n}}),cm.define("App.UserDeleteConfirmContainer",{extend:"App.ConfirmDialogContainer",params:{constructor:"App.UserDeleteConfirm"}},function(){App.ConfirmDialogContainer.apply(this,arguments)}),cm.define("App.UserDeleteConfirm",{extend:"App.ConfirmDialog",params:{notifications:{render:!0},ajax:{url:App._api.me.delete,method:"DELETE"},request:{enable:!0,constructorParams:{responseKey:null,responseErrorsKey:"message"}}}},function(){App.ConfirmDialog.apply(this,arguments)}),cm.getConstructor("App.UserDeleteConfirm",function(e,t,n,a){n.renderMessageView=function(){var e={};return e.container=cm.node("div",{classes:"section__content"},e.content=cm.node("div",{classes:["section__entry"],innerHTML:this.msg("message.content")})),e.container}}),cm.define("App.UserHelper",{extend:"Com.AbstractController",params:{name:"user-helper",controllerEvents:!0,renderStructure:!1,embedStructureOnRender:!1,embedStructure:"append",scrollEvent:!0,box:{constructor:"App.UserBoxContainer",constructorParams:{}},userParams:{constructor:"App.Request",constructorParams:{showLoader:!1,autoSend:!1,responseKey:null,ajax:{url:App._api.me.params,method:"PUT",paramsType:"json"}}},logoutRequest:{constructor:"App.LogoutRequest",constructorParams:{autoSend:!1}},notificationsRequest:{delay:6e4,excludeRoutes:["openid","openid.*"],constructor:"App.Request",constructorParams:{showLoader:!1,autoSend:!1,successOnEmptyData:!0,responseKey:null,responseErrorsKey:"message",ajax:{url:App._api.notifications,type:"json",method:"GET"}}},cookieNotice:{delay:1e3,excludeRoutes:["openid","openid.*","app.auth","app.external"],storageName:"cookie-notice",constructor:"App.CookieNoticeDialogContainer",constructorParams:{}},tos:{delay:1e3,excludeRoutes:["page","contact","app.auth","app.external"],constructor:"Form.UserToSContainer",constructorParams:{}},guest:{enable:!1,delay:1e3,excludeRoutes:App._config.excludeRoutes,storageName:"guest-notice",constructor:"App.PromoGuestDialogContainer",constructorParams:{}},promo:{enable:!1,delay:1e3,excludeRoutes:App._config.excludeRoutes,excludePages:["leadership-mode-snapshot"],storageName:"promo-lms-notice",constructor:"App.PromoLMSDialogContainer",constructorParams:{}}}},function(){Com.AbstractController.apply(this,arguments)}),cm.getConstructor("App.UserHelper",function(e,t,n,a){n.onConstructStart=function(){this.views={},this.notifications={},this.notificationsInterval=null,this.popupShowDelay=null,this.wasGuestShown=!1,this.wasPromoShown=!1,this.wasCookieNoticeShown=!1,window.UserHelper=this},n.onValidateParams=function(){"dev"===this.params.promo.enable&&(this.params.promo.enable=Application.checkDebugAccess())},n.onDestruct=function(){this.resetDialogOpenDelay(),this.clearNotificationsRequest(),this.components.logout?.destruct(),this.components.userParams?.destruct(),this.components.cookieNotice?.destruct(),this.components.tos?.destruct(),this.components.guest?.destruct(),this.components.promo?.destruct(),this.components.notifications?.destruct()},n.renderViewModel=function(){let n=this;a.prototype.renderViewModel.apply(n,arguments),cm.getConstructor(n.params.box.constructor,e=>{n.components.box=new e(n.params.box.constructorParams)}),cm.getConstructor(n.params.cookieNotice.constructor,e=>{n.components.cookieNotice=new e(cm.merge(n.params.cookieNotice.constructorParams,{events:{onOpenPlaceholder:()=>{n.wasCookieNoticeShown=!0},onComplete:(e,t)=>{n.storageSet(n.params.cookieNotice.storageName,!0),TrackingManager.grantConsent(t),n.openNextDialog()}}}))}),n.params.promo.enable&&cm.getConstructor(n.params.promo.constructor,e=>{n.components.promo=new e(cm.merge(n.params.promo.constructorParams,{events:{onOpenPlaceholder:()=>{n.wasPromoShown=!0},onClosePlaceholderStart:()=>{n.storageSet(n.params.promo.storageName,!0),n.openNextDialog()}}}))}),Application.User.isAuthorized()||n.renderUnauthorizedViewModel(),Application.User.isAuthorized()&&n.renderAuthorizedViewModel()},n.renderUnauthorizedViewModel=function(){let t=this;cm.getConstructor(t.params.guest.constructor,e=>{t.components.guest=new e(cm.merge(t.params.guest.constructorParams,{events:{onOpenPlaceholder:()=>{t.wasGuestShown=!0},onClosePlaceholderStart:()=>{t.storageSet(t.params.guest.storageName,!0,!0),t.openNextDialog()}}}))}),Application.addEvent("onRouteChange",()=>{t.openNextDialog()})},n.renderAuthorizedViewModel=function(){let n=this;cm.getConstructor(n.params.logoutRequest.constructor,e=>{n.components.logout=new e(n.params.logoutRequest.constructorParams)}),cm.getConstructor(n.params.userParams.constructor,e=>{n.components.userParams=new e(cm.merge(n.params.userParams.constructorParams,{events:{onSuccess:(e,t)=>Application.User.setParams(t.data)}}))}),cm.getConstructor(n.params.notificationsRequest.constructor,e=>{n.components.notifications=new e(cm.merge(n.params.notificationsRequest.constructorParams,{events:{onSuccess:(e,t)=>n.updateNotificationsRequest(t.data),onError:()=>n.updateNotificationsRequest()}}))}),cm.getConstructor(n.params.tos.constructor,e=>{n.components.tos=new e(cm.merge(n.params.tos.constructorParams,{events:{onSuccess:(e,t)=>Application.User.setProfile(t),onClosePlaceholderStart:()=>n.openNextDialog()}}))}),Application.addEvent("onRouteChange",()=>{n.checkNotificationsRequest(),n.openNextDialog()})},n.requestNotifications=function(){!this.components.notifications.isDestructed&&this.isNotificationsAvailable()&&(this.clearNotificationsRequest(),this.components.notifications.send())},n.checkNotificationsRequest=function(){this.isNotificationsAvailable()?this.notificationsInterval||this.components.notifications.send():this.clearNotificationsRequest()},n.clearNotificationsRequest=function(){this.notificationsInterval&&clearTimeout(this.notificationsInterval)},n.updateNotificationsRequest=function(e){this.updateNotificationsCounter(e),this.components.notifications.isDestructed||(this.clearNotificationsRequest(),this.notificationsInterval=setTimeout(this.components.notifications.sendHandler,this.params.notificationsRequest.delay))},n.updateNotificationsCounter=function(n){let a=this;(n=cm.merge({conversation:0,tag:0,workers:0,professionalCredentials:Application.User.getExpireLicenseCount()},n)).all=Object.values(n).reduce((e,t)=>
1t+e,0),cm.forEach(n,(e,t)=>{n[t]={name:t,count:e,toggle:0<e,message:a.msgParse("notifications."+t,{count:e})},cm.hook.trigger("user.notifications."+t,n[t])}),a.updateNotificationsCounterPreferences(n),a.notifications=n,Application.User.setNotifications(a.notifications)},n.updateNotificationsCounterPreferences=function(t){let n=0;cm.forEach(["workers","lookingForTalents","professionalCredentials"],e=>{t[e]&&(n+=t[e].count)});var e={name:"preferences",count:n,toggle:0<n,message:this.msgParse("notifications.all",{count:n})};cm.hook.trigger("user.notifications.preferences",e)},n.updateUserParams=function(n){if(!cm.isEmpty(n)){let t=Application.User.getParams();cm.forEach(["booking-services-notice"],e=>{t?.[e]&&(n[e]=null)}),this.components.userParams.setAction({params:n}).send()}},n.openNextDialog=function(){var e=this;if(e.resetDialogOpenDelay(),!e.isDestructed)return e.isCookieNoticeAvailable()?e.setDialogOpenDelay("cookieNotice"):e.isToSAvailable()?e.setDialogOpenDelay("tos"):e.isPromoAvailable()?e.setDialogOpenDelay("promo"):e.isGuestAvailable()?e.setDialogOpenDelay("guest"):void 0},n.resetDialogOpenDelay=function(){this.popupShowDelay&&clearTimeout(this.popupShowDelay)},n.setDialogOpenDelay=function(e){let t=this,n=t.components[e];var a;n&&(a=()=>{t.components.box.isOpen()||n.open()},t.resetDialogOpenDelay(),(e=t.params[e].delay||0)?t.popupShowDelay=setTimeout(a,e):a())},n.isNotificationsAvailable=function(){var e=Router.getCurrent();return e&&!Router.isRouteExcluded(e.name,this.params.notificationsRequest.excludeRoutes)},n.isCookieNoticeAvailable=function(){var e=Router.getCurrent();return this.components.cookieNotice&&!this.wasCookieNoticeShown&&e&&!Router.isRouteExcluded(e.name,this.params.cookieNotice.excludeRoutes)&&!0!==this.storageGet(this.params.cookieNotice.storageName)},n.isToSAvailable=function(){var e=Router.getCurrent(),t=Application.userGetProfile();return this.components.tos&&Application.User.isAuthorized()&&e&&!Router.isRouteExcluded(e.name,this.params.tos.excludeRoutes)&&cm.isEmpty(t?.tos)},n.isGuestAvailable=function(){var e=Router.getCurrent(),e=this.components.guest&&this.params.guest.enable&&!this.wasGuestShown&&!Application.User.isAuthorized()&&"app"!==Template.getViewMode()&&e&&!Router.isRouteExcluded(e.name,this.params.guest.excludeRoutes)&&!0!==this.storageGet(this.params.guest.storageName,!0);return e||this.components.guest?.isOpen()&&this.components.guest.close(),e},n.isPromoAvailable=function(){var e=this,t=Router.getCurrent(),t=e.components.promo&&e.params.promo.enable&&!e.wasPromoShown&&Application.User.isBeautician()&&t&&!Router.isRouteExcluded(t.name,e.params.promo.excludeRoutes)&&t&&("page"!==t.name||!cm.inArray(e.params.promo.excludePages,t.captures.id))&&!0!==e.storageGet(e.params.promo.storageName);return t||e.components.promo?.isOpen()&&(e.wasPromoShown=!1,e.components.promo.close()),t},n.openLoginBox=function(e){return this.components.box.setView("login",e).open(),this},n.openRegisterBox=function(e){return this.components.box.setView("register",e).open(),this},n.openResetBox=function(e){return this.components.box.setView("reset",e).open(),this},n.openReportBox=function(e){return this.components.box.setView("report",e).open(),this},n.getBox=function(){return this.components.box},n.logout=function(e){e=cm.merge({returnRoute:"index"},e),this.components.logout&&this.components.logout.send(),Application.User.logout(e.returnRoute)}}),cm.define("App.UserLogin",{extend:"Com.AbstractController",events:["onSuccess","onError","onRenew","onComplete"],params:{controllerEvents:!0,renderStructure:!0,embedStructureOnRender:!0,embedStructure:"append",data:{},returnRoute:"user.home",redirectBrands:!0,redirectSignupUpdate:!0,renderDescription:!0,renewLink:{render:!0,redirect:!0,noRoute:!1},registerLink:{render:!1,noRoute:!1},form:{constructor:"Form.Login",constructorParams:{removeOnDestruct:!1}}}},function(){Com.AbstractController.apply(this,arguments)}),cm.getConstructor("App.UserLogin",function(e,t,n,a){n.onDestruct=function(){this.components.form?.destruct()},n.renderView=function(){var e=this;e.nodes.container=cm.node("div",{class:"app__user-login"},e.nodes.inner=cm.node("div",{class:"inner"},e.nodes.title=cm.node("div",{classes:"section__subtitle"}))),e.params.renderDescription&&(e.nodes.description=cm.node("div",{classes:"section__logo"},cm.node("div",{classes:["icon","is-contain","svg__logo"],role:"img",title:App._env.title})),cm.appendChild(e.nodes.description,e.nodes.inner)),e.params.registerLink.render&&Application.Buttons.render(cm.merge(e.params.registerLink,{container:e.nodes.title,modifiers:["editable"],label:e.msg("actions.register"),link:Router.getURL("signup"),icons:{after:"chevronRight"}}))},n.renderViewModel=function(){let t=this;a.prototype.renderViewModel.apply(t,arguments),cm.getConstructor(t.params.form.constructor,e=>{t.components.form=new e(cm.merge(t.params.form.constructorParams,{container:t.nodes.inner,data:t.params.data,events:{onSuccess:t.renderResponse.bind(t),onError:t.renderError.bind(t)}}))})},n.EXPIRED_LICENSE_ERRORS=["inactive_user__update_license","inactive_user__update_license_grace_peri
1od","outside_us_inactive_user__update_license","outside_us_inactive_user__update_license_grace_period"],n.EXPIRED_LICENSE_INTERNATIONALS_ERRORS=["outside_us_inactive_user__update_license","outside_us_inactive_user__update_license_grace_period"],n.GRACE_LICENSE_ERRORS=["inactive_user__update_license_grace_period","outside_us_inactive_user__update_license_grace_period"],n.renderResponse=function(e,t){var n=Application.User.getRole(t.token);this.params.redirectBrands&&Application.User.isBrand(n)?Application.setRoute("external.dashboard",null,{assignLocation:!0,urlParams:{route:["signin",t.token,t.refresh].join("/")}}):(this.login(t),this.triggerEvent("onSuccess")),this.triggerEvent("onComplete")},n.renderError=function(t,e){var n=this,a=e.response,s={label:cm.isEmpty(e.message)?n.msg("error_message"):e.message,type:"danger",modifiers:[]};if(cm.inArray(n.EXPIRED_LICENSE_ERRORS,a?.error)&&!cm.isEmpty(a.user)){s.modifiers.push("centered");let e;if(e=cm.inArray(n.EXPIRED_LICENSE_INTERNATIONALS_ERRORS,a.error)?(a.user.international=!0,"signup.renew.international"):"salon"===a.user.role?"signup.renew.salon":"signup.renew.individual",Application.storageSet("renew",a.user,!0),n.params.renewLink.redirect)return Application.setRoute(e),void n.triggerEvent("onComplete");s.label=n.renderExpiredLicenseNotification({form:t,route:e,response:a,hasRenew:n.params.renewLink.render,hasRenewSkip:cm.inArray(n.GRACE_LICENSE_ERRORS,a.error)}),n.triggerEvent("onRenew",a.user)}n.renderNotification(s),n.triggerEvent("onError",e)},n.renderSkip=function(e,t){Application.storageSet("grace",!0,!0),this.renderResponse(e,t)},n.renderExpiredLicenseNotification=function({form:e,response:t,route:n,hasRenew:a,hasRenewSkip:s}){let o=this;var r=cm.node("div",{classes:"com__notifications__message"},cm.node("p",o.msg("error_update.message"))),i=[];return a&&i.push(cm.merge(o.params.renewLink,{label:o.msg("error_update.action"),classes:["button-danger","is-wrap"],modifiers:["large","round"],link:Router.getURL(n)})),s&&i.push({label:o.msg("error_update.skip"),classes:["button-danger","is-wrap"],modifiers:["large","round","border"],handler:()=>o.renderSkip(e,t)}),0<i.length&&(cm.addClass(r,"com__notifications__message--centered"),Application.Buttons.renderContainer({container:r,classes:["is-box"],modifiers:["notifications"],items:i})),r},n.renderNotification=function(e){this.components.form.clearNotification().renderNotification(e)},n.get=function(){return this.components.form.get("sendPath")},n.set=function(e){return this.components.form.set(e),this},n.focus=function(){var e=this.components.form.getField("email");return e&&e.controller.focus(),this},n.reset=function(){return this.components.form.reset(),this},n.send=function(){return this.components.form.send(),this},n.login=function(e){return Application.User.login(e,this.params.returnRoute),this},n.getContainer=function(){return this.nodes.container}}),cm.define("App.LogoutRequest",{extend:"App.Request",params:{showLoader:!1,autoSend:!1,responseKey:null,responseErrorsKey:"message",ajax:{url:App._api.authentication.delete,method:"DELETE",paramsType:"json",data:{refresh:""}}}},function(){App.Request.apply(this,arguments)}),cm.getConstructor("App.LogoutRequest",function(e,t,n,a){n.onValidateParams=function(){this.params.ajax.data.refresh=Application.userGetRefreshToken()}}),cm.define("App.UserRefresh",{extend:"Com.AbstractController",events:["onError","onSuccess","onRequest"],params:{controllerEvents:!0,embedStructureOnRender:!1,renderStructure:!1,overlayConstructor:"Com.Overlay",overlayParams:{lazy:!1,autoOpen:!1,removeOnClose:!0,showSpinner:!0,position:"fixed",theme:"logo"},refresh:{constructor:"App.Request",constructorParams:{showLoader:!1,autoSend:!1,responseKey:null,ajax:{url:App._api.authentication.update,method:"PUT",paramsType:"json",params:{apikey:App._env.apiKey,refresh:""}}}},profile:{constructor:"App.ProfileRequest",constructorParams:{showLoader:!1,autoSend:!1}}}},function(){Com.AbstractController.apply(this,arguments)}),cm.getConstructor("App.UserRefresh",function(e,t,n,a){n.onConstructEnd=function(){this.refresh("initial")},n.onDestruct=function(){this.components.overlay?.destruct(),this.components.refresh?.destruct(),this.components.profile?.destruct()},n.renderViewModel=function(){let t=this;a.prototype.renderViewModel.apply(t,arguments),cm.getConstructor(t.params.overlayConstructor,e=>{t.components.overlay=new e(t.params.overlayParams)}),cm.getConstructor(t.params.refresh.constructor,e=>{t.components.refresh=new e(cm.merge(t.params.refresh.constructorParams,{events:{onSuccess:t.renderRefreshSuccess.bind(t),onError:t.renderRefreshError.bind(t)}}))}),cm.getConstructor(t.params.profile.constructor,e=>{t.components.profile=new e(cm.merge(t.params.profile.constructorParams,{events:{onSuccess:t.renderProfileResponse.bind(t),onError:t.renderProfileError.bind(t)}}))})},n.renderRefreshSuccess=function(e,t){Application.userSetToken(t.data),this.components.profile?.send()},n.renderRefreshError=function(){this.components.overlay.close(),Application.userClearToken(),Application.userClearProfile(),Application.User.clearParams(),Application.User.clearNotifications(),this.triggerEvent("onRequest"),this.triggerEvent("onError")},n.renderRefreshSkip=function(){this.components.profile?.send()},n.renderProfileResponse=function(e,t){this.components.overlay.close(),Application.User.setProfile(t.data),this.triggerEvent("onRequest"),this.triggerEvent("onSuccess")},n.renderProfileError=function(){this.components.overlay.close(),this.triggerEvent("onRequest"),this.triggerEvent("onError")},n.refresh=function(e){var t,n=this,e=(n.components.overlay&&(t="initial"!==e?"light":"logo",n.components.overlay.setParams({lazy:"initial"!==e}).setTheme(t).open()),Application.userDecodeToken());return cm.isEmpty(e)||!(t=new Date(1e3*e.exp))||t.getTime()<Date.now()?n.renderRefreshError():"grace"===e.type?(t=Application.storageGet("grace",!0),Application.storageRemove("grace",!0),t?n.renderRefreshSkip():n.renderRefreshError()):(n.components.refresh&&(e={refresh:Application.userGetRefreshToken()},n.components.refresh.setAction({params:e}),n.components.refresh.send()),n)}}),cm.define("App.UserRegister",{extend:"Com.AbstractController",events:["onComplete"],params:{controllerEvents:!0,renderStructure:!0,embedStructureOnRender:!0,embedStructure:"append",returnRoute:null,renderDescription:!0,loginLink:{render:!1,noRoute:!1},linksParams:{render:!0,noRoute:!1},links:{enthusiast:{icon:"user",route:"signup.enthusiast"},individual:{icon:"user-pro",route:"signup.individual"},salon:{icon:"salon",route:"signup.salon"},student:{icon:"student",iconSize:"inset-medium",route:"signup.student"},other:{icon:"docs",route:"signup.international"},"salon-australia":{render:!1,icon:"salon"},"individual-australia":{render:!1,icon:"user-pro"},"salon-international":{render:!1,icon:"salon",route:"signup.international"},"individual-international":{render:!1,icon:"user-pro",route:"signup.international"}}}},function(){Com.AbstractController.apply(this,arguments)}),cm.getConstructor("App.UserRegister",function(e,t,n,a){n.onConstructStart=function(){this.links={}},n.onValidateParamsStart=function(){let n=this;cm.forEach(n.params.links,(e,t)=>{e.name=t,n.params.links[t]=cm.merge(n.params.linkParams,e)})},n.renderView=function(){let t=this;t.nodes.container=cm.node("div",{classes:"app__user-register"},t.nodes.inner=cm.node("div",{classes:"inner"},t.nodes.title=cm.node("div",{classes:"section__subtitle"}),t.nodes.holder=cm.node("div",{classes:["app__cards-list","app__cards-list--register"]}))),t.params.renderDescription&&(t.nodes.title.innerHTML=t.msg("description")),t.params.loginLink.render&&(t.nodes.links=cm.node("div",{classes:"section__links"},Application.Buttons.embed(cm.merge(t.params.loginLink,{modifiers:["editable"],label:t.msg("actions.login"),link:Router.getURL("signin"),icons:{after:"chevronRight"}}))),cm.appendChild(t.nodes.links,t.nodes.inner)),cm.forEach(t.params.links,e=>
1{t.links[e.name]=t.renderLinkView(e,{container:t.nodes.holder})})},n.renderLinkView=function(e,t){let n=this,a={nodes:{},data:cm.merge({name:null,render:!0,icon:"member",iconSize:"inset-half",route:null,noRoute:!1,callback:null},e),params:cm.merge({container:cm.node("div")},t)};if(a.data.render)return a.nodes.container=Application.Views.embedCard({modifiers:["register-choose"],link:{render:!0,href:Router.getURL(a.data.route,null,null,{returnRoute:n.params.returnRoute}),noRoute:a.data.noRoute},icon:{render:!0,content:Application.Images.embedIcon({icon:a.data.icon,classes:["is-round","size-field",a.data.iconSize],ariaHidden:!0})},name:{render:!0,tagName:"div",classes:["h5"],content:n.msg(`links.${a.data.name}.title`)},description:{render:!0,tagName:"div",classes:["h7"],content:n.msg(`links.${a.data.name}.description`)},action:{render:!0,classes:[],content:Application.Images.embedIcon({icon:"chevronRight",classes:["small"],ariaHidden:!0})},callback:e=>{cm.isFunction(a.data.callback)&&a.data.callback(e),n.triggerEvent("onComplete")}}),cm.appendChild(a.nodes.container,a.params.container),a},n.focus=function(){return this},n.reset=function(){return this},n.getContainer=function(){return this.nodes.container}}),cm.define("App.UserReport",{extend:"Com.AbstractController",events:["onSuccess","onError","onComplete"],params:{controllerEvents:!0,renderStructure:!0,embedStructureOnRender:!0,embedStructure:"append",data:{},returnRoute:null,returnButton:{render:!0,noRoute:!0},formConstructor:"Form.Support",formParams:{removeOnDestruct:!1}}},function(){Com.AbstractController.apply(this,arguments)}),cm.getConstructor("App.UserReport",function(e,t,n,a){n.onValidateParamsStart=function(){cm.isEmpty(this.params.returnButton.label)&&(this.params.returnButton.label=this.msg("return_button")),cm.isEmpty(this.params.returnRoute)||(this.params.returnButton.link=Router.getURL(this.params.returnRoute))},n.onDestruct=function(){this.components.form&&this.components.form.destruct()},n.renderView=function(){var e=this;e.nodes.container=cm.node("div",{classes:"app__user-report"},e.nodes.inner=cm.node("div",{classes:"inner"},e.nodes.formHolder=cm.node("div",{classes:"section__form"}),e.nodes.messageHolder=cm.node("div",{classes:"section__message is-hidden"},cm.node("div",{classes:"section__subtitle",innerHTML:e.msg("success_message")}),cm.node("div",{classes:"pt__buttons pull-center is-box"},e.nodes.returnButtonHolder=cm.node("div",{classes:"inner"}))))),e.params.returnButton.render&&(e.nodes.returnButton=Application.Buttons.embed(cm.merge(e.params.returnButton,{callback:e.renderComplete.bind(e),container:e.nodes.returnButtonHolder})))},n.renderViewModel=function(){let t=this;a.prototype.renderViewModel.apply(t,arguments),cm.getConstructor(t.params.formConstructor,function(e){t.components.form=new e(cm.merge(t.params.formParams,{data:t.params.data,container:t.nodes.formHolder,events:{onSuccess:t.renderResponse.bind(t),onError:t.renderError.bind(t)}}))})},n.renderResponse=function(e,t){cm.addClass(this.nodes.formHolder,"is-hidden"),cm.removeClass(this.nodes.messageHolder,"is-hidden")},n.renderError=function(e,t){this.triggerEvent("onError",t)},n.renderComplete=function(e){this.triggerEvent("onSuccess"),this.triggerEvent("onComplete"),cm.isFunction(this.params.returnButton.callback)&&this.params.returnButton.callback(e)},n.get=function(){return this.components.form.get("sendPath")},n.set=function(e){return this.components.form.set(e),this},n.focus=function(){var e=this.components.form.getField(Application.User.isAuthorized()?"message":"name");return e&&e.controller.focus(),this},n.reset=function(){return this.components.form.reset(),this},n.send=function(){return this.components.form.send(),this},n.getContainer=function(){return this.nodes.container}}),cm.define("App.UserRequest",{extend:"App.Request",params:{showLoader:!1,autoSend:!1,responseKey:null,responseErrorsKey:"message",ajax:{url:App._api.users.read,type:"json",method:"GET"}}},function(){App.Request.apply(this,arguments)}),cm.define("App.UserReset",{extend:"Com.AbstractController",events:["onSuccess","onError","onComplete"],params:{controllerEvents:!0,renderStructure:!0,embedStructureOnRender:!0,embedStructure:"append",returnRoute:null,returnButton:{render:!0,noRoute:!0},formConstructor:"Form.ForgotPassword",formParams:{}}},function(){Com.AbstractController.apply(this,arguments)}),cm.getConstructor("App.UserReset",function(e,t,n,a){n.onValidateParamsStart=function(){cm.isEmpty(this.params.returnButton.label)&&(this.params.returnButton.label=this.msg("return_button")),cm.isEmpty(this.params.returnRoute)||(this.params.returnButton.link=Router.getURL(this.params.returnRoute))},n.onDestruct=function(){this.components.form&&this.components.form.destruct()},n.renderView=function(){var e=this;e.nodes.container=cm.node("div",{classes:"app__user-reset"},e.nodes.inner=cm.node("div",{classes:"inner"},e.nodes.formHolder=cm.node("div",{classes:"section__form"},cm.node("div",{classes:"section__subtitle",innerHTML:e.msg("description")})),e.nodes.messageHolder=cm.node("div",{classes:"section__message is-hidden"},cm.node("div",{classes:"section__subtitle",innerHTML:e.msg("success_message")}),cm.node("div",{classes:"pt__buttons pull-center is-box"},e.nodes.returnButtonHolder=cm.node("div",{classes:"inner"}))))),e.params.returnButton.render&&(e.nodes.returnButton=Application.Buttons.embed(cm.merge(e.params.returnButton,{callback:e.renderComplete.bind(e),container:e.nodes.returnButtonHolder})))},n.renderViewModel=function(){let t=this;a.prototype.renderViewModel.apply(t,arguments),cm.getConstructor(t.params.formConstructor,function(e){t.components.form=new e(cm.merge(t.params.formParams,{container:t.nodes.formHolder,events:{onSuccess:t.renderResponse.bind(t),onError:t.renderError.bind(t)}}))})},n.renderResponse=function(){cm.addClass(this.nodes.formHolder,"is-
1hidden"),cm.removeClass(this.nodes.messageHolder,"is-hidden")},n.renderError=function(e,t){0<t.target.status&&this.components.form.clearNotification().renderNotification({label:this.msg("error_message"),type:"danger"}),this.triggerEvent("onError",t)},n.renderComplete=function(e){this.triggerEvent("onSuccess"),this.triggerEvent("onComplete"),cm.isFunction(this.params.returnButton.callback)&&this.params.returnButton.callback(e),cm.isEmpty(this.params.returnRoute)||Application.setRoute(this.params.returnRoute)},n.get=function(){return this.components.form.get("sendPath")},n.focus=function(){var e=this.components.form.getField("email");return e&&e.controller.focus(),this},n.reset=function(){return this.components.form.reset(),this},n.send=function(){return this.components.form.send(),this},n.getContainer=function(){return this.nodes.container}}),cm.define("App.UserActionButton",{extend:"Com.AbstractController",events:["onViewRender","onEditableSuccess","onEditableError"],params:{controllerEvents:!0,renderStructure:!1,embedStructureOnRender:!1,data:{},type:"button",renderLabel:!0,renderCounter:!1,insertMethod:"appendChild",sendOnClick:!0,icons:{default:"favorite-border",active:"favorite",classes:["size-field","inset-medium"],modifiers:["action"]},buttons:{classes:["button-transparent","is-compact"],modifiers:["border"]},tooltip:{showOnSuccess:!0,showOnError:!0,constructor:"App.Tooltip",constructorParams:{targetEvent:"none",autoHide:!0}},create:{constructor:"App.Request",constructorParams:{showLoader:!0,autoSend:!1,responseKey:null,responseErrorsKey:"message",ajax:{type:"json",method:"POST",headers:{"Content-Type":"application/octet-stream"}}}},delete:{constructor:"App.Request",constructorParams:{showLoader:!0,autoSend:!1,responseKey:null,responseErrorsKey:"message",ajax:{type:"json",method:"DELETE",headers:{"Content-Type":"application/octet-stream"}}}},overlayParams:{}}},function(){Com.AbstractController.apply(this,arguments)}),cm.getConstructor("App.UserActionButton",function(e,t,n,a){n.onConstructStart=function(){this.user=Application.userGetProfile()},n.onDestructEnd=function(){this.components.tooltip&&this.components.tooltip.destruct()},n.renderViewModel=function(){let t=this;a.prototype.renderViewModel.apply(t,arguments),cm.getConstructor(t.params.tooltip.constructor,e=>{t.components.tooltip=new e(t.params.tooltip.constructorParams)})},n.renderCreateButton=function(e){let n=this;n.components.request&&(n.components.request.destruct(),cm.remove(n.nodes.container)),e=cm.merge({focus:!1},e),n.renderCreateButtonView(e),e.focus&&n.nodes.container.focus(),cm.getConstructor(n.params.create.constructor,e=>{n.components.request=new e(cm.merge(n.params.create.constructorParams,{data:n.params.data,overlayParams:cm.merge({container:n.nodes.container,appendMode:"insertFirst"},n.params.overlayParams),events:{onSuccess:()=>{n.afterSuccessCreateAction(),n.renderDeleteButton({focus:!0}),n.afterSuccessAction("create")},onError:(e,t)=>n.afterErrorAction("create",t.message)}}))})},n.renderCreateButtonView=function(){let t=this;var e=t.msg("create.title",{"{username}":Application.userGetProfileName(t.params.data)});"icon"===t.params.type?t.nodes.container=Application.Images.embedIcon({icon:t.params.icons.default,title:e,role:"button",classes:t.params.icons.classes,modifiers:t.params.icons.modifiers,container:t.params.container,insertMethod:t.params.insertMethod}):(t.button=Application.Buttons.render({label:t.params.renderLabel?t.msg("create.label"):null,title:e,icons:{classes:["medium"],before:t.params.icons.default},classes:t.params.buttons.classes,modifiers:t.params.buttons.modifiers,container:t.params.container,insertMethod:t.params.insertMethod}),t.nodes.container=t.button.nodes.container),t.params.renderCounter&&t.renderCounterView(),t.params.sendOnClick&&cm.click.add(t.nodes.container,e=>{cm.preventDefault(e),cm.stopPropagation(e),t.components.request.send()}),t.triggerEvent("onViewRender","create")},n.renderDeleteButton=function(e){let n=this;n.components.request&&(n.components.request.destruct(),cm.remove(n.nodes.container)),e=cm.merge({focus:!1},e),n.renderDeleteButtonView(e),e.focus&&n.nodes.container.focus(),cm.getConstructor(n.params.delete.constructor,e=>{n.components.request=new e(cm.merge(n.params.delete.constructorParams,{data:n.params.data,overlayParams:cm.merge({container:n.nodes.container,appendMode:"insertFirst"},n.params.overlayParams),events:{onSuccess:()=>
1{n.afterSuccessDeleteAction(),n.renderCreateButton({focus:!0}),n.afterSuccessAction("delete")},onError:(e,t)=>n.afterErrorAction("delete",t.message)}}))})},n.renderDeleteButtonView=function(){let t=this;var e=t.msg("delete.title",{"{username}":Application.userGetProfileName(t.params.data)});"icon"===t.params.type?t.nodes.container=Application.Images.embedIcon({icon:t.params.icons.active,title:e,role:"button",classes:t.params.icons.classes,modifiers:t.params.icons.modifiers,container:t.params.container,insertMethod:t.params.insertMethod}):(t.button=Application.Buttons.render({label:t.params.renderLabel?t.msg("delete.label"):null,title:e,icons:{classes:["medium"],before:t.params.icons.active},classes:t.params.buttons.classes,modifiers:t.params.buttons.modifiers,container:t.params.container,insertMethod:t.params.insertMethod}),t.nodes.container=t.button.nodes.container),t.params.renderCounter&&t.renderCounterView(),t.params.sendOnClick&&cm.click.add(t.nodes.container,e=>{cm.preventDefault(e),cm.stopPropagation(e),t.components.request.send()}),t.triggerEvent("onViewRender","delete")},n.renderCounterView=function(){var e=this.getCount();e&&(this.nodes.counter=cm.node("span",{classes:"app__icon__counter"},e),"icon"===this.params.type?cm.appendChild(this.nodes.counter,this.nodes.container):cm.appendChild(this.nodes.counter,this.button.icons.before))},n.afterSuccessCreateAction=function(){},n.afterSuccessDeleteAction=function(){},n.afterSuccessAction=function(e){var t;this.params.tooltip.showOnSuccess&&(t=cm.node("p",this.msg(e+".tooltip",{"{username}":Application.userGetProfileName(this.params.data)})),this.components.tooltip.setTarget(this.nodes.container).setContent(t).show()),this.triggerEvent("onEditableSuccess",e)},n.afterErrorAction=function(e,t){this.params.tooltip.showOnError&&(t=cm.node("p",cm.isEmpty(t)?this.msgParse("server_error"):t),this.components.tooltip.setTarget(this.nodes.container).setContent(t).show()),this.triggerEvent("onEditableError",e)},n.send=function(){return this.components.request.send(),this},n.getCount=function(){return this.params.data.length},n.getContainer=function(){return this.nodes.container}}),cm.define("App.UserFavoriteButton",{extend:"App.UserActionButton",params:{icons:{default:"favorite-border",active:"favorite"},create:{constructor:"App.Request",constructorParams:{ajax:{url:App._api.me.favorite.create}}},delete:{constructor:"App.Request",constructorParams:{ajax:{url:App._api.me.favorite.delete}}}}},function(){App.UserActionButton.apply(this,arguments)}),cm.getConstructor("App.UserFavoriteButton",function(e,t,n,a){n.onConstructProcess=function(){cm.inArray(this.user.favorite,this.params.data.id)?this.renderDeleteButton():this.renderCreateButton()},n.afterSuccessCreateAction=function(){cm.arrayAdd(this.user.favorite,this.params.data.id),Application.User.updateProfile({favorite:this.user.favorite})},n.afterSuccessDeleteAction=function(){cm.arrayRemove(this.user.favorite,this.params.data.id),Application.User.updateProfile({favorite:this.user.favorite})}}),cm.define("App.UserLikeButton",{extend:"App.UserActionButton",params:{icons:{default:"like-border",active:"like"},tooltip:{showOnSuccess:!1},create:{constructor:"App.Request",constructorParams:{ajax:{url:App._api.me.like.create}}},delete:{constructor:"App.Request",constructorParams:{ajax:{url:App._api.me.like.delete}}}}},function(){App.UserActionButton.apply(this,arguments)}),cm.getConstructor("App.UserLikeButton",function(e,t,n,a){n.onConstructProcess=function(){cm.inArray(this.params.data.likes,this.user.id)?this.renderDeleteButton():this.renderCreateButton()},n.getCount=function(){return this.params.data.likes.length},n.afterSuccessCreateAction=function(){cm.arrayAdd(this.params.data.likes,this.user.id),TrackingManager.pushEvent(null,{category:"gallery",action:"photo_like",label:this.params.data.id})},n.afterSuccessDeleteAction=function(){cm.arrayRemove(this.params.data.likes,this.user.id),TrackingManager.pushEvent(null,{category:"gallery",action:"photo_unlike",label:this.params.data.id})}}),cm.getConstructor("App.Application",function(e,t,n){n.User=n.User||{},n.User.getBookingServicesConfig=function(e){var t={Boulevard:{logo:"Boulevard.svg",icon:"Boulevard--icon.png",help:'<p><a href="https://support.boulevard.io/en/articles/5941534-sharing-your-booking-link" target="_blank" rel="noopener">Click here</a> to learn how to share your public link.</p>'},DaySmart:{logo:"DaySmart.svg",icon:"DaySmart--icon.png",help:'<p><a href="https://support.daysmartsalon.com/s/article/create-an-online-booking-website2" target="_blank" rel="noopener">Click here</a> to learn how to share your public link.</p>'},Envision:{logo:"Envision.png",icon:"Envision--icon.png",help:'<p><a href="https://kb.envisionnow.com/online-booking/customer-portal#EnableOnlineBooking" target="_blank" rel="noopener">Click here</a> to learn how to share your public link.</p>'},Glossgenius:{name:"GlossGenius",logo:"Glossgenius.svg",icon:"Glossgenius--icon.svg",help:'<p><a href="https://glossgenius.com/blog/how-to-set-up-glossgenius-booking-site" target="_blank" rel="noopener">Click here</a> to learn how to share your public link.</p>'},Meevo:{logo:"Meevo.svg",icon:"Meevo--icon.svg",help:'<ul class="tpl__list tpl__list--accent p"><li>To find the URL to your Online Booking website, go to "Online Booking Settings".</li><li>At the top of the form, your Online Booking website URL appears in read-only format.</li></ul>'},Phorest:{logo:"Phorest.svg",icon:"Phorest--icon.png",help:'<p><a href="https://support.phorest.com/hc/en-us/articles/360016287019-Where-can-I-get-my-Online-Bookings-Link-URL" target="_blank" rel="noopener">Click here</a> to learn how to share your public link.</p>'},Salonbiz:{name:"SalonBiz",logo:"Salonbiz.svg",icon:"Salonbiz--icon.svg",help:'<p><a href="https://salonbiz.my.site.com/s/article/Online-Booking-Admin" target="_blank" rel="noopener">Click here</a> to learn how to share your public link.</p>'},Square:{logo:"Square.svg",icon:"Square--icon.svg",help:'<ul class="tpl__list tpl__list--accent p"><li>Go to the <a href="https://squareup.com/dashboard/appointments/booking/channels" target="_blank" rel="noopener">Online Booking</a> section.</li><li>Turn on "Enable online booking" option.</li><li>Click "Manage".</li><li>Click "View appointment booking flow".</li></ul>'},Vagaro:{logo:"Vagaro.svg",icon:"Vagaro--icon.png",help:'<p><a href="https://support.vagaro.com/hc/en-us/articles/360004829313-Vagaro-URL-Link" target="_blank" rel="noopener">Click here</a> to learn how to share your public link.</p>'},Zenoti:{logo:"Zenoti.svg",icon:"Zenoti--icon.png",help:'<p><a href="https://help.zenoti.com/en/consumer-experience/webstore-v2/guest-tasks-for-booking-appointments-in-webstore.html" target="_blank" rel="noopener">Click here</a> to learn how to share your public link.</p>'},Website:{logo:"Website.svg",icon:"Website--icon.svg",pref:"Website--pref.svg",help:"<p>Please enter a link to your personal website.</p>"}};return cm.forEach(t,(e,t)=>{e.name||=t,e.pref||=e.logo,e.logo&&=App.getPath("common.img","booking-services/"+e.logo),e.icon&&=App.getPath("common.img","booking-services/"+e.icon),e.pref&&=App.getPath("common.img","booking-services/"+e.pref)}),t[e]||t}}),cm.define("App.UserBookingServicesDeleteConfirm",{extend:"App.ConfirmDialog",params:{data:{},itemData:{},instanceData:{},messageDataMap:{"{id}":"id","{name}":"_name"},ajax:{url:App._api.users.update,method:"PATCH",paramsType:"json"},notifications:{render:!0},request:{enable:!0}}},function(){App.ConfirmDialog.apply(this,arguments)}),cm.getConstructor("App.UserBookingServicesDeleteConfirm",function(e,t,n,a){n.onValidateParams=function(){let t=this;cm.isEmpty(t.params.instanceData)||(t.params.data=t.params.instanceData,cm.isEmpty(t.params.itemData))||(t.params.body={bookingServices:t.params.data.bookingServices.filter(e=>e.name!==t.params.itemData.name)}),a.prototype.onValidateParams.apply(t,arguments)},n.renderMessageView=function(){var e,t=cm.node("div",{classes:"section__block"},a.prototype.renderMessageView.call(this,this.params.itemData));return cm.isEmpty(this.params.itemData)||(e=cm.node("div",{classes:"section__logo"},Application.Images.embed({image:this.params.itemData._assets.logo,alt:this.params.itemData._name,modifiers:["booking-service-form"],imageDataset:{pinNopin:"true"}})),cm.insertFirst(e,t)),t}}),cm.define("App.UserBookingServicesGridlist",{extend:"App.Gridlist",params:{controller:{constructorParams:{adaptive:!0,pagination:!1,perPage:0}}}},function(){App.Gridlist.apply(this,arguments)}),cm.getConstructor("App.UserBookingServicesGridlist",function(e,t,n,a){n.onConstructStart=function(){this.servicesConfig=Application.User.getBookingServicesConfig()},n.configColumns=function(){return[{type:"node",width:"30%",title:this.msg("fields.name"),key:"_nameNode",titleKey:"_name",classes:["cell--name"]},{type:"node",width:"auto",title:this.msg("fields.url"),key:"_urlNode",titleKey:"_url",classes:["cell--url"]},{title:this.msg("fields.name"),type:"node",key:"_cardNode",titleKey:"_name",classes:["cell--card"]},{type:"actions",width:"44",classes:["cell--actions"],actions:this.configActions()}]},n.filterData=function(e){let t=this;return e=(e=cm.isArray(e)?e:[]).filter(e=>t.servicesConfig[e?.name]),cm.forEach(e,e=>{e._assets=t.servicesConfig[e.name]||{},e._name=t.getItemLabelName(e),e._nameData={name:e._name,profile:{lastname:e._name}},e._nameNode=Application.User.embedLink(e._nameData,{renderLink:!1,renderAvatar:!0,avatarImage:e._assets.icon,renderBadge:!1,modifiers:["gridlist"],classes:["is-nowrap"]}),e._url=App.getHref(e.url),e._urlNode=cm.node("a",{href:e._url,target:"_blank",rel:"noopener"},e._url),e._avatarNode=Application.User.embedAvatar(e._nameData,{image:e._assets.icon,modifiers:["card","card-default"],size:"default"}),e._cardNode=Application.Views.embedCard({modifiers:["booking-services"],classes:["n
1o-padding"],icon:{render:!0,content:e._avatarNode},name:{render:!0,tagName:"h5",content:e._name},description:{render:!0,tagName:"div",content:cm.clone(e._urlNode,!0),classes:["h7"]}})}),e},n.getItemLabelName=function(e){return this.servicesConfig[e.name]?.name||e.name}}),cm.define("App.UserBookingServices",{extend:"App.EntityView",params:{name:"booking-services",actions:["list","create","update","delete"],list:{constructor:"App.UserBookingServicesGridlist",constructorParams:{ajax:{enable:!1}}},create:{dataKey:"itemData",constructor:"Form.ProfileBookingServicesContainer",constructorParams:{ajax:{method:"PATCH"}}},update:{dataKey:"itemData",constructor:"Form.ProfileBookingServicesContainer",constructorParams:{ajax:{method:"PATCH"}}},delete:{dataKey:"itemData",constructorParams:{constructor:"App.UserBookingServicesDeleteConfirm",ajax:{method:"PATCH"}}}}},function(){App.EntityView.apply(this,arguments)}),cm.getConstructor("App.UserBookingServices",function(e,t,n,a){n.onConstructStart=function(){this.servicesConfig=Application.User.getBookingServicesConfig()},n.onValidateParamsStart=function(){this.params.instanceData=this.params.data,this.params.list.constructorParams.data=this.params.instanceData.bookingServices,this.checkItemsLimits(this.params.instanceData.bookingServices)},n.getItemLabelName=function(e){return this.servicesConfig[e.name]?.name||e.name},n.renderNotification=function(e,t){switch(t){case"list":this.components.notifications.add({type:"success",label:this.renderNotificationListView(e)});break;case"create":this.components.notifications.add({type:"success",label:this.renderNotificationCreateView(e)});break;case"update":this.components.notifications.add({type:"success",label:this.renderNotificationUpdateView(e)});break;case"delete":this.components.notifications.add({type:"success",label:this.renderNotificationDeleteView(e)})}},n.afterHandler=function(n,a){if(!cm.isEmpty(a)){var s=cm.stringifyJSON(this.params.data.bookingServices)!==cm.stringifyJSON(a.bookingServices);let t=n.getController().getParams("itemData");n=a.bookingServices.find(e=>e?.name===t?.name);this.params.data=this.params.instanceData=a,this.params.list.constructorParams.data=this.params.instanceData.bookingServices,this.checkItemsLimits(this.params.instanceData.bookingServices);let e=null;t?.url!==n?.url?e=!t||cm.isEmpty(t.url)?"create":!n||cm.isEmpty(n.url)?"delete":"update":s&&(e="list"),this.refresh(),this.renderNotification(n||t||{},e)}},n.afterCreate=function(e,t){this.afterHandler(e,t),this.triggerEvent("onCreateComplete",this.params.data),this.triggerEvent("onEditableSuccess",this.params.data),this.afterComplete()},n.afterUpdate=function(e,t){this.afterHandler(e,t),this.triggerEvent("onUpdateComplete",this.params.data),this.triggerEvent("onEditableSuccess",this.params.data),this.afterComplete()},n.afterDelete=function(e,t){this.afterHandler(e,t.data),this.triggerEvent("onDeleteComplete",this.params.data),this.triggerEvent("onEditableSuccess",this.params.data),this.afterComplete()}}),cm.define("App.UserBookingServicesList",{extend:"Com.AbstractController",params:{controllerEvents:!0,renderStructure:!0,embedStructureOnRender:!0,embedStructure:"append",data:{}}},function(){Com.AbstractController.apply(this,arguments)}),cm.getConstructor("App.UserBookingServicesList",function(e,t,n,a){n.onConstructStart=function(){this.views={},this.servicesConfig=Application.User.getBookingServicesConfig()},n.renderView=function(){this.nodes.container=cm.node("div",{classes:"app__booking-services-list"}),cm.isEmpty(this.params.data.bookingServices)?this.views.empty=this.renderEmptyView({container:this.nodes.container}):this.views.list=this.renderListView({container:this.nodes.container})},n.renderEmptyView=function(e){e={nodes:{},params:cm.merge({container:cm.node("div")},e)};return e.nodes.container=cm.node("div",{classes:"cm__empty"},this.msg("empty")),cm.appendChild(e.nodes.container,e.params.container),e},n.renderListView=function(e){let t=this,n={nodes:{},params:cm.merge({container:cm.node("div")},e)};return n.nodes.container=n.nodes.container=cm.node("ul"),cm.forEach(t.params.data.bookingServices,e=>
1{t.renderItemView(e,{container:n.nodes.container})}),cm.appendChild(n.nodes.container,n.params.container),n},n.renderItemView=function(e,t){if(!cm.isEmpty(e)&&this.servicesConfig[e?.name])return(e={data:e,nodes:{},params:cm.merge({container:cm.node("div")},t)}).assets=this.servicesConfig[e.data.name],e.nodes.container=cm.node("li",e.nodes.link=cm.node("a",{classes:["button","button--accent-light","button--booking-service"],href:App.getHref(e.data.url),target:"_blank",rel:"noopener"},cm.node("div",{classes:"label"},this.msg("fields.name",{"{name}":e.assets.name})))),cm.isEmpty(e.assets.logo)||(e.nodes.logo=cm.node("div",{classes:"image"},Application.Images.embed({image:e.assets.logo,alt:e.assets.name,modifiers:["booking-service"],classes:["is-hover-cursor"]})),cm.insertFirst(e.nodes.logo,e.nodes.link)),cm.appendChild(e.nodes.container,e.params.container),e}}),cm.define("App.UserEmploymentBox",{extend:"Com.AbstractController",events:["onError","onEmpty","onListRender","onActionRender","onEditableSuccess","onEditableError"],params:{controllerEvents:!0,renderStructure:!0,embedStructureOnRender:!0,embedStructure:"append",actionsContainer:null,contentContainer:null,contentType:"slider",data:{},fieldsData:{},empty:{classes:["cm__empty","h6"]},overlay:{theme:"light",lazy:!0,container:null,appendMode:"insertFirst"},request:{constructor:"App.Request",constructorParams:{showLoader:!0,autoSend:!1,successOnEmptyData:!0,responseKey:null,responseErrorsKey:"message",ajax:{method:"GET",type:"json",url:App._api.workers.list,uriConfig:{multipleValues:"keys"},params:{limit:0,filter:{"{role}":"{id}"}}}}},join:{constructor:"App.UserEmploymentConfirmContainer",constructorParams:{constructor:"App.UserEmploymentJoinConfirm"}},review:{constructor:"App.UserEmploymentConfirmContainer",constructorParams:{behavior:"review",constructor:"App.EntityDeleteConfirm",ajax:{type:"json",method:"PUT",headers:{"Content-Type":"application/octet-stream"}},approve:{url:App._api.workers.approve},decline:{url:App._api.workers.decline}}},slider:{constructor:"App.UserEmploymentSlider",constructorParams:{}},list:{constructor:"App.UserEmploymentView",constructorParams:{}}}},function(){Com.AbstractController.apply(this,arguments)}),cm.getConstructor("App.UserEmploymentBox",function(e,t,n,a){n.onConstructStart=function(){this.views={},this.profileData=null,this.counterpartyRole=null,this.actionButtonAvailable=!1,this.actionButtonType=null},n.onValidateParams=function(){this.profileData=Application.User.validateProfile(this.params.data,{populateData:!1}),this.counterpartyRole="tech"===this.profileData.role?"salon":"tech",this.actionButtonAvailable=this.profileData.isEmploymentCounterparty},n.onDestruct=function(){cm.forEach(this.components,e=>e.destruct())},n.renderView=function(){this.nodes.container=cm.node("div",{classes:"app__user-employment"}),this.views.skeleton=this.renderSkeletonView({container:this.nodes.container})},n.renderViewModel=function(){let t=this;a.prototype.renderViewModel.apply(t,arguments),cm.getConstructor(t.params.request.constructor,e=>{t.components.request=new e(cm.merge(t.params.request.constructorParams,{data:t.profileData.data,overlayParams:t.params.overlay,events:{onSuccess:t.renderResponse.bind(t),onError:t.renderError.bind(t)}})),t.request()})},n.renderResponse=function(e,t){let n=this;cm.clearNode(n.nodes.container),cm.forEach(t.data,e=>{!n.profileData.isMe&&Application.User.isBeautician()&&e.initiator===Application.User.getRole()&&e[e.initiator].id===Application.userGetID()&&(n.initiatorItemData=e,n.initiatorRequestStatus=cm.isEmpty(e.approved)?"pending":e.approved),!n.profileData.isMe&&Application.User.isBeautician()&&e.initiator===n.profileData.role&&e[Application.User.getRole()].id===Application.userGetID()&&(n.recipientItemData=e,n.recipientRequestStatus=cm.isEmpty(e.approved)?"pending":e.approved),"yes"===e.approved&&Application.User.isProfileVisible(e[n.counterpartyRole])&&n.itemsData.push(e),cm.isEmpty(e.approved)&&n.pendingCount++}),cm.isEmpty(n.itemsData)||(n.views.list=n.renderListView({container:n.getContentContainer()})),n.hasAction()&&(n.views.action=n.renderActionView({container:n.getActionsContainer()})),cm.isEmpty(n.itemsData)&&(n.renderEmpty(),n.triggerEvent("onEmpty"))},n.renderError=function(e,t){cm.clearNode(this.nodes.container);t=cm.isEmpty(t.message)?this.msgParse("server_error"):t.message;this.views.empty=this.renderMessageView({message:t,container:this.getContentContainer()}),this.triggerEvent("onError")},n.renderEmpty=function(){var e=this,t=e.profileData.isMe&&e.pendingCount?e.msgParse("review."+e.profileData.role,{number:cm.formatNumber(e.pendingCount),count:e.pendingCount}):e.msg("empty."+e.profileData.role);e.views.empty=e.renderMessageView({message:t,container:e.getContentContainer()})},n.renderSkeletonView=function(e){let t={nodes:{},params:cm.merge({container:cm.node("div")},e)},n=0,a=(this.profileData.isMe||cm.isBreakpoint("desktopDown")?n=1:(0<this.getCount()&&n++,this.hasAction()&&n++),[]);return cm.isBreakpoint("desktopDown")&&a.push("no-padding"),cm.forEach(n,()=>{Application.User.renderCard(null,{container:t.params.container,classes:a,modifiers:["employment"],renderLink:!0,user:{render:!0,renderBadge:!1,markPrivate:!0,renderSkeleton:!0},description:{render:!0,renderBadge:!0,classes:["card__block","is-flex","h7"]}})}),t},n.renderMessageView=function(e){e={nodes:{},params:cm.merge({message:"",container:cm.node("div")},e)};return cm.clearNode(e.params.container),e.nodes.container=cm.node("div",{classes:this.params.empty.classes,innerHTML:e.params.message}),cm.appendChild(e.nodes.container,e.params.container),this.triggerEvent("onListRender","message"),e},n.renderListView=function(e){let t=this;e={nodes:{},params:cm.merge({container:cm.node("div")},e)};cm.clearNode(e.params.container);let n={data:t.itemsData,userData:t.profileData.data,fieldsData:t.params.fieldsData,container:e.params.container};return"slider"===t.params.contentType?(t.components.slider?.destruct(),cm.getConstructor(t.params.slider.constructor,e=>{t.components.slider=new e(cm.merge(t.params.slider.constructorParams,n))})):(t.components.list?.destruct(),cm.getConstructor(t.params.list.constructor,e=>{t.components.list=new e(cm.merge(t.params.list.constructorParams,n))})),t.triggerEvent("onListRender",t.params.contentType),e},n.renderActionView=function(e){e={nodes:{},params:cm.merge({container:cm.node("div")},e)};return cm.clearNode(e.params.container),cm.inArray(["yes","no","pending"],this.initiatorRequestStatus)?this.renderInitiatorAction(e):cm.inArray(["yes","no","pending"],this.recipientRequestStatus)?"pending"===this.recipientRequestStatus?this.renderReviewAction(e):this.renderRecipientAction(e):this.renderJoinAction(e)}
1,n.renderInitiatorAction=function(e){return e.nodes.action=Application.Views.embedStatusCard({container:e.params.container,label:this.msg(`initiator.${this.initiatorRequestStatus}.`+Application.User.getRole()),icon:this.msg(`initiator.${this.initiatorRequestStatus}.icon`)}),this.actionButtonType="passive",this.triggerEvent("onActionRender",this.actionButtonType),e},n.renderRecipientAction=function(e){return e.nodes.action=Application.Views.embedStatusCard({container:e.params.container,label:this.msg(`recipient.${this.recipientRequestStatus}.`+Application.User.getRole()),icon:this.msg(`recipient.${this.recipientRequestStatus}.icon`)}),this.actionButtonType="passive",this.triggerEvent("onActionRender",this.actionButtonType),e},n.renderReviewAction=function(t){let n=this;return t.nodes.action=Application.Buttons.embed({container:t.params.container,classes:["is-box"],modifiers:["editable","editable-card"],label:n.msg("join."+Application.User.getRole()),icons:{classes:["is-round","large","inset-small"],before:"plus"}}),cm.getConstructor(n.params.review.constructor,e=>{n.components.review&&n.components.review.destruct(),n.components.review=new e(cm.merge(n.params.review.constructorParams,{node:t.nodes.action,data:n.recipientItemData,messages:cm.getMessages("App.UserEmployment","review"),events:{onSuccess:(e,t)=>n.afterSuccess(t),onError:(e,t)=>n.afterError(t)},params:{callbacks:{renderContent:(e,t)=>Application.User.embedConfirmMessage(n.profileData.data,e.renderMessageView())}}}))}),n.actionButtonType="active",n.triggerEvent("onActionRender",n.actionButtonType),t},n.renderJoinAction=function(t){let n=this;return t.nodes.action=Application.Buttons.embed({container:t.params.container,classes:["is-box"],modifiers:["editable","editable-card"],label:n.msg("join."+Application.User.getRole()),icons:{classes:["is-round","large","inset-small"],before:"plus"}}),cm.getConstructor(n.params.join.constructor,e=>{n.components.join&&n.components.join.destruct(),n.components.join=new e(cm.merge(n.params.join.constructorParams,{node:t.nodes.action,data:n.profileData.data,messages:cm.getMessages("App.UserEmployment","join"),events:{onSuccess:(e,t)=>n.afterSuccess(t),onError:(e,t)=>n.afterError(t)},params:{callbacks:{renderContent:(e,t)=>Application.User.embedConfirmMessage(n.profileData.data,e.renderMessageView())}}}))}),n.actionButtonType="active",n.triggerEvent("onActionRender",n.actionButtonType),t},n.afterSuccess=function(e){this.request(),this.triggerEvent("onEditableSuccess"),UserHelper.requestNotifications()},n.afterError=function(e){this.triggerEvent("onEditableError")},n.request=function(){this.itemsData=[],this.itemsListData=[],this.pendingCount=0,this.initiatorItemData=null,this.initiatorRequestStatus=null,this.recipientItemData=null,this.recipientRequestStatus=null,this.components.request?.send()},n.hasContent=function(){return this.hasAction()||0<this.getCount()},n.hasAction=function(){return this.actionButtonAvailable},n.getCount=function(){var e=this.profileData.data?.workers;return cm.isArray(e)?e.length:e},n.getContentContainer=function(){return this.params.contentContainer||this.nodes.container},n.getActionsContainer=function(){return this.params.actionsContainer||this.nodes.container}}),cm.define("App.UserEmploymentConfirmContainer",{extend:"App.ConfirmDialogContainer",params:{closeOnSuccess:!0,closeOnError:!1,placeholderParams:{constructorParams:{width:App._config.dialog.widthHalf,theme:"theme-light"}},buttons:{false:{classes:["button-transparent"]},true:{classes:["button-primary"]}}}},function(e){App.ConfirmDialogContainer.apply(this,arguments)}),cm.getConstructor("App.UserEmploymentConfirmContainer",function(e,t,n,a){n.onValidateParamsStart=function(){var e=this.msgObject(Application.User.getRole());this.setParams({messages:e})}}),cm.define("App.UserEmployment",{extend:"App.EntityView",params:{name:"employment",crud:App._api.workers,actions:["list","create","review","view","conversation","delete"],create:{constructor:"App.UserSearchContainer",constructorParams:{}},list:{constructor:"App.UserEmploymentList",constructorParams:{}},conversations:{constructor:"App.ConversationsContainer",constructorParams:{}},review:{constructor:"App.UserEmploymentConfirmContainer",constructorParams:{behavior:"review",constructor:"App.EntityDeleteConfirm",ajax:{type:"json",method:"PUT",headers:{"Content-Type":"application/octet-stream"}},approve:{url:App._api.workers.approve},decline:{url:App._api.workers.decline}}}}},function(){App.EntityView.apply(this,arguments)}),cm.getConstructor("App.UserEmployment",function(e,t,n,a){n.onValidateParamsStart=function(){this.profileData=Application.User.validateProfile(this.params.data,{populateData:!1}),this.counterpartyRole="tech"===this.profileData.role?"salon":"tech",this.params.list.constructorParams.data=this.profileData.data,this.params.list.constructorParams.ajax.variables=this.profileData.data},n.getItemLabelName=function(e){return cm.isArray(e)?e.map(e=>Application.userGetProfileName(e)):Application.userGetProfileName(e[this.counterpartyRole])},n.configListActions=function(){var e=this,t=a.prototype.configListActions.apply(e,arguments);return t.unshift({name:"conversation",label:e.msg("actions.conversation"),access:e.hasAction("conversation"),icon:Application.Images.embedIcon({icon:"message-border",classes:["size-field-half","inset-small"],ariaHidden:!0}
1),attr:{href:"{_conversationHref}",target:"_blank","dataset-no-route":"true"},preventDefault:!0,dataPath:e.counterpartyRole,constructor:e.params.conversations.constructor,constructorParams:e.params.conversations.constructorParams}),t.unshift({name:"view",label:e.msg("actions.view"),access:e.hasAction("view"),icon:Application.Images.embedIcon({icon:"member-border",classes:["size-field-half","inset-small"],ariaHidden:!0}),preventDefault:!1,attr:{href:"{_profile.href}",target:"_blank","dataset-no-route":"true"}}),t.unshift({name:"review",label:e.msg("actions.review"),access:e.hasAction("review")&&e.params.editable.enable,icon:Application.Images.embedIcon({icon:"review-border",classes:["size-field-half"],ariaHidden:!0}),constructor:e.params.review.constructor,constructorParams:e.getReviewActionParams(e.params.review.constructorParams)}),t},n.getReviewActionParams=function(e){let n=this;return cm.merge(e,{messages:n.msgObject("review"),events:{onSuccess:n.afterReview.bind(n),onError:n.afterError.bind(n)},params:{callbacks:{renderContent:(e,t)=>Application.User.embedConfirmMessage(t[n.counterpartyRole],e.renderMessageView())}}})},n.getDeleteActionParams=function(e){let n=this;return cm.merge(e,{messages:n.msgObject("delete"),events:{onSuccess:n.afterDelete.bind(n),onError:n.afterError.bind(n)},params:{callbacks:{renderContent:(e,t)=>Application.User.embedConfirmMessage(t[n.counterpartyRole],e.renderMessageView())}}})},n.renderNotificationCreateView=function(e){e=this.getItemLabelName(e),e=(cm.isArray(e)?e:[e]).map(e=>`<strong>${e}</strong>`),e=this.msgParse("notifications.created",{count:e.length,name:cm.joinIntl(e)});return cm.node("div",{classes:"pt__line-info"},cm.node("div",{classes:"item",innerHTML:e}))},n.renderNotificationReviewView=function(e,t){return cm.node("div",{classes:"pt__line-info"},cm.node("div",{classes:"item",innerHTML:this.msgParse("approve"===t?"notifications.approved":"decline"===t?"notifications.declined":"notifications.reviewed",{name:this.getItemLabelName(e)})}))},n.afterLoadSuccess=function(e,t){let n=this;cm.isEmpty(t)||(t=t.map(e=>e[n.counterpartyRole]),n.components.create?.setControllerParams({data:t})),a.prototype.afterLoadSuccess.apply(n,arguments)},n.afterCreate=function(e,t){this.refresh(),this.components.notifications.add({type:"success",label:this.renderNotificationCreateView(t)}),this.triggerEvent("onCreateComplete",t),this.triggerEvent("onEditableSuccess"),this.afterComplete()},n.afterReview=function(e,t,n){e=e.getParams("data"),e=cm.merge(e,t);this.refresh(),this.components.notifications.add({type:"success",label:this.renderNotificationReviewView(e,n)}),this.triggerEvent("onUpdateComplete",e),this.triggerEvent("onEditableSuccess"),this.afterComplete()},n.afterComplete=function(){a.prototype.afterComplete.apply(this,arguments),cm.onSchedule(()=>UserHelper.requestNotifications())}}),cm.define("App.UserEmploymentIndividual",{extend:"App.UserEmployment",params:{}},function(){App.UserEmployment.apply(this,arguments)}),cm.define("App.UserEmploymentJoinConfirm",{extend:"App.ConfirmDialog",params:{ajax:{url:App._api.workers.create,method:"POST",type:"json",paramsType:"json",params:{target:"{id}"}},notifications:{render:!0},request:{enable:!0,constructor:"App.Request",constructorParams:{responseKey:null,responseErrorsKey:"message"}}}},function(e){App.ConfirmDialog.apply(this,arguments)}),cm.define("App.UserEmploymentList",{extend:"App.RequestList",params:{ajax:{uriConfig:{multipleValues:"keys"},params:{filter:{"{role}":"{id}"}}},controller:{constructorParams:{responseKey:null}}}},function(){App.RequestList.apply(this,arguments)}),cm.getConstructor("App.UserEmploymentList",function(e,t,n,a){n.onValidateParamsStart=function(){this.profileData=Application.User.validateProfile(this.params.data,{populateData:!1}),this.counterpartyRole="tech"===this.profileData.role?"salon":"tech",this.specialityList=Application.User.convertSpecialityToList(this.params.fieldsData.speciality)},n.filterData=function(e){let n=this;return cm.forEach(e,e=>{var t=e[n.counterpartyRole];e._profile=Application.User.validateProfile(t,{populateData:!1,markPrivate:!0}),e._conversationHref=Router.getURL("user.conversation",null,{id:t.id}),e._email=t.email||n.msg("fields.emailHidden"),e._emailNode=cm.isEmpty(t.email)?cm.node("span",{classes:"cm__font--placeholder-cursive"},n.msg("fields.emailHidden")):cm.node("a",{href:"mailto:"+t.email},t.email),e._status={status:"yes"===e.approved?"success":"no"===e.approved?"danger":"warning",icon:"yes"===e.approved?"approve":"no"===e.approved?"decline":"pending",label:"yes"===e.approved?n.msg(e.initiator===n.counterpartyRole?"status.approved":"status.approvedRecipient"):"no"===e.approved?n.msg(e.initiator===n.counterpartyRole?"status.declined":"status.declinedRecipient"):n.msg(e.initiator===n.counterpartyRole?"status.pending":"status.pendingRecipient")},e._statusNode=Application.Views.embedStatus(e._status),e._actions=[],n.hasAction("view")&&!e._profile.isPlaceholder&&e._actions.push("view"),n.hasAction("conversation")&&!e._profile.isPlaceholder&&e._actions.push("conversation"),n.hasAction("delete")&&e._actions.push("delete"),n.hasAction("review")&&cm.isEmpty(e.approved)&&e.initiator===n.counterpartyRole&&e._actions.push("review")}),e},n.getItemLabelName=function(e){return cm.isArray(e)?e.map(e=>Application.userGetProfileName(e)):Application.userGetProfileName(e[this.counterpartyRole])},n.renderItemStructure=function(e){e.user=e.data[this.counterpartyRole],e.card=Application.User.renderDetailedCard(e.user,{tagName:"article",container:e.params.container,classes:["has-border","has-canvas--desktop"],modifiers:[this.params.name+"-list"],card:{target:"_blank"},description:{renderBadge:!1,renderHiring:!1,entry:e.data._statusNode},address:{render:!0},speciality:{render:!0,list:this.specialityList},licenses:{render:!0},editable:{enable:this.checkItemActionsAccess(e),content:e.menu?.getContainer()}})},n.checkItemMenuActionAccess=function(e,t){return t.access&&cm.inArray(e.data._actions,t.name)}
1}),cm.define("App.UserEmploymentSalon",{extend:"App.UserEmployment",params:{}},function(){App.UserEmployment.apply(this,arguments)}),cm.define("App.UserEmploymentSlider",{extend:"Com.AbstractController",params:{controllerEvents:!0,renderStructure:!0,embedStructureOnRender:!0,embedStructure:"append",redrawOnRender:"full",data:{},userData:{},fieldsData:{},slider:{constructor:"App.Slider",constructorParams:{className:["com__slider--employment"],effect:"pull-parallax-css",height:"max",minHeight:72,time:750,delay:4e3,cycle:!0,slideshow:!0}},favorite:{constructor:"App.UserFavoriteButton",constructorParams:{renderLabel:!1,type:"icon",icons:{classes:["large","inset-field-half"]}}}}},function(){Com.AbstractController.apply(this,arguments)}),cm.getConstructor("App.UserEmploymentSlider",function(e,t,n,a){n.onConstructStart=function(){this.slides=[]},n.onValidateParamsStart=function(){this.profileData=Application.User.validateProfile(this.params.userData,{populateData:!1}),this.counterpartyRole="tech"===this.profileData.role?"salon":"tech",this.specialityList=Application.User.convertSpecialityToList(this.params.fieldsData.speciality),this.params.data.length<2&&(this.params.slider.constructorParams.controls=!1)},n.onConstructEnd=function(){let e=this;cm.onSchedule(()=>cm.removeClass(e.nodes.container,"is-transparent"))},n.onDestructEnd=function(){this.components.slider?.destruct()},n.renderView=function(){let t=this;t.nodes.container=cm.node("div",{classes:["app__user-employment-slider","is-transparent"]}),cm.forEach(t.params.data,e=>{e=t.renderItemView(e);t.slides.push(e.nodes)})},n.renderItemView=function(e){e={data:e,nodes:{}};return e.user=Application.User.validateProfile(e.data[this.counterpartyRole]),e.nodes.container=cm.node("li",{classes:"app__user-employment-slide"},e.nodes.inner=cm.node("div",{classes:"inner"})),e.card=Application.User.renderDetailedCard(e.user.data,{container:e.nodes.inner,tagName:"article",classes:["has-background"],modifiers:["employment-list"],card:{linkClasses:["has-link-hover"]},address:{render:!0},speciality:{render:!0,list:this.specialityList},licenses:{render:!0},editable:{enable:Application.User.isAuthorized()&&!e.user.isMe,content:this.embedFavoriteAction(e)}}),e},n.embedFavoriteAction=function(t){let n=this;if(Application.User.isAuthorized())return t.nodes.editable=cm.node("div"),cm.getConstructor(n.params.favorite.constructor,e=>{t.component=new e(cm.merge(n.params.favorite.constructorParams,{container:t.nodes.editable,data:t.user.data}))}),t.nodes.editable},n.renderViewModel=function(){let t=this;a.prototype.renderViewModel.apply(t,arguments),cm.getConstructor(t.params.slider.constructor,e=>{t.components.slider=new e(cm.merge(t.params.slider.constructorParams,{container:t.nodes.container,items:t.slides}))})}}),cm.define("App.UserEmploymentViewContainer",{extend:"Com.AbstractContainer",params:{constructor:"App.UserEmploymentView",constructorParams:{},data:{},userData:{},fieldsData:{},placeholder:!0,placeholderConstructor:"Com.DialogContainer",placeholderParams:{renderTitle:!0,renderButtons:!1,constructorParams:{width:App._config.dialog.widthContent,theme:"theme-light"}}}},function(){Com.AbstractContainer.apply(this,arguments)}),cm.getConstructor("App.UserEmploymentViewContainer",function(e,t,n,a){n.onValidateParamsStart=function(){let t=this;t.profileData=Application.User.validateProfile(t.params.userData,{populateData:!1});var e=t.msgObject(t.profileData.role);t.setMessages(e);cm.forEach(["data","userData","fieldsData"],function(e){void 0!==t.params[e]&&(t.params.constructorParams[e]=t.params[e])})}}),cm.define("App.UserEmploymentView",{extend:"Com.AbstractController",params:{controllerEvents:!0,renderStructure:!0,embedStructureOnRender:!0,embedStructure:"append",data:{},userData:{},fieldsData:{},favorite:{constructor:"App.UserFavoriteButton",constructorParams:{renderLabel:!1,type:"icon"}}}},function(){Com.AbstractController.apply(this,arguments)}),cm.getConstructor("App.UserEmploymentView",function(e,t,n,a){n.onValidateParamsStart=function(){this.profileData=Application.User.validateProfile(this.params.userData,{populateData:!1}),this.counterpartyRole="tech"===this.profileData.role?"salon":"tech",this.specialityList=Application.User.convertSpecialityToList(this.params.fieldsData.speciality)},n.renderView=function(){let t=this;t.nodes.container=cm.node("div",{classes:["app__cards-grid","app__cards-grid--employment-list"]}),cm.forEach(t.params.data,e=>
1{t.renderItemView(e,{container:t.nodes.container})})},n.renderItemView=function(e,t){e={data:e,nodes:{},params:cm.merge({container:cm.node("div")},t)};return e.user=Application.User.validateProfile(e.data[this.counterpartyRole]),e.classes=["has-background","has-canvas--desktop"],this.params.opener&&e.classes.push("has-border"),e.card=Application.User.renderDetailedCard(e.user.data,{container:e.params.container,tagName:"article",classes:e.classes,modifiers:["employment-list"],address:{render:!0},speciality:{render:!0,list:this.specialityList},licenses:{render:!0},editable:{enable:Application.User.isAuthorized()&&!e.user.isMe,content:this.embedFavoriteAction(e)}}),e},n.embedFavoriteAction=function(t){let n=this;if(Application.User.isAuthorized())return t.nodes.editable=cm.node("div"),cm.getConstructor(n.params.favorite.constructor,e=>{t.component=new e(cm.merge(n.params.favorite.constructorParams,{container:t.nodes.editable,data:t.user.data}))}),t.nodes.editable}}),App._path["components.UserLicenses.img"]="./img/components/UserLicenses",cm.getConstructor("App.Application",function(e,t,n){n.User=n.User||{},n.User.getExpireLicenseCount=function(){var e=Application.userGetProfile();let t=0;return cm.forEach(e.licenses,e=>{e=e.date||e.expired;e&&Application.User.getLicenseExpireDays(e)<=30&&t++}),cm.forEach(e.nceaLicenses,e=>{e=e.date||e.expired;e&&Application.User.getLicenseExpireDays(e)<=30&&t++}),t},n.User.getLicenseExpireDays=function(e){e=cm.parseDate(e,cm._config.dateTimeFormat);return Math.ceil((e.getTime()-Date.now())/864e5)},n.User.renderLicenseCard=function(e,t){e={data:e,nodes:{},params:cm.merge({tagName:"div",classes:[],defaultClasses:["is-flex","no-padding"],renderLabel:!0,renderFullInfo:!0,renderIcon:!0,renderExpireNotice:!1,iconClasses:["x-large"],container:cm.node("div"),action:{}},t)};return e.data.number=e.data.number||e.data.licenseno,e.data.date=e.data.date||e.data.expired,cm.isEmpty(e.data.state)||(e.state=Application.Intl.getStateName("usa",e.data.state),e.stateAbbr=Application.Intl.hasState("usa",e.data.state)?e.data.state:e.data.state.substring(0,1)),cm.isEmpty(e.data.date)||(e.date=cm.parseFormatDate(e.data.date,cm._config.dateTimeFormat,App._config.formats.date),e.dateShort=cm.parseFormatDate(e.data.date,cm._config.dateTimeFormat,App._config.formats.dateShort),e.expireDays=Application.User.getLicenseExpireDays(e.data.date)),e.params.renderIcon&&(e.nodes.icon=cm.node("div",{classes:"app__icon-text"},e.stateAbbr),cm.setCSSVariable("--color-hue",App.stringHashHue(e.data.id),e.nodes.icon),cm.addClass(e.nodes.icon,e.params.iconClasses)),e.nodes.description=[],e.nodes.fieldItems=[],e.params.renderFullInfo&&!cm.isEmpty(e.data.number)&&(t="Outside US"===e.state?Application.msg("User.licence.international"):[cm.node("b","#"),cm.textNode(e.data.number)],e.nodes.number=cm.node("div",{classes:["card__value","card__number"]},t),e.nodes.fieldItems.push(e.nodes.number)),e.params.renderFullInfo&&!cm.isEmpty(e.date)&&(e.nodes.date=cm.node("div",{classes:["card__value","card__normal"],title:e.date},e.dateShort),e.nodes.fieldItems.push(e.nodes.date)),cm.isEmpty(e.data.type)||(e.nodes.type=cm.node("div",{classes:["card__value","card__normal","card__type"]},e.data.type),e.nodes.fieldItems.push(e.nodes.type)),0<e.nodes.fieldItems.length&&(e.nodes.fields=cm.node("div",{classes:["card__details","has-separators","h7"]},...e.nodes.fieldItems),e.nodes.description.push(e.nodes.fields)),e.nodes.noriceItems=[],e.params.renderExpireNotice&&!cm.isEmpty(e.expireDays)&&(t={expired:{icon:"info-border",iconClasses:["small"],label:Application.msgParse("licenses.notices.expired"),status:"danger"},expire:{icon:"info-border",iconClasses:["small"],label:Application.msgParse("licenses.notices.expire",{count:e.expireDays}),status:"warning"},fresh:{icon:"info-border",iconClasses:["small"],label:Application.msgParse("licenses.notices.expire",{count:e.expireDays}),status:"success"}},e.nodes.expireNotice=Application.Views.embedStatus(30<e.expireDays?t.fresh:0<e.expireDays?t.expire:t.expired),e.nodes.noriceItems.push(e.nodes.expireNotice)),0<e.nodes.noriceItems.length&&(e.nodes.notices=cm.node("div",{classes:["card__notices","h7"]},...e.nodes.noriceItems),e.nodes.description.push(e.nodes.notices)),e.card=Application.Views.renderCard({tagName:e.params.tagName,container:e.params.container,modifiers:["user-license"],classes:e.params.classes,defaultClasses:e.params.defaultClasses,icon:{render:e.params.renderIcon,title:e.state,content:e.nodes.icon},name:{render:e.params.renderLabel,tagName:"h5",content:e.state},description:{render:0<e.nodes.description.length,tagName:"div",content:e.nodes.description},action:e.params.action}),e.nodes.container=e.card.nodes.container,e},n.User.embedLicenseCard=function(){return Application.User.renderLicenseCard.apply(this,arguments).nodes.container},n.User.renderNCEACard=function(e,t){e={data:e,nodes:{},vars:{},params:cm.merge({tagName:"div",classes:[],defaultClasses:["is-flex","no-padding"],renderLabel:!0,renderFullInfo:!0,renderExpireNotice:!1,renderIcon:!0,iconClasses:["x-large"],iconCompact:!1,container:cm.node("div"),action:{}},t)};return e.data.number=e.data.number||e.data.licenseno,e.data.date=e.data.date||e.data.expired,cm.isEmpty(e.data.date)||(e.vars.date=cm.parseFormatDate(e.data.date,cm._config.dateTimeFormat,App._config.formats.date),e.vars.dateShort=cm.parseFormatDate(e.data.date,cm._config.dateTimeFormat,App._config.formats.dateShort),e.vars.expireDays=Application.User.getLicenseExpireDays(e.data.date)),e.params.renderIcon&&(t=e.params.iconCompact?"ncea-compact.png":"ncea.png",e.nodes.icon=cm.node("div",{classes:["app__icon-text","app__icon-text--badge"]},Application.Images.embed({image:App.getPath("components.UserLicenses.img",t),alt:Application.msg("licenses.ncea.logo"),classes:["is-contain"],imageDataset:{pinNopin:"true"}})),cm.addClass(e.nodes.icon,e.params.iconClasses)),e.nodes.description=[],e.nodes.fieldItems=[],e.params.renderFullInfo||(e.nodes.label=cm.node("div",{classes:["card__value","card__normal"],innerText:Application.msg("licenses.ncea.label")}),e.nodes.fieldItems.push(e.nodes.label)),e.params.renderFullInfo&&!cm.isEmpty(e.vars.date)&&(e.nodes.date=cm.node("div",{classes:"card__value",title:e.vars.date,innerText:Application.msgParse(Application.msg("licenses.ncea.date"),e.vars)}),e.nodes.fieldItems.push(e.nodes.date)),0<e.nodes.fieldItems.length&&(e.nodes.fields=cm.node("div",{classes:["card__details","has-separators","h7"]},...e.nodes.fieldItems),e.nodes.description.push(e.nodes.fields)),e.nodes.noriceItems=[],e.params.renderExpireNotice&&!cm.isEmpty(e.vars.expireDays)&&(t={expired:{icon:"info-border",iconClasses:["small"],label:Application.msgParse("licenses.ncea.notices.expired"),status:"danger"},expire:{icon:"info-border",iconClasses:["small"],label:Application.msgParse("licenses.ncea.notices.expire",{count:e.vars.expireDays}),status:"warning"},fresh:{icon:"info-border",iconClasses:["small"],label:Application.msgParse("licenses.ncea.notices.expire",{count:e.vars.expireDays}),status:"success"}},t=30<e.vars.expireDays?t.fresh:0<e.vars.expireDays?t.expire:t.expired,e.nodes.expireNotice=Application.Views.embedStatus(t),e.nodes.noriceItems.push(e.nodes.expireNotice)),0<e.nodes.noriceItems.length&&(e.nodes.notices=cm.node("div",{classes:["card__notices","h7"]},...e.nodes.noriceItems),e.nodes.description.push(e.nodes.notices)),e.card=Application.Views.renderCard({tagName:e.params.tagName,container:e.params.container,modifiers:["user-license"],classes:e.params.classes,defaultClasses:e.params.defaultClasses,icon:{render:e.params.renderIcon,title:Application.msg("licenses.ncea.logo"),content:e.nodes.icon},name:{render:e.params.renderLabel,tagName:"h5",content:Application.msg("licenses.ncea.label")},description:{render:0<e.nodes.description.length,tagName:"div",content:e.nodes.description},action:e.params.action}),e.nodes.container=e.card.nodes.container,e}}),cm.define("App.UserLicensesBox",{extend:"Com.AbstractController",params:{controllerEvents:!0,renderStructure:!0,embedStructureOnRender:!0,embedStructure:"append",modifiers:[],data:{},iconClasses:["x-large"],iconCompact:!1,renderLabel:!0,renderFullInfo:!0,renderActions:!0,renderLicenses:!0,renderNCEA:!0,preview:{constructor:"Com.ImagePreviewContainer",constructorParams:{params:{showCounter:!1,showTitle:!0,showZoom:!1}}}}},function(){Com.AbstractController.apply(this,arguments)}),cm.getConstructor("App.UserLicensesBox",function(e,t,n,a){n.onConstructStart=function(){this.views={}},n.onDestruct=function(){this.components.preview?.destruct()},n.renderView=function(){var e=this;e.nodes.container=cm.node("div",{classes:"app__user-licenses-list"}),e.params.renderLicenses&&!cm.isEmpty(e.params.data.licenses)||e.params.renderNCEA&&!cm.isEmpty(e.params.data.nceaLicenses)?e.views.list=e.renderListView({container:e.nodes.container}):e.views.empty=e.renderEmptyView({container:e.nodes.container})},n.setAttributes=function(){let t=this;a.prototype.setAttributes.apply(t,arguments),cm.forEach(t.params.modifiers,e=>{cm.addClass(t.nodes.container,"app__user-licenses-list--"+e)})},n.renderEmptyView=function(e){e={nodes:{},params:cm.merge({container:cm.node("div")},e)};
1return e.nodes.container=cm.node("div",{classes:"cm__empty"},this.msg("empty")),cm.appendChild(e.nodes.container,e.params.container),e},n.renderListView=function(e){let t=this,n={nodes:{},params:cm.merge({container:cm.node("div")},e)};return n.nodes.container=n.nodes.container=cm.node("ul"),t.params.renderLicenses&&cm.forEach(t.params.data.licenses,e=>{t.renderItemView(e,{container:n.nodes.container})}),t.params.renderNCEA&&cm.forEach(t.params.data.nceaLicenses,e=>{t.renderNCEAItemView(e,{container:n.nodes.container})}),cm.appendChild(n.nodes.container,n.params.container),n},n.renderItemView=function(e,t){let n=this,a={data:e,nodes:{},params:cm.merge({container:cm.node("div")},t)};return a.nodes.container=cm.node("li"),n.params.renderActions&&!cm.isEmpty(a.data.image)&&(a.nodes.preview=Application.Images.embedIcon({icon:"attachment",title:n.msg("actions.image"),classes:["large","has-padding"],modifiers:["action"],role:"button",ariaHasPopup:"dialog"}),a.preview={type:Application.Images.getType(a.data.image),url:Application.Images.getSrc(a.data.image),name:n.msg("fields.image")},cm.click.add(a.nodes.preview,()=>{n.components.preview.set(a.preview).open()})),a.card=Application.User.renderLicenseCard(a.data,{classes:["is-valign-top"],renderLabel:n.params.renderLabel,renderFullInfo:n.params.renderFullInfo,iconClasses:n.params.iconClasses,iconCompact:n.params.iconCompact,container:a.nodes.container,action:{render:cm.isNode(a.nodes.preview),content:a.nodes.preview}}),cm.appendChild(a.nodes.container,a.params.container),a},n.renderNCEAItemView=function(e,t){e={data:e,nodes:{},params:cm.merge({container:cm.node("div")},t)};return e.nodes.container=cm.node("li"),e.card=Application.User.renderNCEACard(e.data,{classes:["is-valign-top"],renderLabel:this.params.renderLabel,renderFullInfo:this.params.renderFullInfo,iconClasses:this.params.iconClasses,iconCompact:this.params.iconCompact,container:e.nodes.container,action:{render:cm.isNode(e.nodes.preview),content:e.nodes.preview}}),cm.appendChild(e.nodes.container,e.params.container),e},n.renderViewModel=function(){let t=this;a.prototype.renderViewModel.apply(t,arguments),cm.getConstructor(t.params.preview.constructor,function(e){t.components.preview=new e(t.params.preview.constructorParams)})}}),cm.define("App.UserLicensesCreateContainer",{extend:"App.FormContainer",params:{constructor:"App.UserLicensesCreateIndividual",constructorParams:{section:{titleTagName:"h2",classes:[]}},placeholderParams:{renderButtons:!1,constructorParams:{animateHeight:!0}}}},function(){App.FormContainer.apply(this,arguments)}),cm.define("App.UserLicensesCreateIndividual",{extend:"App.UserSignup",params:{name:"license-create-individual",modifiers:["license-create"],verification:{renderBackLink:!1,renderTabs:!1,focusField:"firstname",constructor:"Form.LicenseCheckIndividualRenew",constructorParams:{ajax:{url:App._api.userslicenses_check}}},validation:{enable:!1},registration:{constructor:"Form.UserLicense",constructorParams:{}}}},function(){App.UserSignup.apply(this,arguments)}),cm.getConstructor("App.UserLicensesCreateIndividual",function(e,t,n,a){n.processVerificationData=function(e){return e=a.prototype.processVerificationData.apply(this,arguments),cm.merge(this.params.data,e)}}),cm.define("App.UserLicensesCreateSalon",{extend:"App.UserSignup",params:{name:"license-create-salon",modifiers:["license-create"],verification:{renderBackLink:!1,renderTabs:!1,focusField:"businessname",constructor:"Form.LicenseCheckSalonRenew",constructorParams:{ajax:{url:App._api.userslicenses_check}}},validation:{enable:!1},registration:{constructor:"Form.UserLicense",constructorParams:{}}}},function(){App.UserSignup.apply(this,arguments)}),cm.getConstructor("App.UserLicensesCreateSalon",function(e,t,n,a){n.processVerificationData=function(e){return e=a.prototype.processVerificationData.apply(this,arguments),cm.merge(this.params.data,e)}}),cm.define("App.UserLicensesGridlist",{extend:"App.Gridlist",params:{controller:{constructorParams:{adaptive:!0,visibleDateFormat:"cm._config.displayDateFormatShort",pagination:!1,perPage:0,responseKey:null}}}},function(){App.Gridlist.apply(this,arguments)}),cm.getConstructor("App.UserLicensesGridlist",function(e,t,n,a){n.configColumns=function(){return[{title:this.msg("fields.state"),type:"text",key:"_state",width:"130px",classes:["cell--state"]},{title:this.msg("fields.licenseno"),type:"text",key:"licenseno",width:"130px",classes:["cell--lice
1nseno"]},{title:this.msg("fields.expired"),type:"date",key:"expired",width:"130px",classes:["cell--expired"]},{title:this.msg("fields.type"),type:"text",key:"type",width:"auto",classes:["cell--type"]},{title:this.msg("fields.state"),type:"node",key:"_cardNode",titleKey:"_state",classes:["cell--card"]},{type:"actions",width:"44",key:"_actions",classes:["cell--actions"],access:this.params.editable.enable,actions:this.configActions()}]},n.filterData=function(e){let t=this;return cm.forEach(e,e=>{e._name=t.getItemLabelName(e),e._state=Application.Intl.getStateName("usa",e.state),e._cardNode=Application.User.embedLicenseCard(e,{renderIcon:!1,renderLabel:!0})}),e},n.getItemLabelName=function(e){return e.licenseno}}),cm.define("App.UserLicenses",{extend:"App.EntityView",params:{name:"licenses",crud:App._api.userslicenses,actions:["list","create","update","renew","delete"],list:{constructor:"App.UserLicensesList",constructorParams:{ajax:{enable:!1}}},update:{icon:{icon:"attachment",classes:["size-field-half","inset-small"]},constructor:"Form.UserLicenseImageContainer"},renew:{dataKey:"data",mergeResponseData:!0,icon:{icon:"renew"},constructor:"App.FormContainer",constructorParams:{action:"renew",ajax:{method:"POST"}}},createForms:{tech:{constructor:"App.UserLicensesCreateContainer",constructorParams:{constructor:"App.UserLicensesCreateIndividual"}},salon:{constructor:"App.UserLicensesCreateContainer",constructorParams:{constructor:"App.UserLicensesCreateSalon"}}},renewForms:{tech:{constructor:"App.UserLicensesCreateContainer",constructorParams:{constructor:"App.UserLicensesCreateIndividual"}},salon:{constructor:"App.UserLicensesCreateContainer",constructorParams:{constructor:"App.UserLicensesCreateSalon"}}},delete:{min:1}}},function(){App.EntityView.apply(this,arguments)}),cm.getConstructor("App.UserLicenses",function(e,t,n,a){n.onValidateParamsStart=function(){let n=this,a=(n.profileData=Application.User.validateProfile(n.params.data,{populateData:!1}),n.profileData.data.licenses||=[],n.profileData.role);var{id:e,email:t,profile:s}=n.profileData.data;["create","renew"].forEach(e=>{var t=n.params[e+"Forms"],t=t[a]||t.tech;n.params[e]=cm.merge(n.params[e],t)}),n.createData="salon"===a?{user:e,businessname:s.lastname,email:t}:{user:e,firstname:s.firstname,lastname:s.lastname,email:t},n.params.list.constructorParams.data=n.profileData.data.licenses,n.checkItemsLimits(n.profileData.data.licenses)},n.getItemLabelName=function(e){return e.licenseno},n.configListActions=function(){let t=this;var e=a.prototype.configListActions.apply(t,arguments),n=(e.unshift({name:"renew",label:t.msg("actions.renew"),access:t.hasAction("renew"),data:t.createData,dataKey:t.params.renew.dataKey,icon:Application.Images.embedIcon(cm.merge({classes:["size-field-half"],ariaHidden:!0},t.params.renew.icon)),constructor:t.params.renew.constructor,constructorParams:t.getRenewActionParams(t.params.renew.constructorParams)}),e.find(e=>"update"===e.name));return n&&(n.label=e=>{e=e[t.params.update.dataKey],e=!e||cm.isEmpty(e.image)?"addImage":"updateImage";return t.msg("actions."+e)}),e},n.getRenewActionParams=function(e){return cm.merge(e,{messages:this.msgObject("renew"),events:{onSuccess:this.afterCreate.bind(this)}})},n.getCreateActionParams=function(e){return cm.merge(e,{messages:this.msgObject("create"),data:this.createData,events:{onSuccess:this.afterCreate.bind(this)}})},n.renderNotification=function(e,t){switch(t){case"create":this.components.notifications.add({type:"success",label:this.renderNotificationCreateView(e)});break;case"update":this.components.notifications.add({type:"success",label:this.renderNotificationUpdateView(e)});break;case"renew":this.components.notifications.add({type:"success",label:this.renderNotificationRenewView(e)});break;case"delete":this.components.notifications.add({type:"success",label:this.renderNotificationDeleteView(e)})}},n.renderNotificationRenewView=function(e){return cm.node("div",{classes:"pt__line-info"},cm.node("div",{classes:"item",innerHTML:this.msg("notifications.renewed",{"{name}":this.getItemLabelName(e)})}))},n.afterLoadSuccess=function(e,t){this.profileData.data.licenses=t||[],a.prototype.afterLoadSuccess.apply(this,arguments)},n.afterHandler=function(e,t,n){var a=this;if(!cm.isEmpty(t)){var s=a.profileData.data.licenses.find(e=>e.id===t.id);switch(n="update"===(n="create"===n&&s?"renew":n)&&!s||"renew"===n&&!s?"create":n){case"create":a.profileData.data.licenses.push(t);break;case"update":case"renew":a.profileData.data.licenses=a.profileData.data.licenses.map(e=>e.id===t.id?t:e);break;
1case"delete":a.profileData.data.licenses=a.profileData.data.licenses.filter(e=>e.id!==t.id)}a.params.list.constructorParams.data=a.profileData.data.licenses,a.checkItemsLimits(a.profileData.data.licenses),a.refresh(),a.renderNotification(t,n)}},n.afterCreate=function(e,t){this.afterHandler(e,t,"create"),this.triggerEvent("onCreateComplete",{licenses:this.profileData.data.licenses},"partial"),this.triggerEvent("onEditableSuccess",{licenses:this.profileData.data.licenses},"partial"),this.afterComplete()},n.afterUpdate=function(e,t){this.afterHandler(e,t,"update"),this.triggerEvent("onUpdateComplete",{licenses:this.profileData.data.licenses},"partial"),this.triggerEvent("onEditableSuccess",{licenses:this.profileData.data.licenses},"partial"),this.afterComplete()},n.afterDelete=function(e,t){this.afterHandler(e,t.data,"delete"),this.triggerEvent("onDeleteComplete",{licenses:this.profileData.data.licenses},"partial"),this.triggerEvent("onEditableSuccess",{licenses:this.profileData.data.licenses},"partial"),this.afterComplete()},n.afterComplete=function(){a.prototype.afterComplete.apply(this,arguments),cm.onSchedule(()=>UserHelper.requestNotifications())}}),cm.define("App.UserLicensesList",{extend:"App.RequestList",params:{controller:{constructorParams:{responseKey:null}}}},function(){App.RequestList.apply(this,arguments)}),cm.getConstructor("App.UserLicensesList",function(e,t,n,a){n.filterData=function(e){let t=this;return cm.forEach(e,e=>{e._name=t.getItemLabelName(e)}),e},n.getItemLabelName=function(e){return e.licenseno},n.renderItemStructure=function(e){e.card=Application.User.renderLicenseCard(e.data,{tagName:"article",container:e.params.container,defaultClasses:["is-flex","has-border"],renderIcon:!0,renderLabel:!0,renderExpireNotice:!0,action:{render:this.checkItemActionsAccess(e),content:e.menu?.getContainer()}})}}),cm.define("App.UserNCEA",{extend:"App.EntityView",params:{name:"ncea",crud:App._api.me.ncea,actions:["list","create","delete"],create:{constructor:"Form.UserNCEAContainer",constructorParams:{ajax:{url:App._api.ncea.check}}},list:{constructor:"App.UserNCEAList",constructorParams:{ajax:{enable:!1}}},delete:{min:0}}},function(){App.EntityView.apply(this,arguments)}),cm.getConstructor("App.UserNCEA",function(e,t,n,a){n.onValidateParamsStart=function(){var e=this;e.profileData=Application.User.validateProfile(e.params.data,{populateData:!1}),e.profileData.data.nceaLicenses||=[],e.createData={name:e.profileData.data.profile.firstname,lastname:e.profileData.data.profile.lastname},e.params.list.constructorParams.data=e.profileData.data.nceaLicenses,e.checkItemsLimits(e.profileData.data.nceaLicenses)},n.getItemLabelName=function(e){return cm.parseFormatDate(e.date,cm._config.dateFormat,App._config.formats.dateShort)},n.getCreateActionParams=function(e){return cm.merge(e,{messages:this.msgObject("create"),data:this.createData,events:{onSuccess:this.afterCreate.bind(this)}})},n.renderNotification=function(e,t){switch(t){case"create":this.components.notifications.add({type:"success",label:this.renderNotificationCreateView(e)});break;case"update":this.components.notifications.add({type:"success",label:this.renderNotificationUpdateView(e)});break;case"renew":this.components.notifications.add({type:"success",label:this.renderNotificationRenewView(e)});break;case"delete":this.components.notifications.add({type:"success",label:this.renderNotificationDeleteView(e)})}},n.afterLoadSuccess=function(e,t){this.profileData.data.nceaLicenses=t||[],a.prototype.afterLoadSuccess.apply(this,arguments)},n.afterHandler=function(e,t,n){var a=this;if(!cm.isEmpty(t)){var s=a.profileData.data.nceaLicenses.find(e=>e.id===t.id);switch(n="update"!==(n="create"===n&&s?"renew":n)||s?n:"create"){case"create":a.profileData.data.nceaLicenses.push(t);break;case"update":case"renew":a.profileData.data.nceaLicenses=a.profileData.data.nceaLicenses.map(e=>e.id===t.id?t:e);break;case"delete":a.profileData.data.nceaLicenses=a.profileData.data.nceaLicenses.filter(e=>e.id!==t.id)}a.params.list.constructorParams.data=a.profileData.data.nceaLicenses,a.checkItemsLimits(a.profileData.data.nceaLicenses),a.refresh(),a.renderNotification(t,n)}},n.afterCreate=function(e,t){this.afterHandler(e,t,"create"),this.triggerEvent("onCreateComplete",{nceaLicenses:this.profileData.data.nceaLicenses},"partial"),this.triggerEvent("onEditableSuccess",{nceaLicenses:this.profileData.data.nceaLicenses},"partial"),this.afterComplete()},n.afterUpdate=function(e,t){this.afterHandler(e,t,"update"),this.triggerEvent("onUpdateComplete",{nceaLicenses:this.profileData.data.nceaLicenses},"partial"),this.triggerEvent("onEditableSuccess",{nceaLicenses:this.profileData.data.nceaLicenses},"partial"),this.afterComplete()},n.afterDelete=function(e){var t=e.getParams("data");this.afterHandler(e,t,"delete"),this.triggerEvent("onDeleteComplete",{nceaLicenses:this.profileData.data.nceaLicenses},"partial"),this.triggerEvent("onEditableSuccess",{nceaLicenses:this.profileData.data.nceaLicenses},"partial"),this.afterComplete()}}),cm.define("App.UserNCEAList",{extend:"App.RequestList",params:{controller:{constructorParams:{responseKey:null}}}}
1,function(){App.RequestList.apply(this,arguments)}),cm.getConstructor("App.UserNCEAList",function(e,t,n,a){n.filterData=function(e){let t=this;return cm.forEach(e,e=>{e._name=t.getItemLabelName(e)}),e},n.getItemLabelName=function(e){return cm.parseFormatDate(e.date,cm._config.dateFormat,App._config.formats.dateShort)},n.renderItemStructure=function(e){e.card=Application.User.renderNCEACard(e.data,{tagName:"article",container:e.params.container,defaultClasses:["is-flex","has-border"],renderIcon:!0,renderLabel:!0,renderExpireNotice:!0,action:{render:this.checkItemActionsAccess(e),content:e.menu?.getContainer()}})}}),cm.define("App.UserProfessionalCredentials",{extend:"App.CompositeView",params:{name:"professional-credentials",blocks:[{name:"licenses",type:"page",access:"all",classes:[],constructor:"App.UserLicenses",constructorParams:{emptyView:{renderButton:!1}}},{name:"ncea",type:"page",access:"all",classes:[],constructor:"App.UserNCEA",constructorParams:{emptyView:{renderButton:!1}}},{name:"professional-credentials",type:"form",access:"all",constructor:"Form.ProfileProfessionalCredentials",constructorParams:{}}]}},function(){App.CompositeView.apply(this,arguments)}),cm.define("App.UserSearchContainer",{extend:"Com.AbstractContainer",events:["onSuccess","onError"],params:{data:[],constructor:"App.UserSearch",constructorParams:{},placeholder:!0,placeholderConstructor:"Com.DialogContainer",placeholderParams:{renderTitle:!0,renderButtons:!1,constructorParams:{width:App._config.dialog.widthHalf,theme:"theme-light",animateHeight:!0}}}},function(){Com.AbstractContainer.apply(this,arguments)}),cm.getConstructor("App.UserSearchContainer",function(e,t,n,a){n.onConstruct=function(){this.hasUpdated=!1},n.onValidateParamsStart=function(){let t=this;cm.forEach(["data","messages"],function(e){void 0!==t.params[e]&&(t.params.constructorParams[e]=t.params[e])})},n.onOpen=function(){this.hasUpdated=!1},n.onOpenEnd=function(){let e=this;cm.onSchedule(()=>e.components.controller.focus())},n.onCloseStart=function(){var e;this.hasUpdated&&(e=this.getController().getDataAdded(),this.triggerEvent("onSuccess",e))},n.constructControllerEvents=function(){var e=this;return{onSuccess:()=>{e.hasUpdated=!0}}}}),cm.define("App.UserSearch",{extend:"Com.AbstractController",events:["onSuccess","onError"],params:{controllerEvents:!0,renderStructure:!0,embedStructureOnRender:!0,embedStructure:"append",data:[],limit:App._config.itemsPerPage.cardsList,form:{constructor:"Form.UserSearch",constructorParams:{}},join:{constructor:"App.UserEmploymentConfirmContainer",constructorParams:{constructor:"App.UserEmploymentJoinConfirm"}},invite:{constructor:"Form.UserInviteContainer",constructorParams:{}}}},function(){Com.AbstractController.apply(this,arguments)}),cm.getConstructor("App.UserSearch",function(e,t,n,a){n.onConstructStart=function(){this.views={},this.dataAdded=[],this.currentItem=null,this.profileData=null,this.counterpartyRole=null},n.onValidateParams=function(){this.profileData=Application.User.validateProfile(),this.counterpartyRole="tech"===this.profileData.role?"salon":"tech"},n.onDestruct=function(){this.components.form?.destruct(),this.components.join?.destruct(),this.components.invite?.destruct()},n.renderView=function(){this.nodes.container=cm.node("div",{classes:["tpl__block","tpl__block--user-search"]},cm.node("h4",{classes:"tpl__block__title"},this.msg("description")),this.nodes.form=cm.node("div",{classes:"tpl__block__form"}),this.nodes.entry=cm.node("div",{classes:["tpl__block__content","is-hidden"]},this.nodes.results=cm.node("div",{classes:["app__cards-list","app__cards-list--search"]}))),this.views.action=this.renderActionView({container:this.nodes.container})},n.renderViewModel=function(){let n=this;a.prototype.renderViewModel.apply(n,arguments),cm.getConstructor(n.params.form.constructor,function(e){n.components.form=new e(cm.merge(n.params.form.constructorParams,{container:n.nodes.form,data:{role:n.counterpartyRole},overlayParams:{container:n.nodes.entry,appendMode:"insertFirst"},events:{onSuccess:n.renderResponse.bind(n),onError:n.renderError.bind(n)}}))}),cm.getConstructor(n.params.join.constructor,e=>{n.components.join=new e(cm.merge(n.params.join.constructorParams,{messages:cm.getMessages("App.UserEmployment","join"),events:{onSuccess:(e,t)=>n.afterJoin(t),onError:(e,t)=>
1n.afterError(t)}}))}),cm.getConstructor(n.params.invite.constructor,e=>{n.components.invite=new e(cm.merge(n.params.invite.constructorParams,{messages:cm.getMessages("App.UserEmployment","invite"),events:{onSuccess:(e,t)=>n.afterInvite(e.get("all")),onError:(e,t)=>n.afterError(t)}}))})},n.renderResponse=function(e,t){let n=this,a=e.get("all");cm.clearNode(n.nodes.results),cm.removeClass(n.nodes.entry,"is-hidden"),n.removeErrorView();["businessname","firstname","lastname"].every(e=>cm.isEmpty(a[e]))?cm.addClass(n.nodes.entry,"is-hidden"):(cm.forEach(t,e=>{e.id!==n.profileData.id&&n.renderItemView(e,{container:n.nodes.results})}),t.length===n.params.limit&&n.renderMoreView({container:n.nodes.results}),n.toggleActionVisibility(!0))},n.renderError=function(e,t){t=cm.isEmpty(t.response);cm.clearNode(this.nodes.results),cm.addClass(this.nodes.entry,"is-hidden"),this.removeErrorView(),this.toggleActionVisibility(t),t||(this.views.error=this.renderErrorView({message:this.msgParse("server_error"),container:this.nodes.container}))},n.renderActionView=function(e){let t=this;e={nodes:{},params:cm.merge({container:cm.node("div")},e)};return e.nodes.container=cm.node("div",{classes:["tpl__block__footer","is-hidden"],"aria-live":"polite","aria-hidden":"true"},e.nodes.help=cm.node("div",{classes:"tpl__block__help"},cm.node("h6",{innerHTML:t.msg("empty")}))),e.nodes.button=Application.Buttons.embed({label:t.msg("actions.invite"),modifiers:["border"],classes:["is-compact"],container:e.nodes.help,icons:{classes:["small"],before:"plus"},ariaHasPopup:"dialog",callback:()=>t.components.invite.open()}),cm.appendChild(e.nodes.container,e.params.container),e},n.toggleActionVisibility=function(e){var t=this.views.action;t&&(cm.toggleClass(t.nodes.container,"is-hidden",!e),t.nodes.container.setAttribute("aria-hidden",!e))},n.renderMoreView=function(e){e={nodes:{},params:cm.merge({message:"",container:cm.node("div")},e)};return e.card=Application.Views.renderStatusCard({container:e.params.container,label:this.msg("more",{"{count}":this.params.limit}),labelClasses:["h7","italic"],icon:"search",iconClasses:["is-round","size-field","inset-small"]}),e.card.nodes.container.setAttribute("aria-live","polite"),e},n.renderErrorView=function(e){e={nodes:{},params:cm.merge({message:this.msgParse("server_error"),container:cm.node("div")},e)};return e.nodes.container=cm.node("div",{classes:"tpl__block__help","aria-live":"polite"},cm.node("h6",{innerHTML:e.params.message})),cm.appendChild(e.nodes.container,e.params.container),e},n.removeErrorView=function(){var e=this.views.error;e&&cm.remove(e.nodes.container)},n.renderItemView=function(e,t){let n={nodes:{},components:{},data:e,params:cm.merge({container:cm.node("div")},t)};return n.isProcceed=this.params.data?.some(e=>e.id===n.data.id),n.nodes.address=cm.node("div",{classes:"card__block"},cm.isEmpty(n.data.profile?.address)?cm.node("span",{classes:"cm__font--placeholder-cursive"},Application.msg("User.address.empty")):cm.textNode(n.data.profile.address)),n.nodes.action=cm.node("div",{classes:"card__action"}),n.isProcceed?this.renderPendingAction(n):this.renderJoinAction(n),Application.User.renderCard(n.data,{modifiers:["employment"],classes:["no-padding"],renderLink:!0,target:"_blank",linkClasses:["has-link-hover"],user:{render:!0,renderBadge:!1,markPrivate:!0,classes:["is-nowrap"]},description:{render:!0,renderBadge:!1,content:n.nodes.address,classes:["h7","is-nowrap"]},editable:{enable:!0,content:n.nodes.action},container:n.params.container}),n},n.renderPendingAction=function(e){cm.remove(e.nodes.icon),e.nodes.icon=Application.Images.embedIcon({icon:"approve",title:this.msg("actions.pending"),classes:["is-round","size-field","inset-small"],container:e.nodes.action,callback:e=>{cm.preventDefault(e),cm.stopPropagation(e)}})},n.renderJoinAction=function(t){let n=this;cm.remove(t.nodes.icon),t.nodes.icon=Application.Images.embedIcon({icon:"plus",title:n.msg("actions.join"),classes:["is-round","size-field","inset-small"],modifiers:["action"],container:t.nodes.action,ariaHasPopup:!0,role:"button",callback:e=>{cm.preventDefault(e),cm.stopPropagation(e),n.setCurrentItem(t)}})},n.setCurrentItem=function(n){this.currentItem=n,this.components.join.setControllerParams({data:n.data,callbacks:{renderContent:(e,t)=>
1Application.User.embedConfirmMessage(n.data,e.renderMessageView())}}),this.components.join.open()},n.afterInvite=function(e){e={email:e.email,profile:{lastname:e.name}};this.dataAdded.push(e),this.triggerEvent("onSuccess",this.dataAdded)},n.afterJoin=function(){this.currentItem&&(this.dataAdded.push(this.currentItem.data),this.params.data.push(this.currentItem),this.renderPendingAction(this.currentItem)),this.triggerEvent("onSuccess",this.dataAdded)},n.afterError=function(e){this.triggerEvent("onError",e)},n.focus=function(){this.components.form.focus()},n.getDataAdded=function(){return this.dataAdded}}),cm.define("App.UserSignupRenewIndividual",{extend:"App.UserSignup",params:{name:"renew",verification:{renderBackLink:!1,renderTabs:!1,focusField:"firstname",constructor:"Form.LicenseCheckIndividualRenew",constructorParams:{}},validation:{enable:!1},registration:{constructor:"Form.UserRenewIndividual",constructorParams:{}}}},function(){App.UserSignup.apply(this,arguments)}),cm.getConstructor("App.UserSignupRenewIndividual",function(e,t,n,a){n.processVerificationData=function(e){return cm.isEmpty(e)?{}:{brand:this.params.brandData,username:Application.userGetProfileName(e),firstname:e.profile.firstname,lastname:e.profile.lastname,email:e.email}}}),cm.define("App.UserSignupRenewInternational",{extend:"App.UserSignup",params:{name:"renew",introStage:"registrationOther",statesRequest:{enable:!1},verification:{enable:!1},registrationOther:{renderBackLink:!1,renderTabs:!1,constructor:"Form.RegisterOther",constructorParams:{renderTabs:!1}},registrationTicket:{enable:!1}}},function(){App.UserSignup.apply(this,arguments)}),cm.getConstructor("App.UserSignupRenewInternational",function(e,t,n,a){n.processRegistrationOtherData=function(e){return cm.isEmpty(e)?{}:{action:"inactive-profile-update",brand:this.params.brandData,role:e.role,username:Application.userGetProfileName(e),firstname:e.profile.firstname,lastname:e.profile.lastname,businessname:e.profile.lastname,email:e.email}}}),cm.define("App.UserSignupRenewSalon",{extend:"App.UserSignup",params:{name:"renew",verification:{renderBackLink:!1,renderTabs:!1,focusField:"businessname",constructor:"Form.LicenseCheckSalonRenew",constructorParams:{}},validation:{enable:!1},registration:{constructor:"Form.UserRenewSalon",constructorParams:{}}}},function(){App.UserSignup.apply(this,arguments)}),cm.getConstructor("App.UserSignupRenewSalon",function(e,t,n,a){n.processVerificationData=function(e){return cm.isEmpty(e)?{}:{brand:this.params.brandData,username:Application.userGetProfileName(e),businessname:e.profile.lastname,email:e.email}}}),cm.define("App.UserTalentsBox",{extend:"Com.AbstractController",events:["onEmpty","onContentRender","onActionRender","onEditableSuccess","onEditableError"],params:{controllerEvents:!0,renderStructure:!0,embedStructureOnRender:!0,embedStructure:"append",actionsContainer:null,isEmployment:!1,data:{},overlay:{theme:"light",lazy:!0,container:null,appendMode:"insertFirst"},request:{constructor:"App.Request",constructorParams:{showLoader:!0,autoSend:!1,successOnEmptyData:!0,responseKey:null,responseErrorsKey:"message",ajax:{method:"GET",type:"json",url:App._api.talents.list,uriConfig:{multipleValues:"keys"},params:{limit:0,filter:{"{role}":"{id}"}}}}},submit:{constructor:"App.UserTalentsConfirmContainer",constructorParams:{constructor:"App.UserTalentsSubmitConfirm"}}}},function(){Com.AbstractController.apply(this,arguments)}),cm.getConstructor("App.UserTalentsBox",function(e,t,n,a){n.onConstructStart=function(){this.views={},this.profileData=null,this.counterpartyRole=null,this.actionButtonType=null,this.initiatorRequestStatus=!1,this.requestStatus=!1},n.onValidateParams=function(){let t=this;t.profileData=Application.User.validateProfile(t.params.data,{populateData:!1}),t.counterpartyRole="tech"===t.profileData.role?"salon":"tech",cm.isArray(t.profileData.data.workers)&&t.profileData.data.workers.find(e=>"yes"===e.approved&&e[t.counterpartyRole]===Application.userGetID())&&(t.requestStatus="yes")},n.onDestruct=function(){this.components.request?.destruct(),this.components.submit?.destruct()},n.renderView=function(){var e=this;e.nodes.container=cm.node("div",{classes:"app__user-talents"}),e.profileData.isHiring?e.views.message=e.renderMessageView({container:e.nodes.container}):e.profileData.isMe?e.views.disabled=e.renderDisabledView({container:e.nodes.container}):e.triggerEvent("onEmpty"),e.views.action=e.renderActionView()},n.renderViewModel=function(){let t=this;a.prototype.renderViewModel.apply(t,arguments),cm.getConstructor(t.params.request.constructor,e=>{t.components.request=new e(cm.merge(t.params.request.constructorParams,{data:Application.userGetProfile(),overlayParams:t.params.overlay,events:{onSuccess:t.renderResponse.bind(t),onError:t.renderError.bind(t)}})),"yes"!==t.requestStatus&&t.request()})},n.renderResponse=function(e,t){let n=this;
1"yes"!==n.requestStatus&&t.data.find(e=>e[n.profileData.role]?.id===n.profileData.data.id)&&(n.requestStatus="pending"),n.views.action=n.renderActionView()},n.renderError=function(e,t){this.views.action=this.renderActionView()},n.renderMessageView=function(e){var e={nodes:{},params:cm.merge({container:cm.node("div")},e)},t=[];return"yes"===this.profileData.data.lookingForTalents&&t.push(this.msg("hiring")),"yes"===this.profileData.data.willingToTrain&&t.push(this.msg("train")),e.nodes.container=cm.node("div",{classes:["app__user-talents__message"],innerHTML:t.join("\n")}),cm.appendChild(e.nodes.container,e.params.container),this.triggerEvent("onContentRender"),e},n.renderDisabledView=function(e){e={nodes:{},params:cm.merge({container:cm.node("div")},e)};return e.nodes.container=cm.node("div",{classes:["cm__empty","h7"],innerHTML:this.msg("disabled")}),cm.appendChild(e.nodes.container,e.params.container),this.triggerEvent("onContentRender"),e},n.renderActionView=function(e){var t=this,e={nodes:{},params:cm.merge({container:t.getActionsContainer()},e)};if(cm.clearNode(e.params.container),t.profileData.isHiring)return t.profileData.isMe&&t.profileData.isHiring?t.renderEnabledAction(e):t.profileData.isEmploymentCounterparty?cm.inArray(["yes","no","pending"],t.requestStatus)?t.renderEmploymentAction(e):t.renderSubmitAction(e):t.renderLoginAction(e)},n.renderEnabledAction=function(e){var t=this.profileData.isPublic?"visible":"hidden";return e.nodes.action=Application.Views.embedStatusCard({container:e.params.container,label:this.msg(`enabled.${t}.label`),icon:this.msg(`enabled.${t}.icon`),iconClasses:["is-round","large","inset-field-half"]}),this.actionButtonType="passive",this.triggerEvent("onActionRender",this.actionButtonType),e},n.renderSubmitAction=function(t){let n=this;return t.nodes.action=Application.Buttons.embed({container:t.params.container,classes:["is-box"],modifiers:["editable","editable-card"],label:n.msg("submit.label"),icons:{classes:["is-round","large","inset-small"],before:"plus"}}),cm.getConstructor(n.params.submit.constructor,e=>{n.components.submit&&n.components.submit.destruct(),n.components.submit=new e(cm.merge(n.params.submit.constructorParams,{node:t.nodes.action,data:n.profileData.data,messages:cm.getMessages("App.UserTalents","submit"),events:{onSuccess:(e,t)=>n.afterSuccess(t),onError:(e,t)=>n.afterError(t)},params:{callbacks:{renderContent:(e,t)=>Application.User.embedConfirmMessage(n.profileData.data,e.renderMessageView())}}}))}),n.actionButtonType="active",n.triggerEvent("onActionRender",n.actionButtonType),t},n.renderLoginAction=function(e){return e.nodes.action=Application.Buttons.embed({container:e.params.container,classes:["is-box"],modifiers:["editable","editable-card"],label:this.msg("login.label"),icons:{classes:["is-round","large","inset-small"],before:"lock"},link:Router.getURL("signin"),noRoute:!0,callback:e=>{cm.preventDefault(e),UserHelper.openLoginBox({returnRoute:Router.getCurrent().route})}}),this.actionButtonType="active",this.triggerEvent("onActionRender",this.actionButtonType),e},n.renderEmploymentAction=function(e){return e.nodes.action=Application.Views.embedStatusCard({container:e.params.container,label:this.msg(`employee.${this.requestStatus}.label`),icon:this.msg(`employee.${this.requestStatus}.icon`)}),this.actionButtonType="passive",this.triggerEvent("onActionRender",this.actionButtonType),e},n.afterSuccess=function(e){this.request(),this.triggerEvent("onEditableSuccess"),UserHelper.requestNotifications()},n.afterError=function(e){this.triggerEvent("onEditableError")},n.request=function(){Application.User.isAuthorized()&&!this.profileData.isMe&&this.profileData.isHiring&&this.components.request?.send()},n.getActionsContainer=function(){return this.params.actionsContainer||this.nodes.container}}),cm.define("App.UserTalentsComposite",{extend:"App.CompositeView",params:{name:"talents",blocks:[{name:"form",type:"form",access:"all",constructor:"Form.ProfileTalents"},{name:"talents",type:"page",access:"all",classes:[],constructor:"App.UserTalents"}]}},function(){App.CompositeView.apply(this,arguments)}),cm.define("App.UserTalentsConfirmContainer",{extend:"App.ConfirmDialogContainer",params:{closeOnSuccess:!0,closeOnError:!1,placeholderParams:{constructorParams:{width:App._config.dialog.widthHalf,theme:"theme-light"}},buttons:{false:{classes:["button-transparent"]},true:{classes:["button-primary"]}}}},function(e){App.ConfirmDialogContainer.apply(this,arguments)}),cm.getConstructor("App.UserTalentsConfirmContainer",function(e,t,n,a){n.onValidateParamsStart=function(){var e=this.msgObject(Application.User.getRole());this.setParams({messages:e})}}),cm.define("App.UserTalents",{extend:"App.EntityView",params:{name:"talents",crud:App._api.talents,actions:["list","view","conversation","delete"],list:{constructor:"App.UserTalentsList",constructorParams:{}},conversations:{constructor:"App.ConversationsContainer",constructorParams:{}}}},function(){App.EntityView.apply(this,arguments)}),cm.getConstructor("App.UserTalents",function(e,t,n,a){n.onValidateParamsStart=function(){this.profileData=Application.User.validateProfile(this.params.data,{populateData:!1}),this.counterpartyRole="tech"===this.profileData.role?"salon":"tech",this.params.list.constructorParams.data=this.profileData.data,this.params.list.constructorParams.ajax.variables=this.profileData.data},n.getItemLabelName=function(e){return cm.isArray(e)?e.map(e=>Application.userGetProfileName(e)):Application.userGetProfileName(e[this.counterpartyRole])},n.configListActions=function(){var e=a.prototype.configListActions.apply(this,arguments);return e.unshift({name:"conversation",label:this.msg("actions.conversation"),access:this.hasAction("conversation"),icon:Application.Images.embedIcon({icon:"message-border",classes:["size-field-half","inset-small"],ariaHidden:!0}
1),attr:{href:"{_conversationHref}",target:"_blank","dataset-no-route":"true"},preventDefault:!0,dataPath:this.counterpartyRole,constructor:this.params.conversations.constructor,constructorParams:this.params.conversations.constructorParams}),e.unshift({name:"view",label:this.msg("actions.view"),access:this.hasAction("view"),icon:Application.Images.embedIcon({icon:"member-border",classes:["size-field-half","inset-small"],ariaHidden:!0}),attr:{href:"{_profile.href}",target:"_blank","dataset-no-route":"true"},preventDefault:!1}),e},n.getDeleteActionParams=function(e){let n=this;return cm.merge(e,{messages:n.msgObject("delete"),events:{onSuccess:n.afterDelete.bind(n),onError:n.afterError.bind(n)},params:{callbacks:{renderContent:(e,t)=>Application.User.embedConfirmMessage(t[n.counterpartyRole],e.renderMessageView())}}})},n.afterLoadSuccess=function(e,t){let n=this;cm.isEmpty(t)||(t=t.map(e=>e[n.counterpartyRole]),n.components.create?.setControllerParams({data:t})),a.prototype.afterLoadSuccess.apply(n,arguments)},n.afterComplete=function(){a.prototype.afterComplete.apply(this,arguments),UserHelper.requestNotifications()}}),cm.define("App.UserTalentsList",{extend:"App.RequestList",params:{ajax:{uriConfig:{multipleValues:"keys"},params:{filter:{"{role}":"{id}"}}},controller:{constructorParams:{responseKey:null}},viewed:{constructor:"App.Request",constructorParams:{showLoader:!1,autoSend:!0,responseKey:null,ajax:{url:App._api.talents.viewed,method:"PUT",type:"json",paramsType:"json"}}}}},function(){App.RequestList.apply(this,arguments)}),cm.getConstructor("App.UserTalentsList",function(e,t,n,a){n.onValidateParamsStart=function(){this.profileData=Application.User.validateProfile(this.params.data,{populateData:!1}),this.counterpartyRole="tech"===this.profileData.role?"salon":"tech",this.specialityList=Application.User.convertSpecialityToList(this.params.fieldsData.speciality)},n.onDestructStart=function(){},n.filterData=function(e){let n=this;return cm.forEach(e,e=>{var t=e[n.counterpartyRole];e._profile=Application.User.validateProfile(t,{populateData:!1,markPrivate:!0}),e._conversationHref=Router.getURL("user.conversation",null,{id:t.id}),e._actions=[],n.hasAction("view")&&!e._profile.isPlaceholder&&e._actions.push("view"),n.hasAction("conversation")&&!e._profile.isPlaceholder&&e._actions.push("conversation"),n.hasAction("delete")&&e._actions.push("delete")}),e},n.getItemLabelName=function(e){return cm.isArray(e)?e.map(e=>Application.userGetProfileName(e)):Application.userGetProfileName(e[this.counterpartyRole])},n.renderItemStructure=function(e){e.user=e.data[this.counterpartyRole],e.card=Application.User.renderDetailedCard(e.user,{tagName:"article",container:e.params.container,classes:["has-border","has-canvas--desktop"],modifiers:[this.params.name+"-list"],card:{target:"_blank"},description:{renderBadge:!0},address:{render:!0},speciality:{render:!0,list:this.specialityList},licenses:{render:!0},editable:{enable:this.checkItemActionsAccess(e),content:e.menu?.getContainer()}})},n.checkItemMenuActionAccess=function(e,t){return t.access&&cm.inArray(e.data._actions,t.name)},n.configItemMenuEvents=function(e){let t=this;return{onShow:()=>t.sendItemViewedRequest(e)}},n.sendItemViewedRequest=function(n){let a=this;if("viewed"!==n.data.status){let t={container:n.params.container,data:n.data,events:{onSuccess:()=>{n.data.status="viewed",UserHelper.requestNotifications()}}};cm.getConstructor(a.params.viewed.constructor,e=>{n.viewed=new e(cm.merge(a.params.viewed.constructorParams,t))})}}}),cm.define("App.UserTalentsSubmitConfirm",{extend:"App.ConfirmDialog",params:{ajax:{url:App._api.talents.create,method:"POST",type:"json",paramsType:"json",params:{target:"{id}"}},notifications:{render:!0},request:{enable:!0,constructor:"App.Request",constructorParams:{responseKey:null,responseErrorsKey:"message"}}}},function(e){App.ConfirmDialog.apply(this,arguments)}),cm.getConstructor("App.UserTalentsSubmitConfirm",function(e,t,n,a){n.renderMessageView=function(e){var t,e=this.getMessageData(this.params.messageDataMap,e||this.params.data),e=cm.node("div",{classes:["section__message","pull-center"]},cm.node("h5",{innerHTML:this.msg("description",e)}));return cm.isEmpty(this.params.data.lookingForTalentsNotes)||(t=cm.node("hr",{classes:"section__separator"}),cm.appendChild(t,e),t=cm.node("p",this.params.data.lookingForTalentsNotes),cm.appendChild(t,e)),e}}),cm.define("App.VerificationCards",{extend:"Com.AbstractController",events:["onReset","onContinue","onSet"],params:{controllerEvents:!0,renderStructure:!0,embedStructureOnRender:!0,embedStructure:"append",data:[]}},function(){Com.AbstractController.apply(this,arguments)}),cm.getConstructor("App.VerificationCards",function(e,t,n,a){n.construct=function(){this.items=[],a.prototype.construct.apply(this,arguments)},n.renderView=function(){this.nodes.container=this.nodes.holder=cm.node("div",{classes:"app__member-cards"})},n.renderItems=function(){var t=this;t.items=[],cm.clearNode(t.nodes.holder),cm.forEach(t.params.data,function(e){t.renderItem(e,{container:t.nodes.holder})})},n.renderItem=function(e,t){var n=this,a={data:e,nodes:{},params:cm.merge({container:cm.node("div")},t)};return a.data.firstname||=a.data.first_name,a.data.lastname||=a.data.last_name,a._name=cm.isEmpty(a.data.firstname)?a.data.lastname:a.data.firstname+" "+a.data.lastname,a._status=cm.isEmpty(a.data.status)?null:a.data.status.toLowerCase(),cm.isEmpty(a.data.expired)||(a._date=cm.parseFormatDate(a.data.expired,cm._config.dateTimeFormat,App._config.formats.date),a._dateShort=cm.parseFormatDate(a.data.expired,cm._config.dateTimeFormat,App._config.formats.dateShort)),a.nodes.container=cm.node("div",{classes:["app__card","app__card--border","is-flex","has-hover"]},a.nodes.inner=cm.node("div",{classes:"inner"},a.nodes.radio=cm.node("div",{classes:"card__radio"}),a.nodes.details=cm.node("div",{classes:["card__details","has-delimiters"]}
1))),cm.isEmpty(a._name)||cm.appendChild(cm.node("h4",{classes:"card__name"},a._name),a.nodes.details),cm.isEmpty(a.data.number)||cm.appendChild(cm.node("div",{classes:["card__value","card__number","h7"]},a.data.number),a.nodes.details),cm.isEmpty(a._date)||cm.appendChild(cm.node("div",{classes:["card__value","card__number","h7"],title:a._date},a._dateShort),a.nodes.details),cm.isEmpty(a.data.type)||cm.appendChild(cm.node("div",{classes:["card__value","card__type","h7"]},a.data.type),a.nodes.details),cm.isEmpty(a.data.status)||cm.appendChild(cm.node("div",{classes:["card__value","card__status","h7",a._status]},a.data.status),a.nodes.details),cm.click.add(a.nodes.container,()=>n.setAction(a)),cm.appendChild(a.nodes.container,a.params.container),n.items.push(a),a},n.setAction=function(e,t){t=cm.merge({triggerEvents:!0,override:!1}),this.active&&cm.removeClass(this.active.nodes.container,"active"),t.override||this.active!==e?(this.active=e,cm.addClass(e.nodes.container,"active")):(this.active=null,cm.removeClass(e.nodes.container,"active")),t.triggerEvents&&this.triggerEvent("onSet",this.active)},n.setByIndex=function(e,t){e=this.items[e];return e&&this.setAction(e,t),this},n.setData=function(e){return this.params.data=e,this.renderItems(),this},n.get=function(){return this.active},n.getItems=function(){return this.items}}),cm.define("App.Video",{extend:"Com.AbstractController",events:["onPlay","onPause","onComplete"],params:{controllerEvents:!0,renderStructure:!0,embedStructureOnRender:!0,embedStructure:"append",theme:"default",name:null,url:null,poster:{},sources:[],metadata:{},videoPoster:"transparent",autoplay:!1,controls:!0,showControls:!1,overlay:{show:!0,constructor:"Com.Overlay",constructorParams:{lazy:!0,autoOpen:!1,showSpinner:!0,spinnerSize:"xx-large",removeOnClose:!0,position:"absolute",theme:"transparent"}}}},function(){Com.AbstractController.apply(this,arguments)}),cm.getConstructor("App.Video",function(e,t,n,a){n.onConstructStart=function(){this.themes={default:{play:"svg__play",pause:"svg__pause"},light:{play:"svg__play-light",pause:"svg__pause-light"},dark:{play:"svg__play-dark",pause:"svg__pause-dark"}}},n.onValidateParamsStart=function(){this.theme=this.themes[this.params.theme]||this.themes.default,"transparent"===this.params.videoPoster&&(this.params.videoPoster="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7")},n.onConstructEnd=function(){this.params.autoplay&&this.isPaused()&&this.nodes.video.play()},n.renderView=function(){var e=this;e.nodes.container=cm.node("div",{classes:"app__video"},e.nodes.holder=cm.node("div",{classes:["pt__image","pt__image--video","is-paused"],role:"button",tabindex:0,"aria-label":e.msg("play"),"aria-pressed":"false"},e.nodes.inner=cm.node("div",{classes:"inner"},e.nodes.video=cm.node("video",{classes:"descr",poster:e.params.videoPoster,preload:"none"})))),cm.addClass(e.nodes.holder,["theme",e.params.theme].join("--")),e.nodes.icon=cm.node("div",{classes:["icon","centered","xx-large","is-contain",e.theme.play]}),e.nodes.progress=cm.node("progress",{classes:"progress",value:0,min:0}),e.params.controls&&(cm.appendChild(e.nodes.icon,e.nodes.inner),cm.appendChild(e.nodes.progress,e.nodes.inner)),cm.isEmpty(e.params.poster)||(e.nodes.poster=Application.Images.embed(cm.merge(e.params.poster,{alt:e.params.name,classes:["is-cover"],modifiers:["video-poster"]})),cm.insertFirst(e.nodes.poster,e.nodes.inner)),cm.isEmpty(e.params.metadata)||(e.nodes.metadata=cm.node("script",{type:"application/ld+json",innerHTML:cm.stringifyJSON(e.params.metadata)}),cm.insertFirst(e.nodes.metadata,e.nodes.container))},n.renderSource=function(e){e=cm.node("source",e);cm.appendChild(e,this.nodes.video)},n.renderViewModel=function(){let t=this;a.prototype.renderViewModel.apply(t,arguments),cm.getConstructor(t.params.overlay.constructor,e=>{t.components.overlay=new e(cm.merge(t.params.overlay.constructorParams,{container:t.nodes.inner}))}),t.nodes.video.removeAttribute("controls"),t.nodes.video.controls=!1,t.params.autoplay?(t.nodes.video.setAttribute("playsinline",!0),t.nodes.video.playsinline=!0,t.nodes.video.playsInl
1ine=!0,t.nodes.video.muted=!0,t.nodes.video.autoplay=!0,t.nodes.video.loop=!0):(t.nodes.video.removeAttribute("playsinline"),t.nodes.video.playsinline=!1,t.nodes.video.playsInline=!1),cm.addEvent(t.nodes.video,"loadedmetadata",t.loadEvent.bind(t)),cm.addEvent(t.nodes.video,"loadeddata",t.canplayEvent.bind(t)),cm.addEvent(t.nodes.video,"waiting",t.waitingEvent.bind(t)),cm.addEvent(t.nodes.video,"stalled",t.waitingEvent.bind(t)),cm.addEvent(t.nodes.video,"canplay",t.canplayEvent.bind(t)),cm.addEvent(t.nodes.video,"playing",t.canplayEvent.bind(t)),cm.addEvent(t.nodes.video,"timeupdate",t.timeEvent.bind(t)),cm.addEvent(t.nodes.video,"play",t.playEvent.bind(t)),cm.addEvent(t.nodes.video,"pause",t.pauseEvent.bind(t)),cm.addEvent(t.nodes.video,"ended",t.endedEvent.bind(t)),cm.forEach(t.params.sources,t.renderSource.bind(t)),cm.click.add(t.nodes.holder,t.actionToggle.bind(t))},n.loadEvent=function(){this.nodes.progress.setAttribute("max",this.nodes.video.duration)},n.waitingEvent=function(){!this.params.overlay.show||this.isProgress&&this.params.showControls||this.components.overlay.open()},n.canplayEvent=function(){!this.params.overlay.show||this.isProgress&&this.params.showControls||this.components.overlay.close()},n.timeEvent=function(){this.nodes.progress.getAttribute("max")||this.nodes.progress.setAttribute("max",this.nodes.video.duration),this.nodes.progress.value=this.nodes.video.currentTime},n.playEvent=function(){var e=this;e.isProgress=!0,e.nodes.holder.setAttribute("aria-pressed","true"),e.nodes.holder.setAttribute("aria-label",e.msg("pause")),cm.addClass(e.nodes.holder,"is-progress"),cm.replaceClass(e.nodes.holder,"is-paused","is-playing"),cm.replaceClass(e.nodes.icon,e.theme.play,e.theme.pause),e.params.showControls&&(cm.addClass(e.nodes.icon,"is-hidden"),e.nodes.video.setAttribute("controls",!0),e.nodes.video.controls=!0),e.pushDataLayer("play"),e.triggerEvent("onPlay")},n.pauseEvent=function(){var e=this;e.nodes.holder.setAttribute("aria-pressed","false"),e.nodes.holder.setAttribute("aria-label",e.msg("play")),cm.replaceClass(e.nodes.holder,"is-playing","is-paused"),cm.replaceClass(e.nodes.icon,e.theme.pause,e.theme.play),e.params.overlay.show&&e.components.overlay.close(),e.pushDataLayer("pause"),e.triggerEvent("onPause")},n.endedEvent=function(){var e=this;e.isProgress=!1,cm.removeClass(e.nodes.holder,"is-progress"),cm.removeClass(e.nodes.icon,"is-hidden"),e.nodes.video.removeAttribute("controls"),e.nodes.video.controls=!1,e.pushDataLayer("complete"),e.triggerEvent("onComplete"),e.params.autoplay||(e.exitFullscreen(),e.nodes.video.currentTime=0,e.nodes.progress.value=0,e.nodes.video.load())},n.pushDataLayer=function(e){cm.isUndefined(gtag)||gtag("event","video",{video_title:this.params.name,video_url:this.params.url,video_provider:App._env.title,video_status:e})},n.actionToggle=function(){this.isProgress&&this.params.showControls||this.toggle()},n.isFullScreen=function(){return!!(document.fullscreen||document.webkitIsFullScreen||document.mozFullScreen||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement||document.fullscreenElement)},n.exitFullscreen=function(){this.isFullScreen()&&(document.exitFullscreen?document.exitFullscreen():document.mozCancelFullScreen?document.mozCancelFullScreen():document.webkitExitFullscreen?document.webkitExitFullscreen():document.msExitFullscreen&&document.msExitFullscreen())},n.isPaused=function(){return this.nodes.video.paused||this.nodes.video.ended},n.play=function(){this.nodes.video.play()},n.pause=function(){this.nodes.video.pause()},n.toggle=function(){this.isPaused()?this.play():this.pause()}}),cm.define("App.TooltipFilter",{extend:"Com.AbstractInput",events:["onFocus","onBlur","onTooltipShow","onTooltipHide"],params:{name:"abstract",controllerEvents:!0,renderHiddenContent:!1,renderStructureContent:!0,className:[],defaultValue:"",fields:[],focusField:null,button:{render:!0,classes:["button","button-primary","is-wide"],showLabel:!0,scrollOnShow:!0,iconShow:{icon:"gear",classes:["svg--medium"]},iconHide:{icon:"close",classes:["svg--small"]}},tooltip:{render:!0,classes:[],constructor:"Com.Tooltip",constructorParams:{hold:!0,targetEvent:"click",hideOnReClick:!0,preventClickEvent:!0,adaptiveX:!0,adaptiveY:!1,className:"app__tooltip-filter__tooltip",width:"targetWidth",left:0,top:cm._config.tooltipDown,adaptiveFrom:cm._config.screenTabletPortrait,adaptiveWidth:"screenWidth"}},tabset:{render:!0,tabs:[],constructor:"App.Tabset",constructorParams:{name:"tooltip-filter",toggleOnHashChange:!1,className:["app__tabset--small"],adaptive:!0}}}},function(){Com.AbstractInput.apply(this,arguments)}),cm.getConstructor("App.TooltipFilter",function(e,t,n,a){n.onConstruct=function(){this.fields={}},n.onConstructEnd=function(){},n.onValidateParams=function(){var e=this;e.ariaId="tooltip-filter--"+e.params.name,e.components.form=e.params.form,e.components.formField=e.params.formField,e.params.className=cm.merge(["app__tooltip-filter"],e.params.className),e.params.tooltip.constructorParams.ariaId=e.ariaId},n.renderViewModel=function(){a.prototype.renderViewModel.apply(this,arguments),this.params.tooltip.render&&this.renderTooltip(),this.params.tabset.render&&this.renderTabset(),cm.isEmpty(this.params.fields)||this.collectFields()},n.renderContent=function(){this.triggerEvent("onRenderContentStart");var e={};return(this.nodes.content=e).container=cm.node("div",{classes:"input__c
1ontent"}),this.params.button.render&&(e.buttonHolder=cm.node("div",{classes:"pt__input"}),cm.appendChild(e.buttonHolder,e.container),this.nodes.buttonContainer=this.renderButton(),cm.appendChild(this.nodes.buttonContainer,e.buttonHolder)),this.triggerEvent("onRenderContentEnd"),e.container},n.getContentContainer=function(){return this.params.tooltip.render?this.nodes.tooltip.inner:this.nodes.content.container},n.renderButton=function(){var e,t,n=this;if(n.nodes.content)return e=cm.merge(["app__tooltip-filter__button"],n.params.button.classes),n.params.button.showLabel||e.push("is-no-label"),(n.nodes.button=t={}).container=cm.node("div",{classes:e,title:n.msg("show"),role:"button",tabindex:"0","aria-expanded":"false","aria-haspopup":"true","aria-controls":n.ariaId},t.icon=Application.Images.embedIcon(cm.merge(n.params.button.iconShow,{classes:cm.extend(n.params.button.iconShow.classes,["pull-right"])})),t.close=Application.Images.embedIcon(cm.merge(n.params.button.iconHide,{classes:cm.extend(n.params.button.iconHide.classes,["pull-right","hidden","reverse"])}))),t.label=cm.node("div",{classes:"label"},n.msg("label")),t.value=cm.node("div",{classes:"value"},n.msg("default")),n.params.button.showLabel?(cm.insertFirst(t.label,t.container),cm.insertAfter(t.value,t.label)):t.container.setAttribute("aria-label",n.msg("label")),t.container},n.toggleButton=function(e){var t=this.nodes.button;t&&(t.container.title=this.msg(e?"hide":"show"),t.container.setAttribute("aria-expanded",e),cm.toggleClass(t.icon,"hidden",e),cm.toggleClass(t.close,"hidden",!e))},n.getButtonValue=function(e){return cm.isEmpty(e)?this.msg("default"):e},n.setButtonValue=function(e){var t=this.nodes.button;t&&(e=this.getButtonValue(e),t.value.title=e,cm.clearNode(t.value),cm.appendChild(cm.textNode(e),t.value))},n.scrollToButton=function(){var e,t=this.nodes.button;!t||!this.params.button.scrollOnShow||cm.getPageSize("winWidth")>cm._config.screenTabletPortrait||(e=cm.getY(t.container)-parseInt(cm.getCSSVariable("--scroll-padding-top")||0)-cm._config.tooltipIndent,cm.scrollTo(t.container,window,{top:e,behavior:"smooth"}))},n.renderTooltip=function(){let t=this;t.nodes.tooltipContainer=t.renderTooltipView(),cm.getConstructor(t.params.tooltip.constructor,e=>{t.components.tooltip=new e(t.getTooltipParams())})},n.renderTooltipView=function(){var e={},t=(this.nodes.tooltip=e,cm.extend(this.params.tooltip.classes,["app__tooltip-filter__content"]));return e.container=cm.node("div",{classes:t},e.inner=cm.node("div",{classes:"inner"})),e.container},n.getTooltipParams=function(){var e=this;return cm.merge(e.params.tooltip.constructorParams,{target:e.nodes.buttonContainer,content:e.nodes.tooltipContainer,holdTarget:e.nodes.contentContainer,events:{onShowStart:e.showStartTooltipEvent.bind(e),onShow:e.showTooltipEvent.bind(e),onHideStart:e.hideStartTooltipEvent.bind(e),onHide:e.hideTooltipEvent.bind(e)}})},n.showStartTooltipEvent=function(){this.toggleButton(!0)},n.showTooltipEvent=function(){this.scrollToButton(),cm.isEmpty(this.params.focusField)||this.focusField(this.params.focusField),this.triggerEvent("onTooltipShow"),this.triggerEvent("onFocus")},n.hideStartTooltipEvent=function(){this.toggleButton(!1)},n.hideTooltipEvent=function(){this.triggerEvent("onTooltipHide"),this.triggerEvent("onBlur")},n.renderTabset=function(){let t=this;cm.getConstructor(t.params.tabset.constructor,e=>{t.components.tabset=new e(cm.merge(t.params.tabset.constructorParams,{container:t.getContentContainer()})),t.renderTabsetEvents(),cm.isEmpty(t.params.tabset.tabs)||t.renderTabsetView()})},n.renderTabsetView=function(){let t=this,n={};t.nodes.tabset=n,cm.forEach(t.params.tabset.tabs,e=>{n[e]=cm.node("div"),t.components.tabset.addTab({id:e,title:t.msg(["tabs",e].join(".")),content:n[e]})}),t.components.tabset.reset()},n.renderTabsetEvents=function(){},n.collectFields=function(){let t=this;cm.forEach(t.params.fields,e=>{t.processField(e)})},n.processField=function(e){(e=cm.merge({name:null,tab:null,focus:!1,field:null,fieldController:null,container:null},e)).field=this.components.form.getField(e.name),e.field&&(e.fieldController=e.field.fieldController,e.inputController=e.field.inputController,e.container||(e.container=e.fieldController.getContainer()),this.params.tabset.render&&e.tab?e.parent=this.nodes.tabset[e.tab]:e.parent=this.getContentContainer(),cm.appendChild(e.container,e.parent),this.fields[e.name]=e)},n.getField=function(e){return this.fields[e]},n.focusField=function(e){e=this.getField(e);return e&&e.fieldController.focus(!0),e},n.setData=function(e){this.setButtonValue(e)},n.focus=function(){this.components.tooltip?.show()},n.blur=function(){this.components.tooltip?.hide()}}),Com.FormFields.add("button-filter",{node:cm.node("input",{type:"search",autocomplete:"off"}),value:"",defaultValue:"",fieldConstructor:"Com.AbstractFormField",constructor:"App.ButtonFilter"}),cm.getConstructor("App.Application",function(e,t,n,a){n.convertBrandToOption=function(e){return cm.isEmpty(e)?
1null:cm.isObject(e)?(cm.isUndefined(e.title)||(e.text=e.title),cm.isUndefined(e.id)||(e.value=e.id),cm.isUndefined(e.value)&&(e.value=e.text),cm.isUndefined(e.text)&&(e.text=e.value),e):{text:e,value:e}}}),cm.define("App.BrandsAutocomplete",{extend:"Com.Autocomplete",params:{clearOnEmpty:!1,preselectQuery:!0,responseKey:null,ajax:{url:App._api.brand.list,method:"GET",type:"json",uriConfig:{multipleValues:"keys"},params:{order:"title",limit:0,filter:{search:"%query%"}}}}},function(){Com.Autocomplete.apply(this,arguments)}),cm.getConstructor("App.BrandsAutocomplete",function(e,t,n,a){n.callbacks.convertItem=function(e,t){return Application.convertBrandToOption(t)}}),Com.FormFields.add("brands-autocomplete",{node:cm.node("input",{type:"search",autocomplete:"off",classes:"input"}),fieldConstructor:"Com.AbstractFormField",constructor:"App.BrandsAutocomplete"}),cm.define("App.ImagePhotoInput",{extend:"Com.FileInput",params:{className:"app__image-photo-input",hiddenType:"textarea",dropzone:!0,outputValueType:"file",types:{image:cm._config.fileTypes.image,video:cm._config.fileTypes.video,embed:cm._config.fileTypes.embed},acceptDimensions:{minWidth:0,minHeight:0}}},function(){Com.FileInput.apply(this,arguments)}),cm.getConstructor("App.ImagePhotoInput",function(e,t,n,a){n.renderContent=function(){var e={};return e.container=cm.node("div",{classes:"app__image-photo-input__content"},e.inner=cm.node("div",{classes:"inner"},e.content=cm.node("div",{classes:"app__image-photo-input__holder"},e.holder=cm.node("div",{classes:"tpl__block__image"})))),(this.nodes.content=e).container},n.renderImage=function(e){var t=this.nodes.content;t&&(cm.clearNode(t.holder),cm.isEmpty(e)||(e.image=cm.isEmpty(e.id)?e.url:Application.GalleryItem.getFormSrc(e.id)),t.image=Application.Images.embed({container:t.holder,modifiers:["gallery-form"],classes:["is-contain"],image:e?.image,blank:Application.GalleryItem.getBlankSrc(),alt:Application.msg("gallery.item.title"),imageAttr:{draggable:!1},imageDataset:{pinNopin:"true"}}))},n.isAcceptableImageDimensions=function(){return Com.ImageInput.prototype.isAcceptableImageDimensions.apply(this,arguments)},n.validateValue=function(){return Com.ImageInput.prototype.validateValue.apply(this,arguments)},n.setData=function(){return this.renderImage(this.value),this}}),Com.FormFields.add("image-photo",{node:cm.node("input",{type:"text"}),value:"",defaultValue:"",fieldConstructor:"Com.AbstractFormField",constructor:"App.ImagePhotoInput"}),cm.define("App.ImageResizeInput",{extend:"Com.FileInput",params:{redrawOnRender:!1,className:"app__image-resize-input",hiddenType:"textarea",dropzone:!0,outputValueType:"file",outputFleFormat:{name:"$$$$$$$",type:"image/jpeg",quality:"0.85"},template:{modifiers:[],width:0,height:0},scale:{constructor:"Com.Range",constructorParams:{min:1,max:10,step:0,precision:2,defaultValue:1,showCounter:!1}}}},function(){Com.FileInput.apply(this,arguments)}),cm.getConstructor("App.ImageResizeInput",function(e,t,n,a){n.onConstructStart=function(){this.dragStartHandler=this.dragStart.bind(this),this.dragMoveHandler=this.dragMove.bind(this),this.dragEndHandler=this.dragEnd.bind(this)},n.onConstructEnd=function(){setTimeout(this.redraw.bind(this),cm._config.animDuration)},n.onRedraw=function(){this.resizeCanvas()},n.renderViewModel=function(){let n=this;a.prototype.renderViewModel.apply(n,arguments),cm.getConstructor(n.params.scale.constructor,e=>{n.components.scale=new e(cm.merge(n.params.scale.constructorParams,{container:n.nodes.content.content,events:{onSelect:(e,t)=>{n.setImagePosition({scale:Number(t)},{scale:!0})}}}))}),n.renderCanvas()},n.renderContent=function(){this.triggerEvent("onRenderContentStart");var e={};return e.container=cm.node("div",{classes:"app__image-resize-input__content"},e.inner=cm.node("div",{classes:"inner"},e.content=cm.node("div",{classes:"app__image-resize-input__holder"},e.resizer=cm.node("div",{classes:"app__image-resize"},e.canvas=cm.node("canvas"),e.template=this.renderTemplate())))),this.triggerEvent("onRenderContentProcess"),this.triggerEvent("onRenderContentEnd"),(this.nodes.content=e).container},n.loadImage=function(e,t){let n={image:e};cm.onImageLoad(n.image.url,e=>
1{n.image.node=e,n.image.width=e.naturalWidth,n.image.height=e.naturalHeight,n.image.aspect=n.image.width/n.image.height,t(n)})},n.setImagePosition=function(e,t){var n=this;((t=cm.merge({reset:!1,resize:!1,scale:!1,center:!1},t)).reset||cm.isEmpty(n.imageData))&&(n.imageData={type:"cover",scale:1,width:0,height:0,x:0,y:0,posX:0,posY:0,centerX:0,centerY:0,offsetX:0,offsetY:0,dragOffsetX:0,dragOffsetY:0}),n.imageData=cm.merge(n.imageData,e),cm.isEmpty(n.imageData.image)||(t.resize&&(n.imageData=cm.merge(n.imageData,n.getBlockDimensions())),(t.resize||t.scale)&&(n.imageData=cm.merge(n.imageData,n.getImageDimensions())),t.resize&&(n.imageData.offsetX=0,n.imageData.offsetY=0),n.imageData.posX=n.imageData.centerX+n.imageData.offsetX+n.imageData.dragOffsetX,n.imageData.posY=n.imageData.centerY+n.imageData.offsetY+n.imageData.dragOffsetY,n.imageData.x=Math.max(n.imageData.template.x2-n.imageData.width,Math.min(n.imageData.template.x,n.imageData.posX)),n.imageData.y=Math.max(n.imageData.template.y2-n.imageData.height,Math.min(n.imageData.template.y,n.imageData.posY)),n.imageData.offsetX-=n.imageData.posX-n.imageData.x,n.imageData.offsetY-=n.imageData.posY-n.imageData.y,t.center&&(n.imageData.offsetX+=n.imageData.dragOffsetX,n.imageData.offsetY+=n.imageData.dragOffsetY,n.imageData.dragOffsetX=0,n.imageData.dragOffsetY=0),n.setCanvas())},n.getBlockDimensions=function(){var e={container:{},template:{}};return e.container.width=this.nodes.content.resizer.offsetWidth,e.container.height=this.nodes.content.resizer.offsetHeight,e.container.aspect=e.container.width/e.container.height,e.template.width=this.nodes.content.template.offsetWidth,e.template.height=this.nodes.content.template.offsetHeight,e.template.aspect=e.template.width/e.template.height,e.template.ratio=this.params.template.width/e.template.width,e.template.x=(e.container.width-e.template.width)/2,e.template.x2=e.template.x+e.template.width,e.template.y=(e.container.height-e.template.height)/2,e.template.y2=e.template.y+e.template.height,e},n.getImageDimensions=function(){var e=this,t={};return t.fit="contain"===e.imageData.type?e.imageData.image.aspect>e.imageData.template.aspect:e.imageData.image.aspect<e.imageData.template.aspect,t.width=e.imageData.template.width*e.imageData.scale,t.he
1ight=e.imageData.template.height*e.imageData.scale,t.fit?t.height=t.width/e.imageData.image.aspect:t.width=t.height*e.imageData.image.aspect,t.centerX=(e.imageData.container.width-t.width)/2,t.centerY=(e.imageData.container.height-t.height)/2,t},n.getImageDataURL=function(){var e,t,n=this,a=n.getBlockDimensions();if(a.template.width&&a.template.height)return(t=(e=cm.node("canvas",{width:n.params.template.width,height:n.params.template.height,styles:{width:n.params.template.width+"px",height:n.params.template.height+"px"}})).getContext("2d")).globalCompositeOperation="destination-under",t.fillStyle="#ffffff",t.fillRect(0,0,n.params.template.width,n.params.template.height),t.drawImage(n.nodes.content.canvas,a.template.x*a.template.ratio,a.template.y*a.template.ratio,n.params.template.width,n.params.template.height,0,0,n.params.template.width,n.params.template.height),e.toDataURL(n.params.outputFleFormat.type,n.params.outputFleFormat.quality)},n.getImageBlob=function(){var e=this.getImageDataURL();return e?cm.dataURItoBlob(e):this.value.value},n.getImageFile=function(){var e=this.getImageDataURL();return e?cm.dataURItoFile(e):this.value.file},n.renderCanvas=function(){cm.addEvent(this.nodes.content.resizer,"pointerdown",this.dragStartHandler),this.components.canvas=this.nodes.content.canvas.getContext("2d")},n.resizeCanvas=function(){var e=this.getBlockDimensions();this.nodes.content.canvas.width=e.container.width*e.template.ratio,this.nodes.content.canvas.height=e.container.height*e.template.ratio,this.components.canvas.scale(e.template.ratio,e.template.ratio),this.setImagePosition({},{resize:!0})},n.setCanvas=function(){this.clearCanvas(),this.components.canvas.drawImage(this.imageData.image.node,this.imageData.x,this.imageData.y,this.imageData.width,this.imageData.height)},n.clearCanvas=function(){this.components.canvas.clearRect(0,0,this.nodes.content.canvas.width,this.nodes.content.canvas.height)},n.dragStart=function(e){cm.preventDefault(e),this.isDragging||e.button||(this.isDragging=!0,e=cm.getEventClientPosition(e),this.dragData={dragX:e.left,dragY:e.top},cm.addClass(document.body,"cm__cursor--move"),cm.addEvent(window,"pointermove",this.dragMoveHandler),cm.addEvent(window,"pointerup",this.dragEndHandler))},n.dragMove=function(e){cm.preventDefault(e);e=cm.getEventClientPosition(e);this.dragData.dragOffsetX=e.left-this.dragData.dragX,this.dragData.dragOffsetY=e.top-this.dragData.dragY,this.setImagePosition(this.dragData)},n.dragEnd=function(e){cm.preventDefault(e),this.isDragging=!1,this.setImagePosition({},{center:!0}),cm.removeClass(document.body,"cm__cursor--move"),cm.removeEvent(window,"pointermove",this.dragMoveHandler),cm.removeEvent(window,"pointerup",this.dragEndHandler)},n.renderTemplate=function(){let t=["app__image-resize__template"];return cm.forEach(this.params.template.modifiers,e=>{t.push(["app__image-resize__template",e].join("--"))}),cm.node("div",{classes:t},this.callbacks.renderTemplate(this))},n.callbacks.renderTemplate=function(e){return cm.node("div")},n.get=function(){var e=this;if(!cm.isEmpty(e.value)){if(!cm.isEmpty(e.value.file))switch(e.params.outputValueType){case"base64":return e.getImageDataURL();case"blob":return e.getImageBlob();case"file":return e.getImageFile()}return e.value.value||e.value}},n.setData=function(){let t=this;t.components.scale.reset(!1),cm.isEmpty(t.value)?t.clearCanvas():t.loadImage(t.value,e=>{t.setImagePosition(e,{reset:!0,resize:!0})})}}),Com.FormFields.add("image-resize",{node:cm.node("input",{type:"text"}),value:"",defaultValue:"",fieldConstructor:"Com.AbstractFormField",constructor:"App.ImageResizeInput"}),cm.define("App.LocationAutocomplete",{extend:"Com.AbstractInput",events:["onEnterPress","onIconClick","onGeoIconClick","onFocus","onBlur","onLoadComplete"],params:{controllerEvents:!0,isValueOption:!0,clearOnEmpty:!1,allowEmptyText:!1,ignoredValues:[],inputClasses:[],icon:null,iconTitle:null,geoIcon:null,geoIconTitle:null,apiKey:App._env.googleApiKey,apiLink:App._config.google.apiLink,places:{fields:["formatted_address","geometry","name"],strictBounds:!1},pacClass:"pac-container",appendPac:!1,geocoder:{enable:!0,constructor:"Com.Geocoder",constructorParam:{}}}},function(){Com.AbstractInput.apply(this,arguments)}),cm.getConstructor("App.LocationAutocomplete",function(e,t,n,a){n.onConstruct=function(){this.isFocus=!1,this.wasFocus=!1,this.clickTarget=null,this.rawValue={},this.tempRawValue={},this.bodyClickEventHandler=this.bodyClickEvent.bind(this)},n.onDestruct=function(){var e;this.components.autocomplete&&(this.components.gMaps.event.clearInstanceListeners(this.components.autocomplete),e=cm.getByClass(this.params.pacClass),cm.forEach(e,e=>cm.remove(e)))},n.onValidateParams=function(){var e=this;e.components.form=e.params.form,e.components.formField=e.params.formField,e.a
1piLink=cm.fillVariables(e.params.apiLink,{key:e.params.apiKey,language:cm._lang}),e.params.geocoder.constructorParam.apiKey=e.params.apiKey,e.params.geocoder.constructorParam.apiLink=e.apiLink},n.onSetEvents=function(){cm.addEvent(document,"mousedown",this.bodyClickEventHandler)},n.onUnsetEvents=function(){cm.removeEvent(document,"mousedown",this.bodyClickEventHandler)},n.renderContent=function(){var e=this,t=(e.triggerEvent("onRenderContentStart"),{});return t.container=cm.node("div",{classes:"pt__input"},t.inner=cm.node("div",{classes:"inner"},t.input=cm.node("input",{classes:e.params.inputClasses,type:"search",placeholder:""}))),e.params.icon&&(cm.addClass(t.container,"has-icon"),t.icon=e.renderIcon({icon:e.params.icon,title:e.params.iconTitle}),cm.insertFirst(t.icon,t.inner)),e.params.geoIcon&&(cm.addClass(t.container,"has-geo-icon"),t.geoIcon=e.renderIcon({icon:e.params.geoIcon,title:e.params.geoIconTitle}),cm.insertLast(t.geoIcon,t.inner)),cm.isEmpty(e.params.placeholder)||(t.input.placeholder=e.params.placeholder),e.triggerEvent("onRenderContentProcess"),e.renderContentEvents(t),e.triggerEvent("onRenderContentEnd"),(e.nodes.content=t).container},n.renderContentEvents=function(e){var t=this;cm.addEvent(e.input,"focus",t.inputFocusEvent.bind(t)),cm.addEvent(e.input,"blur",t.inputBlurEvent.bind(t)),cm.addEvent(e.input,"keydown",t.inputKeyDownEvent.bind(t)),cm.addEvent(e.icon,"mousedown",t.iconEvent.bind(t)),cm.addEvent(e.icon,"click",t.iconEvent.bind(t)),cm.addEvent(e.geoIcon,"mousedown",t.geoIconEvent.bind(t)),cm.addEvent(e.geoIcon,"click",t.geoIconEvent.bind(t))},n.renderViewModel=function(){let t=this;a.prototype.renderViewModel.apply(t,arguments),t.params.geocoder.enable&&cm.getConstructor(t.params.geocoder.constructor,e=>{t.components.geocoder=new e(t.params.geocoder.constructorParam)}),cm.loadScript({path:"google.maps",src:t.apiLink,callback:e=>{t.isLoaded=!0,t.components.gMaps=e,t.components.autocomplete=new t.components.gMaps.places.Autocomplete(t.nodes.content.input,t.params.places),t.components.autocomplete.addListener("place_changed",t.processPlace.bind(t)),t.triggerEvent("onLoadComplete")}})},n.renderIcon=function(e){e=cm.merge({icon:null,title:null},e);var t=cm.isNode(e.icon)?e.icon:this.renderIconView(e);return cm.isEmpty(e.title)||(t.title=e.title),t},n.renderIconView=function(e){return cm.node("div",{classes:e.icon})},n.getIcon=function(){return this.nodes.content.icon},n.toggleGeoIcon=function(e){var t=this.nodes.content;t&&(cm.toggleClass(t.container,"has-geo-icon",e),cm.toggleClass(t.geoIcon,"hidden",!e),e?cm.insertLast(t.geoIcon,t.inner,!1):cm.remove(t.geoIcon))},n.inputFocusEvent=function(){let t=this;var e;t.isFocus=!0,t.params.appendPac&&(e=cm.getByClass(t.params.pacClass),cm.forEach(e,e=>cm.appendChild(e,t.nodes.content.container))),t.triggerEvent("onFocus",t.value)},n.inputBlurEvent=function(e){var t;cm.isParentByClass(this.params.pacClass,this.clickTarget)||(t=this.nodes.content.input.value,this.processName(t)),this.isFocus=!1,this.clickTarget=null,this.triggerEvent("onBlur",this.value)},n.inputKeyDownEvent=function(e){"Enter"===e.code&&this.triggerEvent("onEnterPress")},n.iconEvent=function(e){cm.preventDefault(e),"mousedown"===e.type&&(this.wasFocus=this.isFocus),"click"===e.type&&(this.wasFocus||this.focus(!0),this.triggerEvent("onIconClick"))},n.geoIconEvent=function(e){cm.preventDefault(e),this.triggerEvent("onGeoIconClick")},n.bodyClickEvent=function(e){this.clickTarget=e.target},n.processPlace=function(){this.components.formField&&this.components.formField.clearError();var e=this.components.autocomplete.getPlace();e?.geometry?(e=this.getPlaceLocation(e),this.processValue(e)):(e=this.nodes.content.input.value,this.processName(e))},n.processName=function(e){cm.inArray(this.params.ignoredValues,e)?this.blur():!cm.isEmpty(e)&&this.params.geocoder.enable?this.processGeocoder(e):this.processDefault()},n.processGeocoder=function(e){let t=this;t.components.geocoder.get({address:e},e=>{e=e&&e[0]||{},e=t.getPlaceLocation(e);e?t.processValue(e):t.processDefault()},()=>{t.processDefault()})},n.processDefault=function(){var e=this.nodes.content.input.value;this.params.clearOnEmpty?(this.components.formField&&this.components.formField.renderError(this.msg(cm.isEmpty(e)?"errors.empty":"errors.not_found")),this.tempRawValue={}):this.processValue({value:e,text:e,data:{}})},n.processValue=function(e){this.tempRawValue=e.value,this.set(e,!0)},n.getPlaceLocation=function(e){return e?.geometry?{value:{lat:e.geometry.location.lat(),lng:e.geometry.location.lng()},text:e.formatted_address,data:e}:null},n.validateValue=function(e){return e=a.prototype.validateValue.apply(this,arguments),cm.isObject(e.value)&&(e.value=[e.value.lng,e.value.lat].join(",")),e},n.saveRawValue=function(e){(e=cm.isEmpty(e.value)?[]:e.value.split(",")).length<=1&&(e=[]),this.tempRawValue={lng:cm.isEmpty(e[0])?null:parseFloat(e[0]),lat:cm.isEmpty(e[1])?null:parseFloat(e[1])}},n.setData=function(e){var t,n=this.nodes.content;n&&(t=(this.getValueOption()??{}).placeholder,n.input.placeholder=t||this.params.placeholder,n.input.value=e||"")},n.focus=function(e){return!0===e&&(e=this.nodes.content.input.value,this.nodes.content.input.setSelectionRange(0,e.length)),this.nodes.content.input.focus(),this},n.blur=function(){return this.nodes.content.input.blur(),this}}),Com.FormFields.add("location-autocomplete",{node:cm.node("input",{type:"search",autocomplete:"none"}),value:"",defaultValue:"",isValueOption:!0,fieldConstructor:"Com.AbstractFormField",constructor:"App.LocationAutocomplete"}),cm.define("App.LocationFilter",{extend:"App.TooltipFilter",params:{name:"location",button:{iconShow:{icon:"pin-border",classes:["svg--field-half"]}},tooltip:{render:!0},tabset:{render:!1,tabs:["address"]},apiKey:App._env.googleApiKey,apiLink:App._config.google.apiLink,geolocation:{enable:!0,constructor:"Com.Geolocation",constructorParams:{autoRequest:!1,useDefault:!1,geocoder:{enable:!0}}}}},function(){App.TooltipFilter.apply(this,arguments)}),cm.getConstructor("App.LocationFilter",function(e,t,n,a){n.onConstruct=function(){this.fields={},this.rawValue={},this.tempRawValue={},this.fieldsValue={},a.prototype.onConstruct.apply(this,arguments)},n.onConstructEnd=function(){a.prototype.onConstructEnd.apply(this,arguments),this.processLocation()},n.onValidateParams=function(){a.prototype.onValidateParams.apply(this,arguments),"https:"!==window.location.protocol&&(this.params.geolocation.enable=!1),this.params.geolocation.constructorParams.apiKey=this.params.apiKey,this.params.geolocation.constructorParams.apiLink=cm.fillVariables(this.params.apiLink,{key:this.params.apiKey,language:cm._lang})},n.renderViewModel=function(){a.prototype.renderViewModel.apply(this,arguments),this.params.geolocation.enable&&this.initGeolocation()},n.processLocation=function(){let e=this,t=e.getField("location");t&&((e.fields.location=t).fieldController.addEvent("onChange",e.setLocation.bind(e)),t.inputController.addEvent("onEnterPress",()=>{e.params.tooltip.render&&e.components.tooltip.hide()}
1),t.inputController.addEvent("onGeoIconClick",()=>{e.params.geolocation.enable?e.components.geolocation.request():t.inputController.blur(),e.params.tooltip.render&&e.components.tooltip.hide()}),e.params.geolocation.enable&&e.components.geolocation.request(),e.setFieldsValue(t.fieldController.getText(),!0))},n.setLocation=function(){var e,t=this.getField("location");t&&(t=t.fieldController.get("option"),(e=this.getField("place"))&&e.fieldController.set(t.data,!1),this.setFieldsValue(t.text,!0))},n.setIcon=function(){this.fields.location.inputController.toggleGeoIcon(this.params.geolocation.enable)},n.initGeolocation=function(){let s=this;cm.getConstructor(s.params.geolocation.constructor,e=>{s.components.geolocation=new e(cm.merge(s.params.geolocation.constructorParams,{events:{onSuccess:(e,t,n,a)=>{s.processGeolocation(n),s.setIcon()},onError:()=>{s.params.geolocation.enable=!1,s.setIcon()}}}))})},n.processGeolocation=function(e){var t,e=e&&e[0]||{};!cm.isEmpty(e)&&((t=this.getField("zoom"))&&t.fieldController.reset(!1),(t=this.getField("place"))&&t.fieldController.set(e,!1),t=this.getField("location"))&&(e=t.inputController.getPlaceLocation(e),t.fieldController.set(e,!1),this.setFieldsValue(t.fieldController.getText(),!0))},n.setFieldsValue=function(e,t){(t=!!cm.isUndefined(t)||t)&&this.set(e)}}),Com.FormFields.add("location-filter",{node:cm.node("input",{type:"text"}),value:"",defaultValue:"",fieldConstructor:"Com.AbstractFormField",constructor:"App.LocationFilter"}),cm.define("App.InputPassword",{extend:"Com.InputPassword",params:{iconVisible:"eye-border",iconHidden:"eye-off-border"}},function(){Com.InputPassword.apply(this,arguments)}),cm.getConstructor("App.InputPassword",function(e,t,n,a){n.renderIconView=function(e){return Application.Images.embedIcon({icon:e.icon,modifiers:["input"],classes:["linked"]})}}),Com.FormFields.add("password",{node:cm.node("input",{type:"password"}),value:"",defaultValue:"",fieldConstructor:"Com.AbstractFormField",constructor:"App.InputPassword",constructorParams:{type:"password"}}),cm.define("App.ProductBookPreferences",{extend:"App.TooltipFilter",params:{name:"product-book-preferences",button:{showLabel:!1,classes:["button","button--round","button--border","button--xlarge"],iconShow:{icon:"gear-border"},iconHide:{classes:["svg--field-half"]}},tooltip:{render:!0,classes:["app__product-book-preferences__content"],constructorParams:{container:"document.body",position:"absolute",theme:["theme-default","theme-shadow-top"],animate:"drop-top-right",arrow:"bottom-left",top:"- (selfHeight + 24)",adaptiveX:!1,adaptiveY:!1,adaptiveFrom:cm._media.smallDown,adaptiveWidth:null,adaptiveTop:"- (selfHeight + 12)"}},tabset:{render:!1,tabs:["content"]}}},function(){App.TooltipFilter.apply(this,arguments)}),cm.getConstructor("App.ProductBookPreferences",function(e,t,n,s){n.onConstruct=function(){this.fieldsValue={},this.roleValue=null,s.prototype.onConstruct.apply(this,arguments)},n.renderViewModel=function(){let a=this;s.prototype.renderViewModel.apply(a,arguments),cm.forEach(a.fields,function(n){a.setFieldsValue(n.name,n.fieldController.get(),!1),n.fieldController.addEvent("onChange",(e,t)=>{a.setFieldsValue(n.name,t,!0)}),n.inputController.addEvent("onEnterPress",()=>{a.components.tooltip?.hide()})})},n.getTooltipParams=function(){var e=s.prototype.getTooltipParams.apply(this,arguments);return cm.merge(e,{container:"absolute"===e.position&&e.positionTarget?e.positionTarget:e.container})},n.setFieldsValue=function(e,t,n){this.fieldsValue[e]=t;let a=[];cm.forEach(this.fieldsValue,(e,t)=>{cm.isEmpty(e)||a.push(e)}),n=!!cm.isUndefined(n)||n,(n=0<a.length&&a.length<this.params.minLength?!1:n)&&this.set(a)}}),Com.FormFields.add("product-book-preferences",{node:cm.node("input",{type:"text"}),fieldConstructor:"Com.AbstractFormField",constructor:"App.ProductBookPreferences"}),cm.define("App.ProfileFilter",{extend:"App.TooltipFilter",params:{name:"profile",button:{iconShow:{icon:"user2",classes:["svg--field-half"]}},tooltip:{render:!0},tabset:{render:!1,tabs:["profile"]}}},function(){App.TooltipFilter.apply(this,arguments)}),cm.getConstructor("App.ProfileFilter",function(e,t,n,s){n.onConstruct=function(){this.fieldsRules={tech:["firstname","lastname"],salon:["businessname"]},this.fieldsRule=null,this.fieldsValue={},this.roleValue=null,s.prototype.onConstruct.apply(this,arguments)},n.renderViewModel=function(){let a=this;s.prototype.renderViewModel.apply(a,arguments),cm.forEach(a.fields,n=>{a.setFieldsValue(n.name,n.fieldController.get(),!1),n.fieldController.addEvent("onChange",(e,t)=>{a.setFieldsValue(n.name,t,!0)}),n.inputController.addEvent("onEnterPress",()=>{a.components.tooltip?.hide()})})},n.setFieldsValue=function(e,t,n){let a=this,s=("role"===e?(a.roleValue=t,a.fieldsRule=a.fieldsRules[a.roleValue]||a.fieldsRules.tech,a.params.focusField=a.fieldsRule[0]):a.fieldsValue[e]=t,[]);cm.forEach(a.fieldsValue,(e,t)=>{!cm.inArray(a.fieldsRule,t)||cm.isEmpty(e)||s.push(e)}),cm.isEmpty(s)?s=a.getButtonValue():(s=s.join(" "),(e=a.msgObject("suffixes")[a.roleValue])&&(s=s+" "+e)),n=!!cm.isUndefined(n)||n,(n=0<s.length&&s.length<a.params.minLength?!1:n)&&a.set(s)},n.getButtonValue=function(e){return cm.isEmpty(e)?this.msgObject("values")[this.roleValue]||this.msg("default"):e}}),Com.FormFields.add("profile-filter",{node:cm.node("input",{type:"text"}),fieldConstructor:"Com.AbstractFormField",constructor:"App.ProfileFilter"}),cm.define("App.ReCaptcha",{extend:"Com.AbstractInput",events:["onSuccess","onError","onReady"],params:{controllerEvents:!0,setHiddenInput:!0,setContentInput:!1,apiAction:"website/searchlicense",apiKey:App._env.reCaptchaApiKey,apiLink:"https://www.google.com/recaptcha/api.js?onload=%callback%&render=explicit&hl=%lang%"}},function(e){Com.AbstractInput.apply(this,arguments)}),cm.getConstructor("App.ReCaptcha",function(e,t,n,a){n.onConstructStart=function(){var e=this;e.isReady=!1,e.callbackName=["AppReCaptcha",Date.now()].join("__"),e.callbackNameOnLoad=[e.callbackName,"OnLoad"].join("__"),e.callbackNameOnSuccess=[e.callbackName,"OnSuccess"].join("__"),window[e.callbackNameOnLoad]=e.afterReady.bind(e),window[e.callbackNameOnSuccess]=function(){}},n.onDestruct=function(){delete window[this.callbackNameOnLoad],delete window[this.callbackNameOnSuccess]},n.onValidateParams=function(){this.components.form=this.params.form,this.components.formField=this.params.formField,this.apiLink=cm.strReplace(this.params.apiLink,{"%callback%":this.callbackNameOnLoad,"%key%":this.params.apiKey})},n.renderContent=function(){var e={};return this.nodes.content=e,this.triggerEvent("onRenderContentStart"),e.container=cm.node("div",{class:"g-recaptcha","data-sitekey":this.params.apiKey,"data-callback":this.callbackNameOnSuccess,"data-size":"invisible"}),this.triggerEvent("onRenderContentProcess"),this.triggerEvent("onRenderContentEnd"),e.container},n.renderViewModel=function(){a.prototype.renderViewModel.apply(this,arguments),this.nodes.script=cm.addScript(this.apiLink)},n.afterReady=function(){this.isReady=!0,this.components.reCaptcha=window.grecaptcha,this.components.reCaptchaWidget=this.components.reCaptcha.render(this.nodes.content.container,{},!0),this.triggerEvent("onReady")},n.execute=function(t,n){var a=this;a.isReady?(window[a.callbackNameOnSuccess]=function(e){cm.isEmpty(e)?(cm.isFunction(n)&&n(),a.triggerEvent("onError")):(a.set(e,!1),cm.isFunction(t)&&t(e),a.triggerEvent("onSuccess",e)),a.components.reCaptcha.reset(a.components.reCaptchaWidget)},a.components.reCaptcha.execute(a.components.reCaptchaWidget)):(cm.isFunction(n)&&n(),a.triggerEvent("onError"))}}),Com.FormFields.add("recaptcha",{value:"",defaultValue:"",fieldConstructor:"Com.AbstractFormField",constructor:"App.ReCaptcha"}),cm.getConstructor("App.Application",function(e,t,n,a){n.convertSchoolsToOption=function(e){return cm.isEmpty(e)?
1null:cm.isObject(e)?(cm.isUndefined(e.data)&&(e.data=e),cm.isUndefined(e.title)||(e.text=e.title),cm.isUndefined(e.shortname)||(e.value=e.shortname),cm.isUndefined(e.value)&&(e.value=e.text),cm.isUndefined(e.text)&&(e.text=e.value),e):{text:e,value:e}}}),cm.define("App.SchoolsAutocomplete",{extend:"Com.Autocomplete",params:{className:"app__schools-ac",clearOnEmpty:!1,showSuggestion:!1,showListOnEmpty:!0,minLength:3,direction:"auto",data:[{shortname:"hair-lab-detroit-barber-school",title:"Hair Lab Detroit Barber School",website:"https://www.hairlabdetroitbarberschool.com/"}],tooltip:{constructorParams:{hold:!0}}}},function(){Com.Autocomplete.apply(this,arguments)}),cm.getConstructor("App.SchoolsAutocomplete",function(e,t,n,a){n.callbacks.convertItem=function(e,t,n){return t=Application.convertSchoolsToOption(t),a.prototype.callbacks.convertItem(e,t,n)}}),Com.FormFields.add("schools-autocomplete",{node:cm.node("input",{type:"search",autocomplete:"none"}),fieldConstructor:"Com.AbstractFormField",constructor:"App.SchoolsAutocomplete"}),cm.define("App.SlugInput",{extend:"Com.Input",params:{maxLength:255,preview:""+App._env.protocol+App._env.baseUrl+"/user/{value}",constrain:/[^a-z0-9._-]/gi}},function(){Com.AbstractController.apply(this,arguments)}),cm.getConstructor("App.SlugInput",function(e,t,n,a){n.renderContentView=function(){var e=a.prototype.renderContentView.apply(this,arguments);return e.preview=cm.node("div",{classes:"pt__field__hint"}),cm.appendChild(e.preview,e.inner),e},n.selectData=function(e){var t=this.nodes.content;t&&(e=(e=cm.isUndefined(e)?this.value:e).replace(this.params.constrain,""),t.preview.innerHTML=cm.fillVariables(this.params.preview,{value:e}))},n.setData=function(e){var t=this.nodes.content;t&&(e=(e=cm.isUndefined(e)?this.value:e).replace(this.params.constrain,""),t.input.value=e,t.preview.innerHTML=cm.fillVariables(this.params.preview,{value:e}))}}),Com.FormFields.add("slug-input",{node:cm.node("input",{classes:"input",type:"text"}),value:"",defaultValue:"",fieldConstructor:"Com.AbstractFormField",constructor:"App.SlugInput",constructorParams:{type:"text"}}),cm.define("App.SocialInput",{extend:"Com.Input",params:{className:"app__social-input",prefix:null,icon:null,iconInsertMethod:"insertFirst"}},function(){Com.Input.apply(this,arguments)}),cm.getConstructor("App.SocialInput",function(e,t,n,a){n.onRedraw=function(){var e;this.params.prefix&&(e=this.nodes.content.prefix.offsetWidth||0,this.nodes.content.input.style.paddingLeft=e+2+"px")},n.renderContentView=function(){var e=a.prototype.renderContentView.apply(this,arguments);return this.params.prefix&&(e.prefix=cm.node("div",{classes:"prefix"},this.params.prefix),cm.click.add(e.prefix,this.focusHandler),cm.insertBefore(e.prefix,e.input)),e},n.renderIconView=function(e){return Application.Images.embedIcon({icon:e.icon,modifiers:["input"],classes:["linked"]})},n.getValuePreview=function(){return""+this.params.prefix+this.value}}),Com.FormFields.add("social-input",{node:cm.node("input",{type:"text"}),value:"",defaultValue:"",fieldConstructor:"Com.AbstractFormField",constructor:"App.SocialInput"}),cm.define("App.SpecialityFilter",{extend:"App.TooltipFilter",params:{name:"speciality",data:[],max:0,emptyState:"all",button:{iconShow:{icon:"menuBlocks",classes:["svg--small"]}},tooltip:{render:!0,constructorParams:{scroll:"scroll"}},tabset:{render:!0,constructorParams:{adaptive:!1,showMenu:!1,className:["app__tabset--small","app__tabset--tooltip-filter-adaptive"]}},request:{enable:!1,constructor:"App.SpecialityRequest",constructorParams:{autoSend:!1}}}},function(){App.TooltipFilter.apply(this,arguments)}),cm.getConstructor("App.SpecialityFilter",function(e,t,n,a){n.onConstruct=function(){this.rawValue=[],this.tempRawValue=[],this.groups={},this.items={},this.itemsLength=0,this.renderResponseHandler=this.renderResponse.bind(this),a.prototype.onConstruct.apply(this,arguments)},n.renderViewModel=function(){a.prototype.renderViewModel.apply(this,arguments),cm.isEmpty(this.params.data)||this.renderData(this.params.data),this.params.request.enable&&this.renderRequest
1()},n.renderRequest=function(){let t=this;cm.getConstructor(t.params.request.constructor,e=>{t.components.request=new e(cm.merge(t.params.request.constructorParams,{overlayParams:{container:t.nodes.content.container},events:{onComplete:t.renderResponseHandler}})),t.components.request.send()})},n.renderResponse=function(e,t){cm.isEmpty(t)||this.renderData(t.data)},n.renderData=function(e){let a=this;a.itemsLength=0,cm.forEach(e,(e,t)=>{let n=a.renderGroup(t);a.itemsLength+=e.length,cm.forEach(e,e=>a.renderItem(e,n))}),a.components.tabset.reset()},n.renderGroup=function(e){var t={name:e,nodes:{},items:{}};return t.nodes.container=cm.node("div",{classes:"app__speciality-filter__list"},t.nodes.holder=cm.node("ul")),this.components.tabset.addTab({id:e,title:e,content:t.nodes.container}),this.groups[e]=t},n.renderItem=function(e,t){let n=this,a={nodes:{},group:t,data:e,isChecked:!1};return a.isChecked=cm.inArray(n.rawValue,a.data.id),a.title=a.data.title.trim(),a.titleParts=a.title.split(" - "),a.titleShort=1<a.titleParts.length&&30<a.title.length?a.titleParts[0]+" â":a.title,a.nodes.container=cm.node("li",cm.node("div",{classes:["pt__check-line","has-hover","is-box"]},a.nodes.label=cm.node("label",a.nodes.checkbox=cm.node("input",{type:"checkbox"}),cm.node("span",{classes:"label",title:a.title,innerHTML:a.titleShort})))),cm.click.add(a.nodes.checkbox,e=>n.toggleItem(a,{},e)),cm.appendChild(a.nodes.container,t.nodes.holder),t[a.data.id]=a,n.items[a.data.id]=a},n.toggleItem=function(e,t,n){e.isChecked?this.uncheckItem(e,t):this.isMax(this.rawValue)?n&&cm.preventDefault(n):this.checkItem(e,t)},n.checkItem=function(e,t){e.isChecked||(t=cm.merge({triggerEvents:!0,setValue:!0},t),e.isChecked=!0,e.nodes.checkbox.checked=!0,cm.addClass(e.nodes.label,"active"),t.setValue&&(this.tempRawValue=cm.arrayAdd(this.tempRawValue,e.data.id),this.set(this.tempRawValue,t.triggerEvents)))},n.uncheckItem=function(e,t){e.isChecked&&(t=cm.merge({triggerEvents:!0,setValue:!0},t),e.isChecked=!1,e.nodes.checkbox.checked=!1,cm.removeClass(e.nodes.label,"active"),t.setValue)&&(this.tempRawValue=cm.arrayRemove(this.tempRawValue,e.data.id),this.set(this.tempRawValue,!0))},n.validateValue=function(e){return e=cm.isEmpty(e)?this.params.defaultValue:e,e=cm.isArray(e)?e.join(","):e},n.saveRawValue=function(e){this.tempRawValue=cm.isEmpty(e)?[]:e.split(",")},n.setData=function(){let t=this;var e=t.rawValue.length;let n=[],a={triggerEvents:!1,setValue:!1};cm.forEach(t.items,e=>{!t.isMax(n)&&cm.inArray(t.rawValue,e.data.id)?(n.push(e),t.checkItem(e,a)):t.uncheckItem(e,a)});let s;0!==e?s=e===t.itemsLength?t.msg("all"):n.map(e=>e.data.title).join(", "):t.params.required&&(s=[t.msg("default"),t.msg("asterisk")].join("Â ")),t.setButtonValue(s)},n.isMax=function(e){return 0<this.params.max&&e.length===this.params.max}}),Com.FormFields.add("speciality-filter",{node:cm.node("input",{type:"text"}),value:"",defaultValue:"",fieldConstructor:"Com.AbstractFormField",constructor:"App.SpecialityFilter"}),cm.define("App.StatesAutocomplete",{extend:"Com.Autocomplete",params:{className:"app__states-ac",showSuggestion:!1,showListOnEmpty:!0,minLength:1,direction:"start",country:"usa",data:{},tooltip:{constructorParams:{hold:!0}}}},function(){Com.Autocomplete.apply(this,arguments)}),cm.getConstructor("App.StatesAutocomplete",function(e,t,n,a){n.onValidateParams=function(){cm.isEmpty(this.params.data)&&(this.params.data=Application.Intl.getStates(this.params.country)),a.prototype.onValidateParams.apply(this,arguments)}}),Com.FormFields.add("states-autocomplete",{node:cm.node("input",{type:"search",autocomplete:"none"}),fieldConstructor:"Com.AbstractFormField",constructor:"App.StatesAutocomplete"}),cm.define("App.ToggleButtons",{extend:"Com.Check",params:{containerParams:{},buttonParams:{selectedClasses:["selected"],checkedClasses:["selected"]}}},function(){Com.Check.apply(this,arguments)}),cm.getConstructor("App.ToggleButtons",function(e,t,n,a){n.renderContent=function(){let t=this;var e=Application.Buttons.renderContainer(t.params.containerParams);let n=e.nodes;return cm.isEmpty(t.params.options)?t.renderInput({container:n.holder,text:t.params.placeholder,value:t.params.value,values:t.params.values}):cm.forEach(t.params.options,e=>{e.container=n.holder,t.renderInput(e)}),t.nodes.content=e,n.container},n.renderInput=function(e){let t=this;return e=cm.merge({nodes:{},container:null,value:null,text:"",buttonParams:{},valueClasses:{checked:[],unchecked:[]},values:{checked:null,unchecked:null}},e),cm.isUndefined(e.values.checked)&&(e.values.checked=!!cm.isUndefined(e.value)||e.value),cm.isUndefined(e.values.unchecked)&&(e.values.unchecked=!1),e.buttonParams=cm.merge(t.params.buttonParams,cm.merge(e.buttonParams,{container:e.container,label:e.text,callback:()=>e.nodes.input.click()})),e.button=Application.Buttons.render(e.buttonParams),e.nodes.container=e.button.nodes.container,e.nodes.input=cm.node("input",{classes:"cm__hidden",type:t.params.type,tabindex:-1}),cm.appendChild(e.nodes.input,e.nodes.container),e.input=e.nodes.input,cm.addEvent(e.nodes.input,"click",()=>
1t.setValue(e,!0)),t.inputs.push(e),e.nodes.container},n.setInputItemValue=function(e,t){a.prototype.setInputItemValue.apply(this,arguments),"radio"===e.button.params.role?e.button.toggleChecked(e.input.checked):e.button.toggleSelected(e.input.checked)}}),Com.FormFields.add("toggle-buttons",{node:cm.node("div",{classes:"pt__buttons"}),fieldConstructor:"Com.AbstractFormField",constructor:"App.ToggleButtons",constructorParams:{type:"radio"}}),cm.define("App.VerificationCardsField",{extend:"Com.AbstractInput",params:{controllerEvents:!0,renderStructure:!0,embedStructureOnRender:!0,embedStructure:"append",isValueObject:!0,contentClassName:"app__verification-cards",cards:{constructor:"App.VerificationCards",constructorParams:{}}}},function(){Com.AbstractInput.apply(this,arguments)}),cm.getConstructor("App.VerificationCardsField",function(e,t,n,a){n.renderViewModel=function(){let n=this;a.prototype.renderViewModel.apply(n,arguments),cm.getConstructor(n.params.cards.constructor,e=>{n.components.cards=new e(cm.merge(n.params.cards.constructorParams,{container:n.nodes.content.container,events:{onSet:(e,t)=>{cm.isEmpty(t)?n.reset():n.set(t.data)}}}))})},n.setCards=function(e){return this.components.cards.setData(e),this}}),Com.FormFields.add("verification-cards",{node:cm.node("div"),fieldConstructor:"Com.AbstractFormField",constructor:"App.VerificationCardsField"}),cm.define("App.WorkingHourField",{extend:"Com.AbstractController",events:["onSelect","onChange"],params:{controllerEvents:!0,renderStructure:!0,embedStructureOnRender:!0,embedStructure:"replace",mode:"fields",form:null,formField:null,toolbar:{constructor:"Com.Toolbar",constructorParams:{adaptive:!1,className:["com__toolbar--working-hour"],positions:[]}},checkbox:{constructor:"Com.Check",constructorParams:{type:"checkbox",contentClassName:["is-flex"]}},timePicker:{constructor:"Com.TimeSelect",constructorParams:{size:"full",format:"%H:%i",hoursFormat:12,minutesInterval:5}}}},function(){Com.AbstractController.apply(this,arguments)}),cm.getConstructor("App.WorkingHourField",function(e,t,n,a){n.onConstructStart=function(){this.value={},this.fields={}},n.onConstructEnd=function(){this.set(this.params.value,!1)},n.onValidateParams=function(){let t=this;t.components.form=t.params.form,t.components.formField=t.params.formField,t.params.value=(t.params.value||[]).find(e=>e.day===t.params.name),cm.isEmpty(t.params.value)&&(t.params.value={status:!1,day:t.params.name,open:"08:00",close:"18:00"})},n.renderView=function(){this.nodes.container=cm.node("div",{classes:"app__working-hour-field"})},n.renderViewModel=function(){let t=this;a.prototype.renderViewModel.apply(t,arguments),cm.getConstructor(t.params.toolbar.constructor,e=>{t.components.toolbar=new e(cm.merge(t.params.toolbar.constructorParams,{container:t.nodes.container})),t.components.toolbar.addGroup({name:"fields",position:"justify",adaptive:!1,flex:!0}),"titles"===t.params.mode?t.renderTitlesMode():t.renderFieldsMode(),t.fields.open=t.components.toolbar.getField("open","fields"),t.fields.close=t.components.toolbar.getField("close","fields"),t.fields.status=t.components.toolbar.getField("status","fields")})},n.renderFieldsMode=function(){var e=this;e.components.toolbar.addField({group:"fields",name:"open",constructor:e.params.timePicker.constructor,constructorParams:cm.merge(e.params.timePicker.constructorParams,{events:{onSelect:e.setOpenEvent.bind(e)}})}).addField({group:"fields",name:"separator",size:"size-separator",node:cm.textNode("-")}).addField({group:"fields",name:"close",constructor:e.params.timePicker.constructor,constructorParams:cm.merge(e.params.timePicker.constructorParams,{events:{onSelect:e.setCloseEvent.bind(e)}})}).addField({group:"fields",name:"status",size:"size-field",constructor:e.params.checkbox.constructor,constructorParams:cm.merge(e.params.checkbox.constructorParams,{events:{onSelect:e.setStatusEvent.bind(e)}})})},n.renderTitlesMode=function(){this.components.toolbar.addField({group:"fields",name:"open",node:cm.node("h5",{classes:"align-center"},this.msg("titles.open"))}).addField({group:"fields",name:"separator",size:"size-separator"}).addField({group:"fields",name:"close",node:cm.node("h5",{classes:"align-center"},this.msg("titles.close"))}).addField({group:"fields",name:"status",size:"size-field"})},n.setStatusEvent=function(e,t){this.value.status=t,this.set(this.value,!0)},n.setOpenEvent=function(e,t){this.value.open=t,this.set(this.value,!0)},n.setCloseEvent=function(e,t){this.value.close=t,this.set(this.value,!0)},n.set=function(e,t){var n=this;n.value=e,n.fields.status.controller.set(n.value.status,!1),n.value.status?(n.fields.open.controller.enable(),n.fields.close.controller.enable()):(n.fields.open.controller.disable(),n.fields.close.controller.disable()),n.fields.open.controller.set(n.value.open,null,!1),n.fields.close.controller.set(n.value.close,null,!1),t&&(n.triggerEvent("onSelect",n.value),n.triggerEvent("onChange",n.value))},n.get=function(){return this.value}}),Com.FormFields.add("working-hour-field",{fieldConstructor:"Com.AbstractFormField",constructor:"App.WorkingHourField"}),cm.define("Form.BlogSearchContainer",{extend:"App.FormContainer",params:{constructor:"Form.BlogSearch",closeOnSuccess:!1,closeOnComplete:!1,focusFieldOnOpen:"search",placeholderParams:{renderTitle:!1,renderButtons:!1,constructorParams:{width:"100%",size:"fullscreen",theme:"theme--blog-search",animate:!0}}}},function(){App.FormContainer.apply(this,arguments)}),cm.getConstructor("Form.BlogSearchContainer",function(e,t,n,a){n.onOpenPlaceholder=function(){cm.addClass(Template.getContainer(),"is-blurred")},n.onClosePlaceholderStart=function(){cm.removeClass(Template.getContainer(),"is-blurred")}}),cm.define("Form.BlogSearch",{extend:"App.Form",params:{name:"blog-search",renderContent:!1,validate:!1,showNotifications:!1,sendOnChange:!0,abortPreviousRequest:!0,overlayParams:{theme:"transparent",appendMode:"insertFirst"},ajax:{url:App._api.blog_posts.search,method:"GET",type:"json",paramsType:"none"},blog:{constructor:"App.BlogSearch",constructorParams:{}}}}
1,function(){App.Form.apply(this,arguments)}),cm.getConstructor("Form.BlogSearch",function(e,t,n,a){n.renderView=function(){this.nodes.container=cm.node("section",{classes:["tpl__section","tpl__section--search","is-box","has-padding"]},this.nodes.inner=cm.node("div",{classes:"inner"},cm.node("div",{classes:"section__form"},this.nodes.holder=cm.node("div",{classes:["app__form","form--"+this.params.name]})),this.nodes.content=cm.node("div",{classes:"section__entry"})))},n.renderViewModel=function(){this.params.formParams.overlayParams.container=this.nodes.content,a.prototype.renderViewModel.apply(this,arguments)},n.renderFormFields=function(){let a=this;var e=cm.rand(0,6),t=a.msgObject("placeholders");a.components.form.add("hidden",{name:"query"}).add("textarea",{name:"search",system:!0,placeholder:t[e],minLength:3,maxLength:255,className:["is-form-box","is-no-label"],constructorParams:{contentClassName:["pt__input--search"],inputClasses:["input--search"],icon:Application.Images.embedIcon({icon:"search",classes:["pull-left","linked"]}),iconInsertMethod:"insertFirst",lazy:!0,autocomplete:"off",inputmode:"search",autoResize:!0,enterPressBehavior:"all",events:{onChange:(e,t)=>
1{3<=t.length&&a.set({query:t})},onKeyDown:(e,t,n)=>{"Escape"===n.key&&a.params.opener&&(cm.preventDefault(n),a.params.opener.close())}}}})},n.onSuccess=function(e,t){let n=this;n.components.blog&&n.components.blog.destruct(),cm.clearNode(n.nodes.content),cm.getConstructor(n.params.blog.constructor,e=>{n.components.blog=new e(cm.merge(n.params.blog.constructorParams,{data:t,container:n.nodes.content}))})},n.onError=function(e,t){this.components.blog&&this.components.blog.destruct(),cm.clearNode(this.nodes.content),this.nodes.empty=cm.node("section",{classes:"section__empty"},cm.node("h5",this.msg("empty"))),cm.appendChild(this.nodes.empty,this.nodes.content)}}),cm.define("Form.BrandContainer",{extend:"App.FormContainer",params:{constructor:"Form.Brand",focusFieldOnOpen:"title",placeholderParams:{constructorParams:{width:App._config.dialog.widthSmall}}}},function(){App.FormContainer.apply(this,arguments)}),cm.define("Form.Brand",{extend:"App.Form",params:{name:"brand",renderContent:!1,validate:!0,validateOnChange:!0,ajax:{url:App._api.brand.create,method:"POST",type:"json",paramsType:"json"}}},function(){App.Form.apply(this,arguments)}),cm.getConstructor("Form.Brand",function(e,t,n,a){n.renderFormFields=function(){this.components.form.add("input",{name:"title",required:!0,maxLength:255,placeholder:this.msg("fields.title"),showPlaceholderAbove:!0,className:["is-form-box","is-no-label"]})}}),cm.define("Form.ChatGPTContainer",{extend:"App.FormContainer",params:{constructor:"Form.ChatGPT"}},function(){App.FormContainer.apply(this,arguments)}),cm.define("Form.ChatGPT",{extend:"App.Form",params:{name:"chat-gpt",renderTitle:!1,renderContent:!1,renderNames:!1,renderButtonsSeparator:!1,buttonsAlign:"justify",validate:!0,showValidationMessages:!1,showNotifications:!1,sendEmptyForm:!1,showLoader:!1}},function(){App.Form.apply(this,arguments)}),cm.getConstructor("Form.ChatGPT",function(e,t,n){n.renderFormFields=function(){this.components.form.add("hidden",{name:"role",defaultValue:"user"}).add("textarea",{name:"content",required:!0,placeholder:this.msg("fields.content"),placeholderAsterisk:!1,className:"is-form-box is-no-label",constructorParams:{autoResize:!0,enterPressBehavior:!0,events:{onEnterPress:this.sendHandler}}})},n.renderFormButtons=function(){this.components.form.addButton({name:"send",action:"submit",label:this.msg("send"),node:Application.Buttons.embed({title:this.msg("send"),icons:{classes:["medium"],before:"arrowUp"},classes:["button-primary","is-compact"]})})},n.focus=function(){var e=this.getField("content");return e&&e.controller.focus(),this}}),cm.define("Form.ChatGPTCategoryContainer",{extend:"App.FormContainer",params:{constructor:"Form.ChatGPTCategory",focusFieldOnOpen:"content"}},function(){App.FormContainer.apply(this,arguments)}),cm.define("Form.ChatGPTCategory",{extend:"App.Form",params:{name:"chat-gpt-category",renderTitle:!1,renderContent:!1,renderNames:!1,renderButtonsSeparator:!1,buttonsAlign:"justify",validate:!0,showNotifications:!1,sendEmptyForm:!1,showLoader:!1}},function(){App.Form.apply(this,arguments)}),cm.getConstructor("Form.ChatGPTCategory",function(e,t,n){n.renderFormFields=function(){this.components.form.add("hidden",{name:"label"}).add("select",{name:"tone",required:!0,options:this.msgObject("fields.tone.options"),placeholder:this.msg("fields.tone.label"),showPlaceholderAbove:!0,className:"is-form-box is-no-label"}).add("textarea",{name:"content",required:!0,placeholder:this.msg("fields.content"),showPlaceholderAbove:!0,className:"is-form-box is-no-label",constructorParams:{autoResize:!0,inputClasses:["has-min-height"],events:{onInputStart:this.contentInputEvent.bind(this)}}})},n.contentInputEvent=function(e){this.wasFirstTyping||(this.wasFirstTyping=!0,e.reset())}}),cm.define("Form.ConversationContainer",{extend:"App.FormContainer",params:{constructor:"Form.Conversation"}},function(){App.FormContainer.apply(this,arguments)}),cm.define("Form.Conversation",{extend:"App.Form",params:{name:"conversation",showNotifications:!1,renderTitle:!1,renderContent:!1,renderButtonsSeparator:!1,buttonsAlign:"justify",renderNames:!1,validate:!0,showValidationMessages:!1,sendEmptyForm:!1,showLoader:!1,ajax:{url:App._api.conversation.create,method:"POST",paramsType:"json"}}}
1,function(){App.Form.apply(this,arguments)}),cm.getConstructor("Form.Conversation",function(e,t,n,a){n.onValidateParams=function(){this.profileData=Application.User.validateProfile(this.params.data.user,{markPrivate:!0}),a.prototype.onValidateParams.apply(this,arguments)},n.renderFormFields=function(){this.components.form.add("hidden",{name:"conversation"}).add("hidden",{name:"members"}).add("textarea",{name:"message",required:!0,placeholder:this.msg("fields.message",{"{username}":this.profileData.name}),placeholderAsterisk:!1,className:["is-form-box","is-no-label"],constructorParams:{autoResize:!0,enterPressBehavior:!0,events:{onEnterPress:this.sendHandler}}})},n.renderFormButtons=function(){this.components.form.addButton({name:"send",action:"submit",label:this.msg("send"),node:Application.Buttons.embed({title:this.msg("send"),icons:{classes:["medium"],before:"arrowUp"},classes:["button-primary","is-compact"]})})},n.focus=function(){var e=this.getField("message");return e&&e.controller.focus(),this}}),cm.define("Form.CookieNotice",{extend:"App.Form",params:{name:"cookie-notice",renderTitle:!1,renderButtons:!0,renderButtonSpinner:!0,renderButtonsSeparator:!1,buttonsAlign:"center",validate:!0,showNotifications:!1}},function(){App.Form.apply(this,arguments)}),cm.getConstructor("Form.CookieNotice",function(e,t,n,a){n.renderFormFields=function(){this.components.form.add("checkbox",{name:"analytics",checked:!0,placeholder:this.msg("fields.analytics"),className:["is-form-box","is-no-label","is-half-indent"],constructorParams:{contentClassName:["has-hover"]}}).appendChild(cm.node("p",this.msg("fields.consent")))}}),cm.define("Form.FaqSearch",{extend:"App.Form",params:{name:"faq-search",renderTitle:!1,renderButtons:!1,renderButtonsSeparator:!1,validate:!1,showNotifications:!1,sendOnChange:!0,page:{dataNodes:"PageFaqContent",constructor:"App.StaticPage"}}},function(){App.Form.apply(this,arguments)}),cm.getConstructor("Form.FaqSearch",function(e,t,n,a){n.renderViewModel=function(){let t=this;cm.find(t.params.page.constructor,null,null,e=>{t.components.page=e,t.nodes.page=cm.getNodes(t.components.page.getContainer())[t.params.page.dataNodes]||{}}),a.prototype.renderViewModel.apply(t,arguments)},n.renderFormFields=function(){this.components.form.add("input",{name:"query",label:this.msg("label"),placeholder:this.msg("placeholder"),maxLength:100,className:["is-form-box","is-no-label"],constructorParams:{contentClassName:["pt__input--search","is-borderless"],inputClasses:["input--search"],icon:Application.Images.embedIcon({icon:"search",classes:["pull-left","linked"],ariaHidden:!0}),iconInsertMethod:"insertFirst",lazy:!0,autocomplete:"off",inputmode:"search",trimValue:!1}})},n.onSuccess=function(e,t){cm.isEmpty(this.nodes.page)||this.setQuery(t.query)},n.setQuery=function(e){var t=this;(e=e?App.escapeValue(e):null)!==t.queryValue&&(t.queryValue=e,t.isQueryEmpty()?(cm.toggleClass(t.nodes.page.results,"is-hidden",!0),cm.toggleClass(t.nodes.page.empty,"is-hidden",!0)):(e=t.findResults(),t.appendResults(e),cm.toggleClass(t.nodes.page.results,"is-hidden",0===e.length),cm.toggleClass(t.nodes.page.empty,"is-hidden",0<e.length)),cm.toggleClass(t.nodes.page.questions,"is-hidden",!t.isQueryEmpty()))},n.isQueryEmpty=function(){return!this.queryValue||0===this.queryValue.length},n.findResults=function(){let t=this,n=new RegExp(`(${t.queryValue})`,"gi"),a=[];return t.nodes.page.items.forEach(e=>{n.test(e.innerText)&&(e=e.cloneNode(!0),t.highlightResults(e,n),a.push(e))}),a},n.highlightResults=function(e,n){let a=this;e.childNodes.forEach(e=>{switch(e.nodeType){case Node.ELEMENT_NODE:a.highlightResults(e,n);break;case Node.TEXT_NODE:var t=e.textContent.replaceAll(n,'<span class="highlight">$1</span>'),t=document.createRange().createContextualFragment(t);e.replaceWith(t)}})},n.appendResults=function(e){let t=this;cm.clearNode(t.nodes.page.results),e.forEach(e=>cm.appendChild(e,t.nodes.page.results))}}),cm.define("Form.File",{extend:"App.Form",params:{name:"file",renderTitle:!1,renderContent:!1,renderButtons:!1,renderButtonsSeparator:!1,showNotifications:!1,disabled:!1,required:!0,validate:!0,sendEmptyForm:!1,dataFields:{},fileField:{type:"image",name:"upfile"},fieldParams:{className:["is-form-box","is-no-label"]},inputParams:{accept:App._config.acceptImageFormats},responseValueKey:"id",ajax:{url:App._api.file.create,method:"POST",paramsType:"form-data"}}}
1,function(){App.Form.apply(this,arguments)}),cm.getConstructor("Form.File",function(e,t,n,a){n.onConstructStart=function(){a.prototype.onConstructStart.apply(this,arguments),this.fileAction="bypass",this.originalSend=a.prototype.send,this.originalSendHandler=this.originalSend.bind(this)},n.onConstructEnd=function(){this.setOverlayCoverage(),a.prototype.onConstructEnd.apply(this,arguments)},n.renderFormFields=function(){this.renderHiddenFields(),this.renderFileField()},n.renderHiddenFields=function(){let n=this;n.components.form.add("hidden",{name:"id",send:!1}).add("hidden-store",{name:"value",send:!1,constructorParams:{storeRaw:!0}}).add("hidden",{name:"name",send:!1}),cm.forEach(n.params.dataFields,(e,t)=>{n.components.form.add("hidden",{name:t,value:e})})},n.renderFileField=function(){var e=this;e.components.form.add(e.params.fileField.type,cm.merge(e.params.fieldParams,{name:e.params.fileField.name,disabled:e.params.disabled,required:e.params.required,label:e.msg("field.label"),hint:e.msg("field.hint"),help:e.msg("field.help"),placeholder:e.msg("field.placeholder"),constructorParams:cm.merge(e.params.inputParams,{events:{onChange:e.fileChangeEvent.bind(e)}})}))},n.onSet=function(){var e,t,n={...this.getFields(["id","value","name"]),file:this.getFileField()};let a={};cm.forEach(n,(e,t)=>{a[t]=e.fieldController.get()}),cm.isEmpty(a.value)?cm.isEmpty(a.id)||(e=Application.Images.getSrc(a.id),t=cm.isEmpty(a.name)?a.id:a.name,n.file.inputController.set({value:e,name:t,id:a.id})):(n.file.fieldController.set(a.value),n.id.fieldController.reset(),n.value.fieldController.reset())},n.onSuccess=function(e,t){var n=this.getFields(["id"]),a=this.getFileResponseValue(t);switch(this.fileAction){case"update":n.id.fieldController.set(a);break;case"delete":n.id.fieldController.reset()}},n.fileChangeEvent=function(){var e={...this.getFields(["id"]),file:this.getFileField()};let n={};cm.forEach(e,function(e,t){n[t]=e.fieldController.get()}),n.file instanceof File?this.fileAction="update":cm.isEmpty(n.file)&&!cm.isEmpty(n.id)?this.fileAction="delete":this.fileAction="bypass"},n.setOverlayCoverage=function(){var e,t;"fileField"===this.params.loaderCoverage&&(t=this.getFileField(),e=this.getLoader(),t)&&e&&(t=t.fieldController.getContent(),e.setParams({container:t.container,appendMode:"insertFirst"}))},n.send=function(){return"update"===this.fileAction?this.originalSend.apply(this,arguments):this.validate().valid&&(this.triggerEvent("onSuccess"),this.triggerEvent("onComplete")),this},n.getFileField=function(){return this.getField(this.params.fileField.name)},n.getFileAction=function(){return this.fileAction},n.getFileResponseValue=function(e){return cm.reducePath(this.params.responseValueKey,e)}}),cm.define("Form.FileEmbed",{extend:"App.Form",params:{name:"file-embed",renderTitle:!1,renderContent:!1,renderNames:!1,validate:!0,validateOnChange:!0,sendEmptyForm:!1,fileField:{name:"image",namePath:!1,sendPath:"image",dataPath:"image.id",valuePath:"image.value"},fileForm:{allowUpdate:!0,constructor:"Form.File",constructorParams:{showLoader:!0,overlayParams:{appendMode:"insertFirst"}}}}},function(){App.Form.apply(this,arguments)}),cm.getConstructor("Form.FileEmbed",function(e,t,n,a){n.onConstructStart=function(){a.prototype.onConstructStart.apply(this,arguments),this.originalSend=a.prototype.send,this.originalSendHandler=this.originalSend.bind(this)},n.renderFormFields=function(){this.renderHiddenFields(),this.renderFileForm(
1)},n.renderHiddenFields=function(){this.components.form.add("hidden",{name:this.params.fileField.name,sendPath:this.params.fileField.sendPath,dataPath:this.params.fileField.dataPath,sendEmpty:!1})},n.renderFileForm=function(){let t=this;cm.getConstructor(t.params.fileForm.constructor,e=>{t.components.fileForm=new e(cm.merge(t.params.fileForm.constructorParams,{disabled:!t.params.fileForm.allowUpdate&&"update"===t.params.action,overlayParams:{container:t.nodes.container},events:{onSuccess:t.fileFormResponse.bind(t),onError:t.fileFormError.bind(t)},messages:t.msgObject("fileForm")})),t.components.fileForm.set({id:cm.reducePath(t.params.fileField.dataPath,t.params.data),value:cm.reducePath(t.params.fileField.valuePath,t.params.data),name:cm.reducePath(t.params.fileField.namePath,t.params.data)})}),t.components.form.appendChild(t.components.fileForm.getContainer())},n.fileFormResponse=function(e,t){var n=this.getField(this.params.fileField.name);switch(e.getFileAction()){case"update":n.fieldController.set(t.id);break;case"delete":n.fieldController.reset()}this.originalSend()},n.fileFormError=function(e,t){this.renderError(t.errors,t.message)},n.send=function(){return this.validate().valid&&this.components.fileForm.send(),this}}),cm.define("Form.ForgotPasswordContainer",{extend:"App.FormContainer",params:{constructor:"Form.ForgotPassword"}},function(e){App.FormContainer.apply(this,arguments)}),cm.define("Form.ForgotPassword",{extend:"App.Form",params:{name:"forgot-password",renderNames:!0,renderTitle:!1,renderButtonSpinner:!0,renderButtonsSeparator:!1,buttonsAlign:"center",validate:!0,validateOnChange:!0,showNotifications:!0,ajax:{url:App._api.reset,paramsType:"json"}}},function(){App.Form.apply(this,arguments)}),cm.getConstructor("Form.ForgotPassword",function(e,t,n,a){n.renderFormFields=function(){this.components.form.add("email",{name:"email",required:!0,label:this.msg("fields.email"),placeholder:this.msg("fields.email"),showPlaceholderAbove:!0,className:"is-form-box is-no-label",constraints:[Application.FieldConstraints.emailFormat()],constructorParams:{events:{onInput:Application.FieldHandlers.emailInputEvent.bind(this),onEnterPress:this.sendHandler}}})},n.renderFormButtons=function(){if(!this.params.renderButtonSpinner)return a.prototype.renderFormButtons.apply(this,arguments);this.components.form.addButton({name:"send",action:"submit",label:this.msg("send"),classes:["button--round","button--xlarge"],spinner:!0,spinnerClasses:["large"]})}}),cm.define("Form.GalleryFilterContainer",{extend:"App.FormContainer",params:{constructor:"Form.GalleryFilter"}},function(){App.FormContainer.apply(this,arguments)}),cm.define("Form.GalleryFilter",{extend:"App.Form",params:{name:"gallery-filter",validate:!1,showNotifications:!1,renderContent:!0,renderTitle:!1,renderButtons:!1,renderButtonsSeparator:!1}},function(){App.Form.apply(this,arguments)}),cm.getConstructor("Form.GalleryFilter",function(e,t,n,a){n.renderContentView=function(){let e=this;var t={};return t.container=cm.node("div",{classes:["pt__columns","indent-block-small"]},t.inner=cm.node("div",{classes:"inner"},t.actions=cm.node("div",{classes:["column","column--actions","column--empty"]}),t.role=cm.node("div",{classes:["column","column--role"]}),t.speciality=cm.node("div",{classes:["column","column--speciality"]}))),t.roleTabs=Application.Buttons.renderContainer({container:t.role,modifiers:["flex","toggle-bordered"],classes:["pull-justify"],role:"tablist",ariaLabel:e.msg("fields.role.label"),items:[{name:"usa",label:e.msg("fields.role.usa"),modifiers:["toggle"],classes:["is-compact"],role:"tab",selected:!0,callback:()=>e.setRole("usa")},{name:"all",label:e.msg("fields.role.all"),modifiers:["toggle"],classes:["is-compact"],role:"tab",selected:!1,callback:()=>e.setRole("all")}]}),(e.nodes.content=t).container},n.renderFormFields=function(){this.components.form.add("hidden",{name:"type",value:"beautypro"}).add("hidden",{name:"country",value:"usa",renderEvents:!1}).add("speciality-filter",{name:"speciality",className:["is-form-box","is-no-label"],container:this.nodes.content.speciality,constructorParams:{request:{enable:!0},button:{showLabel:!1},tooltip:{constructorParams:{positionTarget:this.nodes.content.container}}
1}})},n.setRole=function(e){this.nodes.content.roleTabs.toggleItems(e);var t=this.getFields(["type","country"]);return"usa"===e?(t.country?.fieldController.set("usa"),t.type?.fieldController.set("beautypro")):(t.country?.fieldController.reset(),t.type?.fieldController.reset()),this},n.setSpeciality=function(e){return this.getField("speciality")?.inputController.renderData(e),this}}),cm.define("Form.GlamGrowthGatewayContainer",{extend:"App.FormContainer",params:{constructor:"Form.GlamGrowthGateway"}},function(){App.FormContainer.apply(this,arguments)}),cm.define("Form.GlamGrowthGateway",{extend:"App.Form",params:{name:"glamgrowth-gateway",renderTitle:!1,renderContent:!1,renderButtonsSeparator:!1,buttonsAlign:"justify",renderNames:!0,sendEmptyForm:!1,validate:!0,validateOnChange:!0,ajax:{url:App._api.forms,method:"POST",type:"json",paramsType:"json",variables:{slug:"glamgrowth"}}}},function(){App.Form.apply(this,arguments)}),cm.getConstructor("Form.GlamGrowthGateway",function(e,t,n,a){n.validateParamsData=function(e){return Application.User.isAuthorized()&&(e.user=Application.userGetProfile(),e.user.name=Application.userGetProfileName()),e},n.renderFormFields=function(){this.components.form.add("input",{name:"Name",dataPath:"user.name",required:!0,preventReset:!0,placeholder:"Name",showPlaceholderAbove:!0,className:"is-form-box is-no-label"}).add("email",{name:"Email",dataPath:"user.email",required:!0,preventReset:!0,placeholder:"Email",showPlaceholderAbove:!0,className:"is-form-box is-no-label",constraints:[Application.FieldConstraints.emailFormat()],constructorParams:{events:{onInput:Application.FieldHandlers.emailInputEvent.bind(this)}}}).add("input",{name:"Business Name",required:!0,placeholder:"Business Name",showPlaceholderAbove:!0,className:"is-form-box is-no-label"}).add("textarea",{name:this.msg("fields.description"),required:!0,placeholder:this.msg("fields.description"),showPlaceholderAbove:!0,className:"is-form-box is-no-label"}).add("textarea",{name:this.msg("fields.ventures"),required:!0,placeholder:this.msg("fields.ventures"),showPlaceholderAbove:!0,className:"is-form-box is-no-label"})}}),cm.define("Form.LicenseCheck",{extend:"App.Form",params:{name:"license-check",renderTitle:!1,renderContent:!0,renderNames:!0,buttonsAlign:"center",renderButtonSpinner:!1,renderButtonsSeparator:!1,validate:!0,validateOnChange:!0,showNotifications:!0,responseMessageCodeKey:"error",responseMessageDetailsKey:"details",ajax:{url:App._api.openid.license_check,paramsType:"form-data"},overlayParams:{theme:"logo",showSpinner:!0,showContent:!0,lazy:!0,delay:cm._config.loadDelay}}},function(){App.Form.apply(this,arguments)}),cm.getConstructor("Form.LicenseCheck",function(e,t,n,a){n.onConstructStart=function(){this.states={},this.manualStates=[],this.currentLicenseConstraint=null,a.prototype.onConstructStart.apply(this,arguments)},n.onConstructEnd=function(){a.prototype.onConstructEnd.apply(this,arguments)},n.validateFormParams=function(){var e=a.prototype.validateFormParams.apply(this,arguments);return e.overlayParams.content=this.msg("overlay.content"),e},n.validateParamsData=function(e){return e.client_id||=e.clientId||e.clientid,e.data_state||=e.dataState,e},n.renderContentView=function(){var e={};e.container=cm.node("section",{classes:["pt__columns","columns--name","field-outer-indent","indent-field"],role:"group"},cm.node("div",{classes:"inner"},e.left=cm.node("div",{classes:"column"}),e.right=cm.node("div",{classes:"column"}))),this.nodes.content=e},n.renderFormFields=function(){this.components.form.add("hidden",{name:"client_id",defaultValue:App._env.clientId}).add("hidden",{name:"data_state"}).add("hidden",{name:"language",defaultValue:cm._locale}).add("hidden",{name:"source",defaultValue:"website"}).add("hidden",{name:"country",defaultValue:"usa"})},n.renderFormButtons=function(){this.components.form.addButton({name:"send",action:"submit",label:this.msg("send"),classes:["button--round","button--xlarge"]})},n.countryChangeEvent=function(e,t){var n=this.getField("state"),a=n.fieldController.get();"usa"===t?(n.fieldController.setRequired(),n.fieldController.show()):(n.fieldController.unsetRequired(),n.fieldController.hide()),this.toggleLicenseConstraint(t,a),this.toggleImageField(t,a)},n.statesChangeEvent=function(e,t){this.toggleLicenseConstraint("usa",t),this.toggleImageField("usa",t)},n.toggleLicenseConstraint=function(e,t){var n,a=this.getField("number"),s=a.fieldController.get();this.unsetLicenseConstraint(),"usa"===e&&(n=this.states[t],cm.isEmpty(n)||(n=this.msgParse("hints.licenseSample",{samples:n,state:Application.Intl.getStateName(e,t)}),a.fieldController.renderHint(n)),e=App._statesConstraints[t]||App._statesConstraints.DEFAULT,cm.isEmpty(e)||(this.currentLicenseConstraint={constraint:e,input:e.input,change:cm.isFunction(e.change)?e.change:e.input,validator:cm.constraintsPattern(e.pattern,!0,e.message)},a.inputController.addConstraint("onInput",this.currentLicenseConstraint.input),a.inputController.addConstraint("onChange",this.currentLicenseConstraint.change),a.fieldController.addConstraint(this.currentLicenseConstraint.validator))),a.inputController.execConstraint("onChange"),cm.isEmpty(s)||a.fieldController.validate()},n.unsetLicenseConstraint=function(){var e=this.getField("number");this.currentLicenseConstraint&&(e.inputController.removeConstraint("onInput",this.currentLicenseConstraint.input),e.inputController.removeConstraint("onChange",this.currentLicenseConstraint.input),e.fieldController.removeConstraint(this.currentLicenseConstraint.validator),e.fieldController.clearHint(),this.currentLicenseConstraint=null)},n.toggleImageField=function(e,t){var n=this.getField("image");"usa"!==e||"usa"===e&&cm.inArray(this.manualStates,t)?(n.fieldController.setRequired(),n.fieldController.show()):(n.fieldController.unsetRequired(),n.fieldController.hide())},n.setStatesData=function(e){this.states=e.strings&&e.strings["signup-licenseno"]||{},this.manualStates=e["manual-states"]||[];e=this.getField("state");return e&&this.statesChangeEvent(e.inputController,e.fieldController.get()),this}}),cm.define("Form.LicenseCheckIndividual",{extend:"Form.LicenseCheck",params:{renderContent:!0}},function(){Form.LicenseCheck.apply(this,arguments)}),cm.getConstructor("Form.LicenseCheckIndividual",function(e,t,n,a){n.validateParamsData=function(e){return(e=a.prototype.validateParamsData.apply(this,arguments)).number||=e.licenceno||e.licenseno,e},n.renderFormFields=function(){var e=this;a.prototype.renderFormFields.apply(e,arguments),e.components.form.appendChild(e.nodes.content.container).add("input",{name:"first_name",required:!1,placeholder:e.msg("fields.firstname"),showPlaceholderAbove:!0,className:"is-form-box is-no-label",container:e.nodes.content.left}).add("input",{name:"last_name",required:!0,placeholder:e.msg("fields.lastname"),showPlaceholderAbove:!0,className:"is-form-box is-no-label",container:e.nodes.content.right}).add("email",{name:"email",required:!0,placeholder:e.msg("fields.email"),showPlaceholderAbove:!0,className:"is-form-box is-no-label",constraints:[Application.FieldConstraints.emailFormat()],constructorParams:{events:{onInput:Application.FieldHandlers.emailInputEvent.bind(e)}}}).add("states-autocomplete",{name:"state",required:!0,isValueOption:!0,placeholder:e.msg("fields.state"),showPlaceholderAbove:!0,className:"is-form-box is-no-label",icon:"icon pull-right linked svg__search",constructorParams:{events:{onChange:e.statesChangeEvent.bind(e)}}}).add("input",{name:"number",required:!0,placeholder:e.msg("fields.licenseNumber"),showPlaceholderAbove:!0,className:"is-form-box is-no-label",constructorParams:{lazy:!0}}).add("file",{name:"image",label:e.msg("fields.licenseImage"),help:e.msgParse("hints.file",{formats:App._config.acceptLicenseFileExtensions}
1),helpAlign:"right",required:!1,visible:!1,className:"is-form-box is-border-box is-label-flex",constructorParams:{accept:App._config.acceptLicenseFileFormats}}).add("checkbox",{name:"confirm",required:!0,send:!1,placeholder:e.msg("fields.confirmVerify"),placeholderAsterisk:!1,className:"is-form-box is-no-label"})}}),cm.define("Form.LicenseCheckIndividualRenew",{extend:"Form.LicenseCheckIndividual",params:{renderContent:!0,ajax:{url:App._api.license_update}}},function(){Form.LicenseCheckIndividual.apply(this,arguments)}),cm.getConstructor("Form.LicenseCheckIndividualRenew",function(e,t,n,a){n.validateParamsData=function(e){return(e=a.prototype.validateParamsData.apply(this,arguments)).licenceno||=e.number||e.licenseno,e},n.renderFormFields=function(){var e=this;e.components.form.appendChild(e.nodes.content.container).add("hidden",{name:"apikey",defaultValue:App._env.apiKey}).add("hidden",{name:"source",defaultValue:"website"}).add("hidden",{name:"country",defaultValue:"usa"}).add("input",{name:"firstname",required:!1,placeholder:e.msg("fields.firstname"),showPlaceholderAbove:!0,className:"is-form-box is-no-label",container:e.nodes.content.left}).add("input",{name:"lastname",required:!0,placeholder:e.msg("fields.lastname"),showPlaceholderAbove:!0,className:"is-form-box is-no-label",container:e.nodes.content.right}).add("email",{name:"email",required:!0,placeholder:e.msg("fields.email"),showPlaceholderAbove:!0,className:"is-form-box is-no-label",constraints:[Application.FieldConstraints.emailFormat()],constructorParams:{events:{onInput:Application.FieldHandlers.emailInputEvent.bind(e)}}}).add("states-autocomplete",{name:"state",required:!0,isValueOption:!0,placeholder:e.msg("fields.state"),showPlaceholderAbove:!0,className:"is-form-box is-no-label",icon:"icon pull-right linked svg__search",constructorParams:{events:{onChange:e.statesChangeEvent.bind(e)}}}).add("input",{name:"number",sendPath:"licenceno",required:!0,placeholder:e.msg("fields.licenseNumber"),showPlaceholderAbove:!0,className:"is-form-box is-no-label",constructorParams:{lazy:!0}}).add("file",{name:"image",label:e.msg("fields.licenseImage"),help:e.msgParse("hints.file",{formats:App._config.acceptLicenseFileExtensions}),helpAlign:"right",required:!1,visible:!1,className:"is-form-box is-border-box is-label-flex",constructorParams:{accept:App._config.acceptLicenseFileFormats}}).add("checkbox",{name:"confirm",required:!0,send:!1,placeholder:e.msg("fields.confirmVerify"),placeholderAsterisk:!1,className:"is-form-box is-no-label"})}}),cm.define("Form.LicenseCheckSalon",{extend:"Form.LicenseCheck",params:{renderContent:!1}},function(){Form.LicenseCheck.apply(this,arguments)}),cm.getConstructor("Form.LicenseCheckSalon",function(e,t,n,a){n.validateParamsData=function(e){return(e=a.prototype.validateParamsData.apply(this,arguments)).number||=e.licenceno||e.licenseno,e},n.renderFormFields=function(){var e=this;a.prototype.renderFormFields.apply(e,arguments),e.components.form.add("input",{name:"business_name",required:!0,placeholder:e.msg("fields.businessname"),showPlaceholderAbove:!0,className:"is-form-box is-no-label"}).add("email",{name:"email",required:!0,placeholder:e.msg("fields.email"),showPlaceholderAbove:!0,className:"is-form-box is-no-label",constraints:[Application.FieldConstraints.emailFormat()],constructorParams:{events:{onInput:Application.FieldHandlers.emailInputEvent.bind(e)}}}).add("states-autocomplete",{name:"state",required:!0,isValueOption:!0,placeholder:e.msg("fields.state"),showPlaceholderAbove:!0,className:"is-form-box is-no-label",icon:"icon pull-right linked svg__search",constructorParams:{events:{onChange:e.statesChangeEvent.bind(e)}}}).add("input",{name:"number",required:!0,placeholder:e.msg("fields.licenseNumber"),showPlaceholderAbove:!0,className:"is-form-box is-no-label",constructorParams:{lazy:!0}}).add("file",{name:"image",label:e.msg("fields.licenseImage"),help:e.msgParse("hints.file",{formats:App._config.acceptLicenseFileExtensions}),helpAlign:"right",required:!1,visible:!1,className:"is-form-box is-border-box is-label-flex",constructorParams:{accept:App._config.acceptLicenseFileFormats}}).add("checkbox",{name:"confirm",required:!0,send:!1,placeholder:e.msg("fields.confirmVerify"),placeholderAsterisk:!1,className:"is-form-box is-no-label"})}}),cm.define("Form.LicenseCheckSalonRenew",{extend:"Form.LicenseCheckSalon",params:{renderContent:!1,ajax:{url:App._api.license_update}}},function(){Form.LicenseCheckSalon.apply(this,arguments)}),cm.getConstructor("Form.LicenseCheckSalonRenew",function(e,t,n,a){n.validateParamsData=function(e){return(e=a.prototype.validateParamsData.apply(this,arguments)).licence
1no||=e.number||e.licenseno,e},n.renderFormFields=function(){var e=this;e.components.form.add("hidden",{name:"apikey",defaultValue:App._env.apiKey}).add("hidden",{name:"source",defaultValue:"website"}).add("hidden",{name:"country",defaultValue:"usa"}).add("input",{name:"businessname",required:!0,placeholder:e.msg("fields.businessname"),showPlaceholderAbove:!0,className:"is-form-box is-no-label"}).add("email",{name:"email",required:!0,placeholder:e.msg("fields.email"),showPlaceholderAbove:!0,className:"is-form-box is-no-label",constraints:[Application.FieldConstraints.emailFormat()],constructorParams:{events:{onInput:Application.FieldHandlers.emailInputEvent.bind(e)}}}).add("states-autocomplete",{name:"state",required:!0,isValueOption:!0,placeholder:e.msg("fields.state"),showPlaceholderAbove:!0,className:"is-form-box is-no-label",icon:"icon pull-right linked svg__search",constructorParams:{events:{onChange:e.statesChangeEvent.bind(e)}}}).add("input",{name:"number",sendPath:"licenceno",required:!0,placeholder:e.msg("fields.licenseNumber"),showPlaceholderAbove:!0,className:"is-form-box is-no-label",constructorParams:{lazy:!0}}).add("file",{name:"image",label:e.msg("fields.licenseImage"),help:e.msgParse("hints.file",{formats:App._config.acceptLicenseFileExtensions}),helpAlign:"right",required:!1,visible:!1,className:"is-form-box is-border-box is-label-flex",constructorParams:{accept:App._config.acceptLicenseFileFormats}}).add("checkbox",{name:"confirm",required:!0,send:!1,placeholder:e.msg("fields.confirmVerify"),placeholderAsterisk:!1,className:"is-form-box is-no-label"})}}),cm.define("App.StatesRequest",{extend:"App.Request",params:{showLoader:!1,autoSend:!1,responseKey:null,responseErrorsKey:"message",ajax:{url:App._api.config,type:"json",method:"GET"}}},function(){App.Request.apply(this,arguments)}),cm.define("Form.LicenseCheckStudent",{extend:"Form.LicenseCheck",params:{renderNames:!1,renderContent:!1,ajax:{url:App._api.openid.school_check,paramsType:"json"}}},function(){Form.LicenseCheck.apply(this,arguments)}),cm.getConstructor("Form.LicenseCheckStudent",function(e,t,n,a){n.validateParamsData=function(e){return e.clientId||=e.client_id||e.clientid,e.data_state||=e.dataState,e},n.renderFormFields=function(){this.components.form.add("hidden",{name:"clientId",defaultValue:App._env.clientId}).add("hidden",{name:"data_state"}).add("hidden",{name:"language",defaultValue:cm._locale}).add("hidden",{name:"source",defaultValue:"website"}).add("hidden",{name:"country",defaultValue:"usa"}).add("hidden",{name:"first_name"}).add("hidden",{name:"last_name"}).add("hidden",{name:"email"}).add("hidden",{name:"school"}).add("hidden",{name:"schoolName"}).add("hidden",{name:"schoolWebsite"}).add("input",{name:"number",required:!0,placeholder:this.msg("fields.licenseNumber"),showPlaceholderAbove:!0,className:"is-form-box is-no-label"}).add("checkbox",{name:"confirm",required:!0,send:!1,placeholder:this.msg("fields.confirmVerify"),placeholderAsterisk:!1,className:"is-form-box is-no-label"})},n.setStatesData=function(e){return this},n.toggleVisibility=function(e){var t=this.getContainer();return t.setAttribute("aria-hidden",!e),cm.toggleClass(t,"is-hidden",!e),this}}),cm.define("Form.LicenseSearchSalon",{extend:"App.Form",params:{name:"verify-license",validate:!0,validateOnChange:!0,validateOnInput:!1,showNotifications:!0,showSuccessNotification:!1,showValidationNotification:!1,renderTitle:!1,renderContent:!0,renderNames:!0,renderButtonsSeparator:!1,buttonsAlign:"center",ajax:{url:App._api.license_search_salon,paramsType:"json"},loaderCoverage:"all",overlayParams:{theme:"logo-verify",showSpinner:!0,showContent:!0,lazy:!0,delay:cm._config.loadDelay},statesRequestConstructor:"App.StatesRequest",statesRequestParams:{autoSend:!1}}},function(){App.Form.apply(this,arguments)}),cm.getConstructor("Form.LicenseSearchSalon",function(e,t,n,a){n.onConstructStart=function(){var e=this;a.prototype.onConstructStart.apply(e,arguments),e.states={},e.manualStates=[],e.currentLicenseConstraint=null,e.originalSend=a.prototype.send,e.originalSendHandler=e.originalSend.bind(e),e.render
1StatesResponseHandler=e.renderStatesResponse.bind(e),e.statesChangeEventHandler=e.statesChangeEvent.bind(e),e.validateLicenseEventHandler=e.validateLicenseEvent.bind(e),e.businessnameOrLicencenoHandler=e.businessnameOrLicenceno.bind(e)},n.validateFormParams=function(){var e=a.prototype.validateFormParams.apply(this,arguments);return e.overlayParams.content=this.msg("overlay.content"),e},n.renderViewModel=function(){var t=this;a.prototype.renderViewModel.apply(t,arguments),cm.getConstructor(t.params.statesRequestConstructor,function(e){t.components.statesRequest=new e,t.components.statesRequest.addEvent("onSuccess",t.renderStatesResponseHandler),t.components.statesRequest.send()})},n.renderContentView=function(){var e={};(this.nodes.content=e).step1=cm.node("div",{class:"tpl__block mobile--form"},cm.node("h4",this.msg("step1"))),e.step2=cm.node("div",{class:"tpl__block mobile--form"},cm.node("h4",this.msg("step2")),cm.node("div",{class:"pt__columns is-adaptive indent-field margin-none"},cm.node("div",{class:"inner"},e.nameCol=cm.node("div",{class:"column column--businessname"}),e.orCol=cm.node("div",{class:"column column--none column--or"},cm.node("h5",{class:"align-center"},this.msg("or"))),e.licenceCol=cm.node("div",{class:"column column--licence"}))))},n.renderStatesResponse=function(e,t){cm.isEmpty(t.data)||(this.states=t.data.strings["signup-licenseno"],this.manualStates=t.data["manual-states"])},n.renderFormFields=function(){var e=this;e.components.form.add("hidden",{name:"apikey",defaultValue:"prod"===App._env.environment?App._config.specialKeys.verify:App._env.apiKey}).appendChild(e.nodes.content.step1).add("states-autocomplete",{name:"state",required:!0,placeholder:e.msg("state"),showPlaceholderAbove:!0,className:"is-form-box is-no-label",icon:"icon pull-right linked svg__search",container:e.nodes.content.step1,constructorParams:{events:{onChange:e.statesChangeEventHandler}}}).appendChild(e.nodes.content.step2).add("input",{name:"businessname",placeholder:e.msg("business_name"),showPlaceholderAbove:!0,className:"is-form-box is-no-label",container:e.nodes.content.nameCol}).add("input",{name:"licenceno",validate:!0,placeholder:e.msg("license_number"),showPlaceholderAbove:!0,renderErrorMessage:!1,className:"is-form-box is-no-label",container:e.nodes.content.licenceCol,events:{onValidate:e.validateLicenseEventHandler},constructorParams:{lazy:!0}}).add("empty",{name:"name",send:!1,className:"is-form-box is-no-label",container:e.nodes.content.step2}).add("checkbox",{name:"confirm",required:!0,send:!1,placeholder:e.msg("confirm",{"%terms-and-conditions%":Router.getURL("page",null,{id:"Universal-Terms-of-Service"})}),className:"is-form-box is-no-label"}).addConstraint(cm.constraintsCallback(e.businessnameOrLicencenoHandler,e.msg("errors.businessname_or_licenceno")))},n.renderFormButtons=function(){this.components.form.addButton({name:"send",action:"custom",label:this.msg("send"),classes:["button--round","button--xlarge"],handler:this.sendHandler})},n.statesChangeEvent=function(e,t){var n,a=this,s=a.getField("licenceno"),o=App._statesRestrictions[t],r=App._statesConstraints[t],i=a.getField("name");o&&cm.inArray(o,"license")?(n=null,s.fieldController.reset(),cm.addClass(a.nodes.content.orCol,"column--hidden"),cm.addClass(a.nodes.content.licenceCol,"column--hidden")):(n=a.states[t],cm.removeClass(a.nodes.content.orCol,"column--hidden"),cm.removeClass(a.nodes.content.licenceCol,"column--hidden")),cm.isEmpty(n)?i.fieldController.clearHint():(o=a.msgParse("hints.licenseSample",{samples:n,state:Application.Intl.getStateName("usa",t)}),i.fieldController.renderHint(o,{className:"form__hint__message"})),a.currentLicenseConstraint&&(s.inputController.removeConstraint("onInput",a.currentLicenseConstraint.input),s.inputController.removeConstraint("onChange",a.currentLicenseConstraint.change),s.fieldController.removeConstraint(a.currentLicenseConstraint.validator),a.currentLicenseConstraint=null),cm.isEmpty(r)||(a.currentLicenseConstraint={constraint:r,input:r.input,change:cm.isFunction(r.change)?r.change:r.input,validator:cm.constraintsPattern(r.pattern,!0,r.message)},s.inputController.addConstraint("onInput",a.currentLicenseConstraint.input),s.inputController.addConstraint("onChange",a.
1currentLicenseConstraint.change),s.fieldController.addConstraint(a.currentLicenseConstraint.validator)),s.inputController.execConstraint("onChange"),s.fieldController.validate()},n.validateLicenseEvent=function(e,t){var n=this.getField("name");this.currentLicenseConstraint&&(t.valid?n.fieldController.clearError():n.fieldController.renderError(t.message))},n.businessnameOrLicenceno=function(){var e=this.getFields(["businessname","licenceno","name"]),n={},t=!0,a=!0,s=(cm.forEach(e,function(e,t){n[t]=e.fieldController.get()}),App._statesRestrictions[n.state]),s=s&&cm.inArray(s,"license")?(t=cm.isEmpty(n.businessname),this.msg("errors.businessname")):(t=cm.isEmpty(n.businessname)&&cm.isEmpty(n.licenceno),a=e.licenceno.fieldController.validate(),this.msg("errors.businessname_or_licenceno")),o=a&&!t;return t?e.businessname.fieldController.renderError():e.businessname.fieldController.clearError(),t?e.licenceno.fieldController.renderError():a&&e.licenceno.fieldController.clearError(),t?e.name.fieldController.renderError(s):a&&e.name.fieldController.clearError(),o}}),cm.define("Form.LicenseSearch",{extend:"App.Form",params:{name:"verify-license",validate:!0,validateOnChange:!0,validateOnInput:!1,showNotifications:!0,showSuccessNotification:!1,showValidationNotification:!1,renderTitle:!1,renderContent:!0,renderNames:!0,renderButtonsSeparator:!1,buttonsAlign:"center",ajax:{url:App._api.license_search,paramsType:"json"},loaderCoverage:"all",overlayParams:{theme:"logo-verify",showSpinner:!0,showContent:!0,lazy:!0,delay:cm._config.loadDelay},statesRequestConstructor:"App.StatesRequest",statesRequestParams:{autoSend:!1}}},function(){App.Form.apply(this,arguments)}),cm.getConstructor("Form.LicenseSearch",function(e,t,n,a){n.onConstructStart=function(){var e=this;a.prototype.onConstructStart.apply(e,arguments),e.states={},e.manualStates=[],e.currentLicenseConstraint=null,e.originalSend=a.prototype.send,e.originalSendHandler=e.originalSend.bind(e),e.renderStatesResponseHandler=e.renderStatesResponse.bind(e),e.statesChangeEventHandler=e.statesChangeEvent.bind(e),e.validateLicenseEventHandler=e.validateLicenseEvent.bind(e),e.lastnameOrLicencenoHandler=e.lastnameOrLicenceno.bind(e)},n.validateFormParams=function(){var e=a.prototype.validateFormParams.apply(this,arguments);return e.overlayParams.content=this.msg("overlay.content"),e},n.renderViewModel=function(){var t=this;a.prototype.renderViewModel.apply(t,arguments),cm.getConstructor(t.params.statesRequestConstructor,function(e){t.components.statesRequest=new e,t.components.statesRequest.addEvent("onSuccess",t.renderStatesResponseHandler),t.components.statesRequest.send()})},n.renderContentView=function(){var e={};(this.nodes.content=e).step1=cm.node("div",{class:"tpl__block mobile--form"},cm.node("h4",this.msg("step1"))),e.step2=cm.node("div",{class:"tpl__block mobile--form"},cm.node("h4",this.msg("step2")),cm.node("div",{class:"pt__columns is-adaptive indent-field margin-none"},cm.node("div",{class:"inner"},e.nameCol=cm.node("div",{class:"column column--name"},cm.node("div",{class:"pt__columns columns--name indent-field"},cm.node("div",{class:"inner"},e.firstNameCol=cm.node("div",{class:"column"}),e.lastNameCol=cm.node("div",{class:"column"})))),e.orCol=cm.node("div",{class:"column column--none column--or"},cm.node("h5",{class:"align-center"},this.msg("or"))),e.licenceCol=cm.node("div",{class:"column column--licence"}))))},n.renderStatesResponse=function(e,t){cm.isEmpty(t.data)||(this.states=t.data.strings["signup-licenseno"],this.manualStates=t.data["manual-states"])},n.renderFormFields=function(){var e=this;e.components.form.add("hidden",{name:"apikey",defaultValue:"prod"===App._env.environment?App._config.specialKeys.verify:App._env.apiKey}).appendChild(e.nodes.content.step1).add("states-autocomplete",{name:"state",required:!0,placeholder:e.msg("state"),showPlaceholderAbove:!0,className:"is-form-box is-no-label",icon:"icon pull-right linked svg__search",container:e.nodes.content.step1,constructorParams:{events:{onChange:e.statesChangeEventHandler}}}).appendChild(e.nodes.content.step2).add("input",{name:"firstname",placeholder:e.msg("first_name"),showPlaceholderAbove:!0,className:"is-form-box is-no-label",container:e.nodes.content.firstNameCol}).add("input",{name:"lastname",placeholder:e.msg("last_name"),showPlaceholderAbove:!0,className:"is-form-box is-no-label",container:e.nodes.content.lastNameCol}
1).add("input",{name:"licenceno",validate:!0,placeholder:e.msg("license_number"),showPlaceholderAbove:!0,renderErrorMessage:!1,className:"is-form-box is-no-label",container:e.nodes.content.licenceCol,events:{onValidate:e.validateLicenseEventHandler},constructorParams:{lazy:!0}}).add("empty",{name:"name",send:!1,className:"is-form-box is-no-label",container:e.nodes.content.step2}).add("checkbox",{name:"confirm",required:!0,send:!1,placeholder:e.msg("confirm",{"%terms-and-conditions%":Router.getURL("page",null,{id:"Universal-Terms-of-Service"})}),className:"is-form-box is-no-label"}).addConstraint(cm.constraintsCallback(e.lastnameOrLicencenoHandler,e.msg("errors.lastname_or_licenceno")))},n.renderFormButtons=function(){this.components.form.addButton({name:"send",action:"custom",label:this.msg("send"),classes:["button--round","button--xlarge"],handler:this.sendHandler})},n.statesChangeEvent=function(e,t){var n,a=this,s=a.getField("licenceno"),o=App._statesRestrictions[t],r=App._statesConstraints[t],i=a.getField("name");o&&cm.inArray(o,"license")?(n=null,s.fieldController.reset(),cm.addClass(a.nodes.content.orCol,"column--hidden"),cm.addClass(a.nodes.content.licenceCol,"column--hidden")):(n=a.states[t],cm.removeClass(a.nodes.content.orCol,"column--hidden"),cm.removeClass(a.nodes.content.licenceCol,"column--hidden")),cm.isEmpty(n)?i.fieldController.clearHint():(o=a.msgParse("hints.licenseSample",{samples:n,state:Application.Intl.getStateName("usa",t)}),i.fieldController.renderHint(o,{className:"form__hint__message"})),a.currentLicenseConstraint&&(s.inputController.removeConstraint("onInput",a.currentLicenseConstraint.input),s.inputController.removeConstraint("onChange",a.currentLicenseConstraint.change),s.fieldController.removeConstraint(a.currentLicenseConstraint.validator),a.currentLicenseConstraint=null),cm.isEmpty(r)||(a.currentLicenseConstraint={constraint:r,input:r.input,change:cm.isFunction(r.change)?r.change:r.input,validator:cm.constraintsPattern(r.pattern,!0,r.message)},s.inputController.addConstraint("onInput",a.currentLicenseConstraint.input),s.inputController.addConstraint("onChange",a.currentLicenseConstraint.change),s.fieldController.addConstraint(a.currentLicenseConstraint.validator)),s.inputController.execConstraint("onChange"),s.fieldController.validate()},n.validateLicenseEvent=function(e,t){var n=this.getField("name");this.currentLicenseConstraint&&(t.valid?n.fieldController.clearError():n.fieldController.renderError(t.message))},n.lastnameOrLicenceno=function(){var e=this.getFields(["state","lastname","licenceno","name"]),n={},t=!0,a=!0,s=(cm.forEach(e,function(e,t){n[t]=e.fieldController.get()}),App._statesRestrictions[n.state]),s=s&&cm.inArray(s,"license")?(t=cm.isEmpty(n.lastname),this.msg("errors.lastname")):(t=cm.isEmpty(n.lastname)&&cm.isEmpty(n.licence
1no),a=e.licenceno.fieldController.validate(),this.msg("errors.lastname_or_licenceno")),o=a&&!t;return t?e.lastname.fieldController.renderError():e.lastname.fieldController.clearError(),t?e.licenceno.fieldController.renderError():a&&e.licenceno.fieldController.clearError(),t?e.name.fieldController.renderError(s):a&&e.name.fieldController.clearError(),o}}),cm.define("Form.LicenseValidate",{extend:"App.Form",params:{name:"license-validate",renderTitle:!1,renderContent:!0,buttonsAlign:"center",renderButtonSpinner:!0,renderButtonsSeparator:!1,validate:!0,validateOnChange:!0,showNotifications:!0,successOnEmptyData:!0,ajax:{url:App._api.license_validate,paramsType:"form-data"},overlayParams:{lazy:!1,theme:"transparent",showSpinner:!1,showContent:!1},helpDialog:{constructor:"Com.Dialog",constructorParams:{autoOpen:!1,width:App._config.dialog.widthSmall,titleAlign:"center"}}}},function(){App.Form.apply(this,arguments)}),cm.getConstructor("Form.LicenseValidate",function(e,t,n,a){n.onDestructStart=function(){this.components.fileTipsDialog?.destruct(),a.prototype.onDestructStart.apply(this,arguments)},n.validateParamsData=function(e){return e.last_name=e.last_name||e.business_name,e.state=e.state?.trim(),e},n.renderContentView=function(){let t=this,n={};n.fileGroup=cm.node("section",{classes:["tpl__block","tpl__block--field-group","has-border"],role:"group"},cm.node("h5",{classes:"tpl__block__title"},t.msg("groups.file.title")),n.fileFields=cm.node("div",{classes:"tpl__block__content"}),n.fileHelp=cm.node("div",{classes:["tpl__block__help","align-center"],innerHTML:t.msg("groups.file.help")})),cm.getConstructor(t.params.helpDialog.constructor,e=>{n.fileTipsContent=cm.node("div",{innerHTML:t.msg("groups.file.tips.content")}),n.fileTipsButton=Application.Buttons.embedContainer({classes:["pull-center"],items:[{label:t.msg("groups.file.tips.button"),classes:["button-primary"],callback:()=>t.components.fileTipsDialog.close()}]}),Application.Buttons.render({container:n.fileHelp,classes:["button-inline"],label:t.msg("groups.file.tips.title"),icons:{classes:["medium"],before:"atom"},callback:()=>t.components.fileTipsDialog.open()}),t.components.fileTipsDialog=new e(cm.merge(t.params.helpDialog.constructorParams,{title:t.msg("groups.file.tips.title"),content:n.fileTipsContent,buttons:n.fileTipsButton}))}),t.nodes.content=n},n.renderFormFields=function(){let e=this;e.components.form.add("hidden",{name:"client_id",defaultValue:App._env.clientId}).add("hidden",{name:"language",defaultValue:cm._locale}).add("hidden",{name:"source",defaultValue:"website"}).add("hidden",{name:"country",defaultValue:"usa"}).add("hidden",{name:"email"}).add("hidden",{name:"state"}).add("hidden",{name:"first_name"}).add("hidden",{name:"last_name"}).add("hidden",{name:"number"}).appendChild(e.nodes.content.fileGroup).add("file",{name:"image",label:e.msg("fields.licenseImage"),placeholder:e.msgParse("hints.file",{formats:App._config.acceptLicenseFileExtensions}),required:!1,className:["is-form-box","is-no-label"],container:e.nodes.content.fileFields,constructorParams:{buttonsAdaptive:!0,accept:App._config.acceptLicenseFileFormats,acceptSizes:{max:App._config.acceptFileSize}},events:{onChange:()=>e.validateImage()}}).addConstraint(cm.constraintsCallback(e.validateImage.bind(e)))},n.validateImage=function(){var e=this.getField("image");let t=!0;return e&&(t=this.isSkip||!cm.isEmpty(e.fieldController.get())),cm.toggleClass(this.nodes.content.fileGroup,"error",!t),t},n.skip=function(){this.isSkip=!0;var e=this.getField("image");e&&e.fieldController.reset(),this.send(),this.isSkip=!1}}),cm.define("Form.LoginContainer",{extend:"App.FormContainer",params:{constructor:"Form.Login"}},function(){App.FormContainer.apply(this,arguments)}),cm.define("Form.Login",{extend:"App.Form",params:{name:"login",renderNames:!0,renderTitle:!1,renderButtonSpinner:!0,renderButtonsSeparator:!1,buttonsAlign:"center",validate:!0,showNotifications:!0,responseMessageCodeKey:"error",ajax:{url:App._api.authentication.create,paramsType:"json"}}},function(){App.Form.apply(this,arguments)}),cm.getConstructor("Form.Login",function(e,t,n,a){n.renderFormFields=function(){this.components.form.add("hidden",{name:"client_id",defaultValue:App._env.clientId}).add("email",{name:"email",required:!0,label:this.msg("fields.email"),placeholder:this.msg("fields.email"),showPlaceholderAbove:!0,className:["is-form-box","is-no-label"],constructorParams:{events:{onEnterPress:this.sendHandler}}}).add("password",{name:"password",required:!0,label:this.msg("fields.password"),placeholder:this.msg("fields.password"),showPlaceholderAbove:!0,className:["is-form-box","is-no-label"],constructorParams:{events:{onEnterPress:this.sendHandler}}})}}),cm.define("Form.MembersSearchFilterContainer",{extend:"App.FormContainer",params:{constructor:"Form.MembersSearchFilter"}},function(e){App.FormContainer.apply(this,arguments)}),cm.define("Form.MembersSearchFilter",{extend:"App.Form",params:{name:"members-search",headerContainer:null,renderNames:!0,renderTitle:!1,renderContent:!0,renderButtons:!1,renderButtonsSeparator:!1,validate:!1,showNotifications:!1,toolbar:null}}
1,function(){App.Form.apply(this,arguments)}),cm.getConstructor("Form.MembersSearchFilter",function(e,t,n,a){n.onValidateParams=function(){this.components.toolbar=this.params.toolbar,this.params.container=this.components.toolbar.getNodes("filter"),this.params.headerContainer=this.components.toolbar.getNodes("header"),a.prototype.onValidateParams.apply(this,arguments)},n.onConstructEnd=function(){this.setRoleField(""),a.prototype.onConstructEnd.apply(this,arguments)},n.renderContentView=function(){var e={};(this.nodes.content=e).name=cm.node("section",{classes:["pt__columns","columns--name","margin-none","indent-block-xsmall"],role:"group"},cm.node("div",{classes:"inner"},e.firstname=cm.node("div",{classes:"column"}),e.lastname=cm.node("div",{classes:"column"})))},n.renderFormFields=function(){let n=this;n.components.form.add("hidden",{name:"place",renderEvents:!1,defaultValue:{},outputValueType:"raw",inputValueType:"unset"}).add("hidden",{name:"zoom",renderEvents:!1,defaultValue:App._config.map.zoom,inputValueType:"unset"}).add("location-autocomplete",{name:"location",renderEvents:!1,label:n.msg("fields.address"),placeholder:n.msg("fields.address"),className:["is-form-box","is-no-label"],defaultValue:{value:[App._config.map.location.lng,App._config.map.location.lat].join(","),text:"New York, NY, USA",data:{}},constructorParams:{ignoredValues:Application.msgObject("locations.ignored"),allowEmptyText:!0,contentClassName:["pt__input--search"],inputClasses:["input--search"],icon:Application.Images.embedIcon({icon:"search",classes:["pull-left","linked"]}),iconTitle:n.msg("fields.location.icon"),geoIcon:Application.Images.embedIcon({icon:"location",classes:["pull-right","linked","hidden"]}),geoIconTitle:n.msg("fields.location.geoIcon"),appendPac:!0}}).add("location-filter",{name:"location-filter",system:!0,renderEvents:!0,className:["is-form-box","is-no-label","is-small-half-indent"],container:n.params.headerContainer,constructorParams:{focusField:"location",fields:[{name:"place",tab:"address"},{name:"zoom",tab:"address"},{name:"location",tab:"address"}],button:{render:!1},tooltip:{render:!1}}}).add("toggle-buttons",{name:"role",sendPath:"filter.role",renderEvents:!1,defaultValue:"",label:n.msg("fields.role.label"),options:n.msg("fields.role.options"),className:["is-form-box","is-no-label","is-small-half-indent"],constructorParams:{containerParams:{classes:["pull-justify","is-adaptive-compact"],modifiers:["flex","toggle-bordered"],role:"radiogroup"},buttonParams:{classes:["is-compact"],modifiers:["toggle","toggle-field"],role:"radio"}},events:{onChange:(e,t)=>
1n.setRoleField(t)}}).add("input",{name:"firstname",sendPath:"filter.firstname",renderEvents:!1,minLength:2,placeholder:n.msg("fields.firstname"),showPlaceholderAbove:!0,className:["is-form-box","is-no-label","is-no-indent"],container:n.nodes.content.firstname,constructorParams:{lazy:!0}}).add("input",{name:"lastname",sendPath:"filter.lastname",renderEvents:!1,minLength:2,placeholder:n.msg("fields.lastname"),showPlaceholderAbove:!0,className:["is-form-box","is-no-label","is-no-indent"],container:n.nodes.content.lastname,constructorParams:{lazy:!0}}).add("input",{name:"businessname",sendPath:"filter.lastname",renderEvents:!1,minLength:2,placeholder:n.msg("fields.businessname"),showPlaceholderAbove:!0,className:["is-form-box","is-no-label","is-no-indent"],constructorParams:{lazy:!0}}).add("profile-filter",{name:"profile-filter",system:!0,renderEvents:!0,minLength:2,className:["is-form-box","is-no-label","is-quarter-indent"],constructorParams:{fields:[{name:"role",tab:"profile"},{name:"firstname",tab:"profile",container:n.nodes.content.name},{name:"lastname",tab:"profile",container:n.nodes.content.name},{name:"businessname",tab:"profile"}],button:{render:!1},tooltip:{render:!1}}}).add("speciality-filter",{name:"speciality",sendPath:"filter.speciality",className:["is-form-box","is-no-label","is-small-half-indent"],constructorParams:{request:{enable:!1},button:{render:!1},tooltip:{render:!1},tabset:{constructorParams:{tabsAlign:"space-between",className:["app__tabset--directory","app__tabset--small"]}}}})},n.setRoleField=function(e){let a=this;var t=a.getFields(["firstname","lastname","businessname"]),n={tech:["firstname","lastname"],salon:["businessname"]};let s=n[e]||n.tech;cm.forEach(t,(e,t)=>{var n=cm.inArray(s,t);e.fieldController.toggleVisibility(n),a.setFieldParams(t,{send:n})});n=a.nodes.content;n&&(n.name.setAttribute("aria-hidden","salon"===e),cm.toggleClass(n.name,"is-hidden","salon"===e))},n.setSpeciality=function(e){var t=this.components.form.getField("speciality");return t&&t.inputController.renderData(e),this}}),cm.define("Form.NabbaContainer",{extend:"App.FormContainer",params:{constructor:"Form.Nabba"}},function(){App.FormContainer.apply(this,arguments)}),cm.define("Form.Nabba",{extend:"App.Form",params:{name:"nabba",renderNames:!0,renderTitle:!1,renderContent:!1,buttonsAdaptive:!1,renderButtonSpinner:!0,renderButtonsSeparator:!1,buttonsAlign:"center",validate:!0,validateOnChange:!0,ajax:{url:App._api.form,method:"POST",type:"json",paramsType:"json",variables:{slug:"nabba"}}}},function(){App.Form.apply(this,arguments)}),cm.getConstructor("Form.Nabba",function(e,t,n,a){n.renderFormFields=function(){var e=this;e.components.form.add("checkbox-group",{name:"topics",required:!0,label:e.msg("fields.topics.label"),options:e.msgObject("fields.topics.options"),className:["is-form-box","is-no-label"],constructorParams:{contentClassName:["pt__check-line--nabba","has-hover"],events:{onChange:e.topicsChangeEvent.bind(e)}}}).add("states-autocomplete",{name:"state",visible:!1,required:!1,requiredAsterisk:!1,placeholderAsterisk:!1,label:e.msg("fields.state.label"),placeholder:e.msg("fields.state.placeholder"),icon:["icon","pull-right","linked","svg__search"],className:["is-form-box","field-inner-indent"],constructorParams:{data:{...Application.Intl.getStates("usa"),...e.msgObject("fields.state.data")}}}).add("input",{name:"name",required:!0,requiredAsterisk:!1,maxLength:255,label:e.msg("fields.name"),className:["is-form-box","field-inner-indent"]}).add("email",{name:"email",required:!0,requiredAsterisk:!1,maxLength:255,label:e.msg("fields.email"),className:["is-form-box","field-inner-indent"],constraints:[Application.FieldConstraints.emailFormat()],constructorParams:{events:{onInput:Application.FieldHandlers.emailInputEvent.bind(e)}}}).add("input",{name:"org",required:!1,optionalHint:!0,placeholderAsterisk:!1,maxLength:1e3,label:e.msg("fields.organization.label"),placeholder:e.msg("fields.organization.placeholder"),className:["is-form-box","field-inner-indent"]}).add("checkbox",{name:"updates",required:!1,placeholder:e.msg("fields.updates"),className:["is-form-box","is-no-label","field-inner-indent"]}).appendChild(cm.node("p",{classes:["color--secondary"]},e.msg("fields.info")))},n.topicsChangeEvent=function(e,t){var n=this.getField("state"),t=cm.inArray(t,"state-boards-and-associations");n.fieldController.toggleRequired(t),n.fieldController.toggleVisibility(t),this.setFieldParams("state",{send:t})}}),cm.define("Form.OpenIdContainer",{extend:"App.FormContainer",params:{constructor:"Form.OpenId"}},function(){App.FormContainer.apply(this,arguments)}),cm.define("Form.OpenId",{extend:"App.Form",params:{name:"openid",renderContent:!0,renderNames:!0,renderTitle:!1,renderButtonsSeparator:!1,renderButtonSpinner:!1,buttonsAlign:"justify",validate:!0,validateOnChange:!0,responseMessageCodeKey:"message_code",responseMessageDetailsKey:"details",showLoader:!1,ajax:{url:App._api.openid.authorize,method:"POST",type:"json",paramsType:"json"}}}
1,function(){App.Form.apply(this,arguments)}),cm.getConstructor("Form.OpenId",function(e,t,n,s){n.renderContentView=function(){var e={};e.container=cm.node("div",{classes:"openid-form__avatar"},Application.User.embedCard(Application.userGetProfile(),{modifiers:["user-vertical"],classes:["no-padding"],renderLink:!1,avatar:{size:"large",renderEmpty:!1,renderHiring:!1},user:{render:!0,tagName:"h4",renderBadge:!1},description:{render:!0,classes:["card__block","is-flex"],renderBadge:!0}})),this.nodes.content=e},n.renderFormFields=function(){this.components.form.add("hidden",{name:"scope"}).add("hidden",{name:"response_type"}).add("hidden",{name:"code_challenge"}).add("hidden",{name:"code_challenge_method"}).add("hidden",{name:"client_id"}).add("hidden",{name:"redirect_url"}).add("hidden",{name:"state"}).appendChild(this.nodes.content.container)},n.renderFormButtons=function(){if(!this.params.renderButtonSpinner)return s.prototype.renderFormButtons.apply(this,arguments);this.components.form.addButton({name:"send",action:"submit",label:this.msg("send"),classes:["button--round","button--xlarge"],spinner:!0,spinnerClasses:["large"]})},n.renderFormCallbacks=function(){let a=this;var e=s.prototype.renderFormCallbacks.apply(a,arguments);return e.filterMessageDetails=(e,n)=>{if(n.company=n.dba||n.company||App._env.title,!cm.isEmpty(n.types)){let t=a.msgObject("fields.licenseCategory.options");n.types=n.types.map(e=>{e=e.title.toLowerCase();return(t[e]||e).toLowerCase()})}return n.shopUrl=Router.getURL("shop"),n.shopClasses="button button-danger button--round button--notification",n},e},n.focus=function(){}}),cm.define("Form.ProductBookPreferences",{extend:"App.Form",params:{name:"product-book-preferences",renderTitle:!1,renderContent:!1,renderButtons:!1,renderButtonsSeparator:!1,validate:!1,showNotifications:!1,preferencesTooltip:{constructorParams:{}}}},function(){App.Form.apply(this,arguments)}),cm.getConstructor("Form.ProductBookPreferences",function(e,t,n,a){n.renderFormFields=function(){this.components.form.add("range",{name:"fontSize",label:this.msg("fields.fontSize"),className:["is-form-box","is-label-indent"],constructorParams:{min:75,max:150,step:5,precision:0,valueFormater:"{value}%"}}).add("product-book-preferences",{name:"preferences",system:!0,renderEvents:!0,className:["is-form-box","is-no-label"],constructorParams:{container:this.nodes.container,tooltip:this.params.preferencesTooltip,fields:[{name:"fontSize",tab:"content"}]}})}}),cm.define("Form.ProductBook",{extend:"App.Form",params:{name:"product-book",renderTitle:!1,renderContent:!0,renderButtons:!0,renderButtonSpinner:!0,renderButtonsSeparator:!1,buttonsAlign:"center",showLoader:!1,ajax:{url:App._api.ecommerce.book,method:"GET",type:"json",paramsType:"uri"}}},function(){App.Form.apply(this,arguments)}),cm.define("Form.ProductEducationVideos",{extend:"App.Form",params:{name:"product-education-vi
1deos",renderTitle:!1,renderContent:!0,renderButtons:!0,renderButtonSpinner:!0,renderButtonsSeparator:!1,buttonsAlign:"center",ajax:{url:App._api.ecommerce.checkout,method:"GET",type:"json",paramsType:"uri"}}},function(){App.Form.apply(this,arguments)}),cm.define("Form.ProfileEnthusiastContainer",{extend:"App.FormContainer",params:{constructor:"Form.ProfileEnthusiast",focusFieldOnOpen:"firstname",placeholderParams:{constructorParams:{width:App._config.dialog.widthSmall}}}},function(){App.FormContainer.apply(this,arguments)}),cm.define("Form.ProfileEnthusiast",{extend:"App.Form",params:{name:"profile-enthusiast",renderTitle:!1,renderContent:!0,renderNames:!0,validate:!0,validateOnChange:!0,fieldsData:{},sendEmptyForm:!1,ajax:{url:App._api.users.update,method:"PATCH",paramsType:"json"},delete:{constructor:"App.UserDeleteConfirmContainer",constructorParams:{}}}},function(){App.Form.apply(this,arguments)}),cm.getConstructor("Form.ProfileEnthusiast",function(e,t,n,a){n.onConstructStart=function(){this.isNickNameFilledManually=!1,a.prototype.onConstructStart.apply(this,arguments)},n.onDestructStart=function(){this.components.delete?.destruct(),a.prototype.onDestructStart.apply(this,arguments)},n.renderViewModel=function(){let t=this;a.prototype.renderViewModel.apply(t,arguments),cm.getConstructor(t.params.delete.constructor,e=>{t.components.delete=new e(cm.merge(t.params.delete.constructorParams,{node:t.nodes.content.deleteButton,data:t.params.data,events:{onSuccess:t.deleteSuccess.bind(t)}}))})},n.renderContentView=function(){var e={};e.nameGroup=cm.node("section",{classes:"pt__columns columns--name field-outer-indent indent-field",role:"group"},cm.node("div",{classes:"inner"},e.nameLeft=cm.node("div",{classes:"column"}),e.nameRight=cm.node("div",{classes:"column"}))),e.bdayGroup=cm.node("section",{classes:["tpl__block","tpl__block--field-group","has-border"],role:"group"},cm.node("div",{classes:"tpl__block__title"},cm.node("h5",{classes:"h5"},this.msg("groups.birthday.label")),cm.node("p",this.msg("groups.birthday.description")))),e.deleteGroup=cm.node("section",{classes:["tpl__block","tpl__block--field-group","has-border"],role:"group"},cm.node("div",{classes:"tpl__block__title"},cm.node("h5",{classes:"h5"},this.msg("groups.delete.label"))),e.deleteButton=Application.Buttons.embed({classes:["button-inline"],label:this.msg("groups.delete.button")})),this.nodes.content=e},n.renderFormFields=function(){var e=this;e.components.form.appendChild(e.nodes.content.nameGroup).add("input",{name:"firstname",sendPath:"profile.firstname",dataPath:"profile.firstname",required:!0,placeholder:e.msg("fields.firstname"),showPlaceholderAbove:!0,className:"is-form-box is-no-label",container:e.nodes.content.nameLeft}).add("input",{name:"lastname",sendPath:"profile.lastname",dataPath:"profile.lastname",required:!0,placeholder:e.msg("fields.lastname"),showPlaceholderAbove:!0,className:"is-form-box is-no-label",container:e.nodes.content.nameRight}).add("input",{name:"nickname",sendPath:"profile.nickname",dataPath:"profile.nickname",required:!0,placeholder:e.msg("fields.nickname"),showPlaceholderAbove:!0,className:"is-form-box is-no-label",constructorParams:{events:{onBlur:e.nickNameBlurEvent.bind(e)}}}).add("email",{name:"email",required:!0,placeholder:e.msg("fields.email"),showPlaceholderAbove:!0,className:"is-form-box is-no-label",constraints:[Application.FieldConstraints.emailFormat()],constructorParams:{events:{onInput:Application.FieldHandlers.emailInputEvent.bind(e)}}}).add("states-autocomplete",{name:"state",sendPath:"profile.state",dataPath:"profile.state",required:!0,placeholder:e.msg("fields.state"),showPlaceholderAbove:!0,icon:"icon pull-right linked svg__search",className:"is-form-box is-no-label"}).appendChild(e.nodes.content.bdayGroup).add("date-select",{name:"birthday",sendPath:"profile.birthday",dataPath:"profile.birthday",required:!1,label:e.msg("fields.birthday"),className:"is-form-box is-no-label",container:e.nodes.content.bdayGroup,constructorParams:{fields:["month","day"]}}).appendChild(e.nodes.content.deleteGroup)},n.nickNameBlurEvent=function(e,t){var n=this.getField("firstname").fieldController.get();cm.isEmpty(t)?(this.isNickNameFilledManually=!1,e.set(n)):this.isNickNameFilledManually=!0},n.deleteSuccess=function(){Application.User.logout("index")}}),cm.define("Form.ProfileSalonContainer",{extend:"App.FormContainer",params:{constructor:"Form.ProfileSalon",focusFieldOnOpen:"businessname",placeholderParams:{constructorParams:{width:App._config.dialog.widthSmall}}}},function(){App.FormContainer.apply(this,arguments)}),cm.define("Form.ProfileSalon",{extend:"App.Form",params:{name:"profile",renderTitle:!1,renderContent:!0,renderNames:!0,validate:!0,validateOnChange:!0,fieldsData:{},sendEmptyForm:!1,ajax:{url:App._api.users.update,method:"PATCH",paramsType:"json"},clipboard:{constructor:"App.TooltipClipboard",constructorParams:{align:"bottomRight"}},delete:{constructor:"App.UserDeleteConfirmContainer",constructorParams:{}}}}
1,function(){App.Form.apply(this,arguments)}),cm.getConstructor("Form.ProfileSalon",function(e,t,n,a){n.onConstructStart=function(){this.isNickNameFilledManually=!1,this.hasOtherCountry=!1,a.prototype.onConstructStart.apply(this,arguments)},n.onDestructStart=function(){this.components.clipboard?.destruct(),this.components.delete?.destruct(),a.prototype.onDestructStart.apply(this,arguments)},n.validateParamsData=function(e){return this.hasOtherCountry="other"===e.profile?.country&&!cm.isEmpty(e.profile?.otherCountry),e},n.renderViewModel=function(){let t=this;a.prototype.renderViewModel.apply(t,arguments),cm.getConstructor(t.params.clipboard.constructor,e=>{t.components.clipboard=new e(t.params.clipboard.constructorParams)}),cm.getConstructor(t.params.delete.constructor,e=>{t.components.delete=new e(cm.merge(t.params.delete.constructorParams,{node:t.nodes.content.deleteButton,data:t.params.data,events:{onSuccess:t.deleteSuccess.bind(t)}}))})},n.renderContentView=function(){var e={};e.bdayGroup=cm.node("section",{classes:["tpl__block","tpl__block--field-group","has-border"],role:"group"},cm.node("div",{classes:"tpl__block__title"},cm.node("h5",{classes:"h5"},this.msg("groups.birthday.label")),cm.node("p",this.msg("groups.birthday.description")))),e.shortnameGroup=cm.node("section",{classes:["tpl__block","tpl__block--field-group","has-border"],role:"group"},cm.node("div",{classes:"tpl__block__title"},cm.node("h5",{classes:"h5"},this.msg("groups.slug.label")),cm.node("p",this.msg("groups.slug.description")))),e.passwordGroup=cm.node("section",{classes:["tpl__block","tpl__block--field-group","has-border"],role:"group"},cm.node("div",{classes:"tpl__block__title"},cm.node("h5",{classes:"h5"},this.msg("groups.password.label"))),cm.node("div",{classes:["pt__columns","columns--password","indent-field","is-adaptive"]},cm.node("div",{classes:"inner"},e.passwordLeft=cm.node("div",{classes:"column"}),e.passwordRight=cm.node("div",{classes:"column"})))),e.deleteGroup=cm.node("section",{classes:["tpl__block","tpl__block--field-group","has-border"],role:"group"},cm.node("div",{classes:"tpl__block__title"},cm.node("h5",{classes:"h5"},this.msg("groups.delete.label"))),e.deleteButton=Application.Buttons.embed({classes:["button-inline"],label:this.msg("groups.delete.button")})),this.nodes.content=e},n.renderFormFields=function(){let e=this;e.components.form.add("input",{name:"businessname",sendPath:"profile.lastname",dataPath:"profile.lastname",required:!0,label:e.msg("fields.businessname"),placeholder:e.msg("fields.businessname"),showPlaceholderAbove:!0,className:"is-form-box is-no-label"}).add("input",{name:"nickname",sendPath:"profile.nickname",dataPath:"profile.nickname",required:!0,label:e.msg("fields.nickname"),placeholder:e.msg("fields.nickname"),showPlaceholderAbove:!0,className:"is-form-box is-no-label",constructorParams:{events:{onBlur:e.nickNameBlurEvent.bind(e)}}}).add("email",{name:"email",required:!0,label:e.msg("fields.email"),placeholder:e.msg("fields.email"),showPlaceholderAbove:!0,className:"is-form-box is-no-label",constraints:[Application.FieldConstraints.emailFormat()],constructorParams:{events:{onInput:Application.FieldHandlers.emailInputEvent.bind(e)}}}).add("phone",{name:"mobile",sendPath:"profile.mobile",dataPath:"profile.mobile",required:!1,label:e.msg("fields.mobile"),placeholder:e.msg("fields.mobile"),showPlaceholderAbove:!0,className:"is-form-box is-no-label"}).add("select",{name:"country",sendPath:"profile.country",dataPath:"profile.country",required:!1,disabled:!0,visible:!e.hasOtherCountry,defaultValue:"usa",label:e.msg("fields.country"),placeholder:e.msg("fields.country"),showPlaceholderAbove:!0,options:Application.Intl.getCountriesOptions(),className:"is-form-box is-no-label"}).add("input",{name:"otherCountry",sendPath:"profile.otherCountry",dataPath:"profile.otherCountry",required:!1,disabled:!0,visible:e.hasOtherCountry,label:e.msg("fields.country"),placeholder:e.msg("fields.country"),showPlaceholderAbove:!0,className:"is-form-box is-no-label"}).appendChild(e.nodes.content.shortnameGroup).add("social-input",{name:"shortname",required:!1,validate:!0,minLength:3,maxLength:30,label:e.msg("fields.shortname.label"),className:"is-form-box is-no-label",strings:e.msgObject("fields.shortname.errors"),container:e.nodes.content.shortnameGroup,constructorParams:{prefix:App.getHrefHostname(App._env.baseUrl+"/@"),icon:Application.Images.embedIcon({icon:"copy",classes:["pull-right","linked","size-field","inset-small"],callback:()=>e.copyShortnameEvent()}),iconEvents:!1,iconTitle:e.msg("fields.shortname.icon"),iconInsertMethod:"appendChild",constraints:{onInput:[Ap
1plication.InputConstraints.shortname.bind(e)],onChange:[Application.InputConstraints.shortname.bind(e)]}}}).appendChild(e.nodes.content.bdayGroup).add("date-select",{name:"birthday",sendPath:"profile.birthday",dataPath:"profile.birthday",required:!1,label:e.msg("fields.birthday"),className:"is-form-box is-no-label",container:e.nodes.content.bdayGroup,constructorParams:{fields:["month","day","year"],startYear:1900,endYear:"current"}}).appendChild(e.nodes.content.passwordGroup).add("password",{name:"password",required:!1,validate:!0,minLength:6,maxLength:30,label:e.msg("fields.password"),placeholder:e.msg("fields.password"),showPlaceholderAbove:!0,className:"is-form-box is-no-label",autocomplete:"off",strings:e.msgObject("errors.password"),container:e.nodes.content.passwordLeft,events:{onValidate:()=>Application.FieldHandlers.passwordValidate.call(e,"password","repeat-password")},constructorParams:{limitMaxLength:!1}}).add("password",{name:"repeat-password",required:!1,validate:!0,send:!1,minLength:6,maxLength:30,label:e.msg("fields.repeatPassword"),placeholder:e.msg("fields.repeatPassword"),showPlaceholderAbove:!0,className:"is-form-box is-no-label",autocomplete:"off",strings:e.msgObject("errors.password"),container:e.nodes.content.passwordRight,constraints:[Application.FieldConstraints.passwordMatch.call(e,"password","repeat-password")],constructorParams:{limitMaxLength:!1}}).appendChild(e.nodes.content.deleteGroup)},n.nickNameBlurEvent=function(e,t){var n=this.getField("businessname").fieldController.get();cm.isEmpty(t)?(this.isNickNameFilledManually=!1,e.set(n)):this.isNickNameFilledManually=!0},n.copyShortnameEvent=function(){var e=this.getField("shortname"),t=e.fieldController.get();cm.isEmpty(t)||(t=App.getHref(e.inputController.getValuePreview()),this.components.clipboard.copy(t,e.inputController.getIcon()))},n.deleteSuccess=function(){Application.User.logout("index")}}),cm.define("Form.ProfileStudentContainer",{extend:"App.FormContainer",params:{constructor:"Form.ProfileStudent",focusFieldOnOpen:"firstname",placeholderParams:{constructorParams:{width:App._config.dialog.widthSmall}}}},function(){App.FormContainer.apply(this,arguments)}),cm.define("Form.ProfileStudent",{extend:"App.Form",params:{name:"profile",renderTitle:!1,renderContent:!0,renderNames:!0,validate:!0,validateOnChange:!0,fieldsData:{},sendEmptyForm:!1,ajax:{url:App._api.users.update,method:"PATCH",paramsType:"json"},delete:{constructor:"App.UserDeleteConfirmContainer",constructorParams:{}}}},function(){App.Form.apply(this,arguments)}),cm.getConstructor("Form.ProfileStudent",function(e,t,n,a){n.onConstructStart=function(){this.isNickNameFilledManually=!1,a.prototype.onConstructStart.apply(this,arguments)},n.onDestructStart=function(){this.components.delete?.destruct(),a.prototype.onDestructStart.apply(this,arguments)},n.renderViewModel=function(){let t=this;a.prototype.renderViewModel.apply(t,arguments),cm.getConstructor(t.params.delete.constructor,e=>{t.components.delete=new e(cm.merge(t.params.delete.constructorParams,{node:t.nodes.content.deleteButton,data:t.params.data,events:{onSuccess:t.deleteSuccess.bind(t)}}))})},n.renderContentView=function(){var e={};e.nameGroup=cm.node("section",{classes:"pt__columns columns--name field-outer-indent indent-field",role:"group"},cm.node("div",{classes:"inner"},e.nameLeft=cm.node("div",{classes:"column"}),e.nameRight=cm.node("div",{classes:"column"}))),e.bdayGroup=cm.node("section",{classes:["tpl__block","tpl__block--field-group","has-border"],role:"group"},cm.node("div",{classes:"tpl__block__title"},cm.node("h5",{classes:"h5"},this.msg("groups.birthday.label")),cm.node("p",this.msg("groups.birthday.description")))),e.deleteGroup=cm.node("section",{classes:["tpl__block","tpl__block--field-group","has-border"],role:"group"},cm.node("div",{classes:"tpl__block__title"},cm.node("h5",{classes:"h5"},this.msg("groups.delete.label"))),e.deleteButton=Application.Buttons.embed({classes:["button-inline"],label:this.msg("groups.delete.button")})),this.nodes.content=e},n.renderFormFields=function(){var e=this;e.components.form.appendChild(e.nodes.content.nameGroup).add("input",{name:"firstname",sendPath:"profile.firstname",dataPath:"profile.firstname",required:!0,maxLength:255,placeholder:e.msg("fields.firstname"),showPlaceholderAbove:!0,className:"is-form-box is-no-label",container:e.nodes.content.nameLeft}).add("input",{name:"lastname",sendPath:"profile.lastname",dataPath:"profile.lastname",required:!0,maxLength:255,placeholder:e.msg("fields.lastname"),showPlaceholderAbove:!0,className:"is-form-box is-no-label",container:e.nodes.content.nameRight}).add("input",{name:"nickname",sendPath:"profile.nickname",dataPath:"profile.nickname",required:!0,maxLength:255,placeholder:e.msg("fields.nickname"),showPlaceholderAbove:!0,className:"is-form-box is-no-label",constructorParams:{events:{onBlur:e.nickNameBlurEvent.bind(e)}}}).add("email",{name:"email",required:!0,maxLength:255,placeholder:e.msg("fields.email"),showPlaceholderAbove:!0,className:"is-form-box is-no-label",constraints:[Application.FieldConstraints.emailFormat()],constructorParams:{events:{onInput:Application.FieldHandlers.emailInputEvent.bind(e)}}}).add("input",{name:"school",sendPath:"profile.school",dataPath:"profile.school",required:!0,maxLength:255,placeholder:e.msg("fields.school"),showPlaceholderAbove:!0,className:"is-form-box is-no-label"}).add("url",{name:"schoolWebsite",sendPath:"profile.schoolWebsite",dataPath:"profile.schoolWebsite",required:!0,maxLength:2e3,placeholder:e.msg("fields.schoolWebsite"),showPlaceholderAbove:!0,className:"is-form-box is-no-label"}).appendChild(e.nodes.content.bdayGroup).add("date-select",{name:"birthday",sendPath:"profile.birthday",dataPath:"profile.birthday",required:!1,label:e.msg("fields.birthday"),className:"is-form-box is-no-label",container:e.nodes.content.bdayGroup,constructorParams:{fields:["month","day"]}}).appendChild(e.nodes.content.deleteGroup)},n.nickNameBlurEvent=function(e,t){var n=this.getField("firstname").fieldController.get();cm.isEmpty(t)?(this.isNickNameFilledManually=!1,e.set(n)):this.isNickNameFilledManually=!0},n.deleteSuccess=function(){Application.User.logout("index")}}),cm.define("Form.ProfileTechnicianContainer",{extend:"App.FormContainer",params:{constructor:"Form.ProfileTechnician",focusFieldOnOpen:"firstname",placeholderParams:{constructorParams:{width:App._config.dialog.widthSmall}}}},function(){App.FormContainer.apply(this,arguments)}),cm.define("Form.ProfileTechnician",{extend:"App.Form",params:{name:"profile",renderTitle:!1,renderContent:!0,renderNames:!0,validate:!0,validateOnChange:!0,fieldsData:{},sendEmptyForm:!1,ajax:{url:App._api.users.update,method:"PATCH",paramsType:"json"},clipboard:{constructor:"App.TooltipClipboard",constructorParams:{align:"underTopRight"}},delete:{constructor:"App.UserDeleteConfirmContainer",constructorParams:{}}}}
1,function(){App.Form.apply(this,arguments)}),cm.getConstructor("Form.ProfileTechnician",function(e,t,n,a){n.onConstructStart=function(){this.isNickNameFilledManually=!1,this.hasOtherCountry=!1,a.prototype.onConstructStart.apply(this,arguments)},n.onDestructStart=function(){this.components.clipboard?.destruct(),this.components.delete?.destruct(),a.prototype.onDestructStart.apply(this,arguments)},n.validateParamsData=function(e){return this.hasOtherCountry="other"===e.profile?.country&&!cm.isEmpty(e.profile?.otherCountry),e},n.renderViewModel=function(){let t=this;a.prototype.renderViewModel.apply(t,arguments),cm.getConstructor(t.params.clipboard.constructor,e=>{t.components.clipboard=new e(t.params.clipboard.constructorParams)}),cm.getConstructor(t.params.delete.constructor,e=>{t.components.delete=new e(cm.merge(t.params.delete.constructorParams,{node:t.nodes.content.deleteButton,data:t.params.data,events:{onSuccess:t.deleteSuccess.bind(t)}}))})},n.renderContentView=function(){var e={};e.nameGroup=cm.node("section",{classes:"pt__columns columns--name field-outer-indent indent-field",role:"group"},cm.node("div",{classes:"inner"},e.nameLeft=cm.node("div",{classes:"column"}),e.nameRight=cm.node("div",{classes:"column"}))),e.bdayGroup=cm.node("section",{classes:["tpl__block","tpl__block--field-group","has-border"],role:"group"},cm.node("div",{classes:"tpl__block__title"},cm.node("h5",{classes:"h5"},this.msg("groups.birthday.label")),cm.node("p",this.msg("groups.birthday.description")))),e.shortnameGroup=cm.node("section",{classes:["tpl__block","tpl__block--field-group","has-border"],role:"group"},cm.node("div",{classes:"tpl__block__title"},cm.node("h5",{classes:"h5"},this.msg("groups.slug.label")),cm.node("p",this.msg("groups.slug.description")))),e.passwordGroup=cm.node("section",{classes:["tpl__block","tpl__block--field-group","has-border"],role:"group"},cm.node("div",{classes:"tpl__block__title"},cm.node("h5",{classes:"h5"},this.msg("groups.password.label"))),cm.node("div",{classes:["pt__columns","columns--password","indent-field","is-adaptive"]},cm.node("div",{classes:"inner"},e.passwordLeft=cm.node("div",{classes:"column"}),e.passwordRight=cm.node("div",{classes:"column"})))),e.deleteGroup=cm.node("section",{classes:["tpl__block","tpl__block--field-group","has-border"],role:"group"},cm.node("div",{classes:"tpl__block__title"},cm.node("h5",{classes:"h5"},this.msg("groups.delete.label"))),e.deleteButton=Application.Buttons.embed({classes:["button-inline"],label:this.msg("groups.delete.button")})),this.nodes.content=e},n.renderFormFields=function(){let e=this;e.components.form.appendChild(e.nodes.content.nameGroup).add("input",{name:"firstname",sendPath:"profile.firstname",dataPath:"profile.firstname",required:!0,label:e.msg("fields.firstname"),placeholder:e.msg("fields.firstname"),showPlaceholderAbove:!0,className:"is-form-box is-no-label",container:e.nodes.content.nameLeft}).add("input",{name:"lastname",sendPath:"profile.lastname",dataPath:"profile.lastname",required:!0,label:e.msg("fields.lastname"),placeholder:e.msg("fields.lastname"),showPlaceholderAbove:!0,className:"is-form-box is-no-label",container:e.nodes.content.nameRight}).add("input",{name:"nickname",sendPath:"profile.nickname",dataPath:"profile.nickname",required:!0,label:e.msg("fields.nickname"),placeholder:e.msg("fields.nickname"),showPlaceholderAbove:!0,className:"is-form-box is-no-label",constructorParams:{events:{onBlur:e.nickNameBlurEvent.bind(e)}}}).add("email",{name:"email",required:!0,label:e.msg("fields.email"),placeholder:e.msg("fields.email"),showPlaceholderAbove:!0,className:"is-form-box is-no-label",constraints:[Application.FieldConstraints.emailFormat()],constructorParams:{events:{onInput:Application.FieldHandlers.emailInputEvent.bind(e)}}}).add("phone",{name:"mobile",sendPath:"profile.mobile",dataPath:"profile.mobile",required:!1,label:e.msg("fields.mobile"),placeholder:e.msg("fields.mobile"),showPlaceholderAbove:!0,className:"is-form-box is-no-label"}).add("select",{name:"country",sendPath:"profile.country",dataPath:"profile.country",required:!1,disabled:!0,visible:!e.hasOtherCountry,defaultValue:"usa",label:e.msg("fields.country"),placeholder:e.msg("fields.country"),showPlaceholderAbove:!0,options:Application.Intl.getCountriesOptions(),className:"is-form-box is-no-label"}).add("input",{name:"otherCountry",sendPath:"profile.otherCountry",dataPath:"profile.otherCountry",required:!1,disabled:!0,visible:e.hasOtherCountry,label:e.msg("fields.country"),placeholder:e.msg("fields.country"),showPlaceholderAbove:!0,className:"is-form-box is-no-label"}).appendChild(e.nodes.content.shortnameGroup).add("social-input",{name:"shortname",required:!1,validate:!0,minLength:3,maxLength:30,label:e.msg("fields.shortname.label"),className:"is-form-box is-no-label",strings:e.msgObject("fields.shortname.errors"),container:e.nodes.content.shortnameGroup,constructorParams:{prefix:App.getHrefHostname(App._env.baseUrl+"/@"),icon:Application.Images.embedIcon({icon:"copy",classes:["pull-right","linked","size-field","inset-small"],callback:()=>e.copyShortnameEvent()}),iconEvents:!1,iconTitle:e.msg("fields.shortname.icon"),iconInsertMethod:"appendChild",constraints:{onInput:[Ap
1plication.InputConstraints.shortname.bind(e)],onChange:[Application.InputConstraints.shortname.bind(e)]}}}).appendChild(e.nodes.content.bdayGroup).add("date-select",{name:"birthday",sendPath:"profile.birthday",dataPath:"profile.birthday",required:!1,label:e.msg("fields.birthday"),className:"is-form-box is-no-label",container:e.nodes.content.bdayGroup,constructorParams:{fields:["month","day"]}}).appendChild(e.nodes.content.passwordGroup).add("password",{name:"password",required:!1,validate:!0,minLength:6,maxLength:30,label:e.msg("fields.password"),placeholder:e.msg("fields.password"),showPlaceholderAbove:!0,className:"is-form-box is-no-label",autocomplete:"off",strings:e.msgObject("errors.password"),container:e.nodes.content.passwordLeft,events:{onValidate:()=>Application.FieldHandlers.passwordValidate.call(e,"password","repeat-password")},constructorParams:{limitMaxLength:!1}}).add("password",{name:"repeat-password",required:!1,validate:!0,send:!1,minLength:6,maxLength:30,label:e.msg("fields.repeatPassword"),placeholder:e.msg("fields.repeatPassword"),showPlaceholderAbove:!0,className:"is-form-box is-no-label",autocomplete:"off",strings:e.msgObject("errors.password"),container:e.nodes.content.passwordRight,constraints:[Application.FieldConstraints.passwordMatch.call(e,"password","repeat-password")],constructorParams:{limitMaxLength:!1}}).appendChild(e.nodes.content.deleteGroup)},n.nickNameBlurEvent=function(e,t){var n=this.getField("firstname").fieldController.get();cm.isEmpty(t)?(this.isNickNameFilledManually=!1,e.set(n)):this.isNickNameFilledManually=!0},n.copyShortnameEvent=function(){var e=this.getField("shortname"),t=e.fieldController.get();cm.isEmpty(t)||(t=App.getHref(e.inputController.getValuePreview()),this.components.clipboard.copy(t,e.inputController.getIcon()))},n.deleteSuccess=function(){Application.User.logout("index")}}),cm.define("Form.ProfileAvatarContainer",{extend:"App.FileBrowseFormContainer",params:{constructor:"Form.ProfileAvatar",browseParams:{accept:App._config.acceptImageCanvasFormats,fieldName:"image",valuePath:"profile.image.value"},placeholderParams:{constructorParams:{width:App._config.dialog.widthSmall}}}},function(){App.FileBrowseFormContainer.apply(this,arguments)}),cm.define("Form.ProfileAvatar",{extend:"Form.FileEmbed",params:{name:"profile-avatar",fileField:{name:"image",namePath:!1,sendPath:"profile.image",dataPath:"profile.image.id",valuePath:"profile.image.value"},fileForm:{allowUpdate:!0,constructorParams:{fileField:{type:"image-resize"},inputParams:{accept:App._config.acceptImageCanvasFormats,template:{modifiers:["avatar"],width:App._config.user.avatarWidth,height:App._config.user.avatarWidth},callbacks:{renderTemplate:()=>Application.User.embedAvatar(null,{modifiers:["image-resize"],renderBlank:null})}}}},ajax:{url:App._api.users.update,method:"PATCH",paramsType:"json"}}},function(){Form.FileEmbed.apply(this,arguments)}),cm.define("Form.ProfileBookingServicesContainer",{extend:"App.FormContainer",params:{constructor:"Form.ProfileBookingServices",placeholderParams:{constructorParams:{width:App._config.dialog.widthHalf,animateHeight:!0}}}},function(){App.FormContainer.apply(this,arguments)}),cm.define("Form.ProfileBookingServices",{extend:"App.Form",params:{name:"profile-booking-services",renderTitle:!1,renderContent:!0,renderNames:!1,validate:!0,validateOnChange:!0,sendEmptyForm:!0,sendEmptyFields:!0,data:{},instanceData:{},itemData:{},ajax:{url:App._api.users.update,method:"PATCH",paramsType:"json"}}},function(){App.Form.apply(this,arguments)}),cm.getConstructor("Form.ProfileBookingServices",function(e,t,n,a){n.onConstructStart=function(){this.servicesConfig=Application.User.getBookingServicesConfig(),a.prototype.onConstructStart.apply(this,arguments)},n.onValidateParams=function(){cm.isEmpty(this.params.instanceData)||(this.params.data=this.params.instanceData),a.prototype.onValidateParams.apply(this,arguments)},n.validateParamsData=function(t){let n=this;return cm.isArray(t.bookingServices)||(t.bookingServices=[]),t.bookingServices=t.bookingServices.filter(e=>n.servicesConfig[e?.name]),t._bookingServices={},cm.forEach(t.bookingServices,e=>{t._bookingServices[e.name]=e.url}),n.bookingServicesData=t._bookingServices,t},n.onConstructEnd=function(){cm.isEmpty(this.params.itemData)||this.setView(this.params.itemData),a.prototype.onConstructEnd.apply(this,arguments)},n.renderContentView=function(){let n=this,a={option:{},options:{},logos:{}};var e=n.params.name+"__group";a.container=cm.node("div",{classes:["tpl__block","tpl__block--booking-services-form"],"aria-hidden":!1},cm.node("h4",{id:e},n.msg("group.title")),a.holder=cm.node("div",{classes:"app__booking-services-group",role:"radiogroup","aria-labelledby":e})),cm.forEach(n.servicesConfig,(e,t)=>{a.options[t]=Application.Buttons.embed({title:e.name,role:"radio",ariaLabel:e.name,ariaChecked:!1,classes:["button-secondary",n.bookingServicesData[t]?"selected":null],modifiers:["option","booking-service-option"],container:a.holder,callback:()=>n.setView({name:t,url:n.bookingServicesData[t]})}),cm.isEmpty(e.logo)||Application.Images.embed({image:e.pref,alt:e.name,modifiers:["booking-service-option"],classes:["is-hover-cursor"],container:a.options[t],imageDataset:{pinNopin:"true"}})}),a.option.container=cm.node("div",{classes:["tpl__block","tpl__block--booking-services-form","is-hidden"],"aria-hidden":!0},a.option.nav=cm.node("div",{classes:"tpl__block__nav"},Application.Buttons.embed({modifiers:["editable"],label:n.msg("actions.back"),icons:{before:"chevronLeft"},callback:()=>n.unsetView()})),a.option.fields=cm.node("div",{classes:"tpl__block__field"})),n.nodes.content=a},n.toggleOptionListVisibility=function(e){var t=this.nodes.content;
1cm.toggleClass(t.container,"is-hidden",!e),t.container.setAttribute("aria-hidden",!e)},n.renderOptionItem=function(){var e=this.nodes.content,t=this.servicesConfig[this.params.itemData.name];t&&(cm.remove(e.option.logo),cm.isEmpty(t.logo)||(e.option.logo=cm.node("div",{classes:"tpl__block__logo"},Application.Images.embed({image:t.pref,alt:t.name,modifiers:["booking-service-form"],imageDataset:{pinNopin:"true"}})),cm.insertBefore(e.option.logo,e.option.fields)),cm.remove(e.option.help),cm.isEmpty(t.help)||(e.option.help=cm.node("div",{classes:"tpl__block__help",innerHTML:t.help}),cm.insertAfter(e.option.help,e.option.fields)))},n.toggleOptionItemVisibility=function(e){var t=this.nodes.content;cm.toggleClass(t.option.container,"is-hidden",!e),t.option.container.setAttribute("aria-hidden",!e)},n.renderFormFields=function(){let n=this;n.components.form.appendChild(n.nodes.content.container).appendChild(n.nodes.content.option.container).add("hidden-store",{name:"bookingServices",sendAlways:!0,outputValueType:"raw",inputValueType:"unset",defaultValue:[],constructorParams:{storeRaw:!0}}),cm.forEach(n.servicesConfig,(e,t)=>{n.components.form.add("url",{name:t,visible:!1,dataPath:"_bookingServices."+t,send:!1,validate:!1,label:e.name||t,placeholder:n.msg("field.placeholder"),showPlaceholderAbove:!0,className:["is-form-box","is-no-label","is-no-indent"],container:n.nodes.content.option.fields,constraints:[Application.FieldConstraints.urlFormat()],constructorParams:{events:{onChange:()=>n.setBookingServices()}}})})},n.setBookingServices=function(){var e=this.getField("bookingServices"),t=this.get("all");let n=[];cm.forEach(t,(e,t)=>{"bookingServices"===t||cm.isEmpty(e)||n.push({url:e,name:t})}),e.fieldController.set(n)},n.setView=function(e){this.unsetView(),this.params.itemData=e;let t=this.getField(this.params.itemData.name);t&&(t.fieldController.toggleVisibility(!0),t.fieldController.toggleValidate(!0),cm.onSchedule(()=>t.fieldController.focus()));e=this.nodes.content.options[this.params.itemData.name];e&&(cm.toggleClass(e,"active",!0),e.setAttribute("aria-checked",!0)),this.renderOptionItem(),this.toggleOptionListVisibility(!1),this.toggleOptionItemVisibility(!0)},n.unsetView=function(){var e;this.params.itemData&&((e=this.getField(this.params.itemData.name))&&(e.fieldController.toggleVisibility(!1),e.fieldController.toggleValidate(!1)),(e=this.nodes.content.options[this.params.itemData.name])&&(cm.toggleClass(e,"active",!1),e.setAttribute("aria-checked",!1)),this.toggleOptionListVisibility(!0),this.toggleOptionItemVisibility(!1),this.params.itemData=null)}}),cm.define("Form.ProfileCoverContainer",{extend:"App.FileBrowseFormContainer",params:{constructor:"Form.ProfileCover",browseParams:{accept:App._config.acceptImageCanvasFormats,fieldName:"cover",valuePath:"profile.cover.value"},placeholderParams:{constructorParams:{width:App._config.dialog.widthSmall}}}},function(){App.FileBrowseFormContainer.apply(this,arguments)}),cm.define("Form.ProfileCover",{extend:"Form.FileEmbed",params:{name:"profile-cover",fileField:{name:"image",namePath:!1,sendPath:"profile.cover",dataPath:"profile.cover.id",valuePath:"profile.cover.value"},fileForm:{allowUpdate:!0,constructorParams:{fileField:{type:"image-resize"},inputParams:{accept:App._config.acceptImageCanvasFormats,template:{modifiers:["cover"],width:App._config.user.coverWidth,height:App._config.user.coverHeight},callbacks:{renderTemplate:()=>Application.User.embedCover(null,{modifiers:["image-resize"],renderBlank:null})}}}},ajax:{url:App._api.users.update,method:"PATCH",paramsType:"json"}}},function(){Form.FileEmbed.apply(this,arguments)}),cm.define("Form.ProfilePasswordContainer",{extend:"App.FormContainer",params:{constructor:"Form.ProfilePassword",focusFieldOnOpen:"password",placeholderParams:{constructorParams:{width:App._config.dialog.widthSmall}}}},function(){App.FormContainer.apply(this,arguments)}),cm.define("Form.ProfilePassword",{extend:"App.Form",params:{name:"profile-password",renderTitle:!1,renderContent:!1,renderNames:!0,validate:!0,validateOnChange:!0,fieldsData:{},sendEmptyForm:!1,ajax:{url:App._api.users.update,method:"PATCH",paramsType:"json"}}}
1,function(){App.Form.apply(this,arguments)}),cm.getConstructor("Form.ProfilePassword",function(e,t,n,a){n.renderFormFields=function(){let e=this;e.components.form.add("password",{name:"password",required:!0,minLength:6,maxLength:30,placeholder:e.msg("fields.password"),showPlaceholderAbove:!0,className:"is-form-box is-no-label",autocomplete:"off",strings:e.msgObject("errors.password"),events:{onValidate:()=>Application.FieldHandlers.passwordValidate.call(e,"password","repeat-password")},constructorParams:{limitMaxLength:!1}}).add("password",{name:"repeat-password",required:!0,send:!1,minLength:6,maxLength:30,placeholder:e.msg("fields.repeatPassword"),showPlaceholderAbove:!0,className:"is-form-box is-no-label",autocomplete:"off",strings:e.msgObject("errors.password"),constraints:[Application.FieldConstraints.passwordMatch.call(e,"password","repeat-password")],constructorParams:{limitMaxLength:!1}})}}),cm.define("Form.ProfilePrivacyContainer",{extend:"App.FormContainer",params:{constructor:"Form.ProfilePrivacy",placeholderParams:{constructorParams:{width:App._config.dialog.widthSmall}}}},function(){App.FormContainer.apply(this,arguments)}),cm.define("Form.ProfilePrivacy",{extend:"App.Form",params:{name:"profile-privacy",renderTitle:!1,renderContent:!0,renderNames:!1,fieldsData:{},sendEmptyForm:!1,ajax:{url:App._api.users.update,method:"PATCH",paramsType:"json"}}},function(){App.Form.apply(this,arguments)}),cm.getConstructor("Form.ProfilePrivacy",function(e,t,n,o){n.onConstructEnd=function(){let t=this,n=t.getFields(["publicVisibility","privacy.profile","privacy.email","privacy.mobile","sendMeMessage"]),a=n.publicVisibility.fieldController.get();let s=[];cm.forEach(a,function(e){switch(e.field){case"all":n["privacy.profile"].fieldController.set(e.status,!1),t.toggleFieldsVisibility(e.status);break;case"email":n["privacy.email"].fieldController.set(e.status,!1);break;case"profile.mobile":n["privacy.mobile"].fieldController.set(e.status,!1)}s.push(e.field)}),cm.forEach(["all","email","profile.mobile"],e=>{cm.inArray(s,e)||a.push({field:e,status:!1})}),n.publicVisibility.fieldController.set(a),o.prototype.onConstructEnd.apply(t,arguments)},n.renderContentView=function(){var e={};e.container=cm.node("div",{classes:["tpl__block","tpl__block--profile-privacy-form","is-hidden"],"aria-hidden":!0,"aria-live":"polite"},cm.node("div",{classes:["tpl__block__help","is-warning"],innerHTML:this.msg("help.profile")})),this.nodes.content=e},n.renderFormFields=function(){var e=this;e.components.form.add("hidden-store",{name:"publicVisibility",outputValueType:"raw",inputValueType:"unset",constructorParams:{storeRaw:!0}}).add("checkbox",{name:"privacy.profile",required:!1,send:!1,placeholder:e.msg("fields.profile"),className:["is-form-box","is-no-label","is-list-indent"],events:{onChange:e.privacyChangeEvent.bind(e)},constructorParams:{contentClassName:["is-flex-reverse","has-hover"],contentIcon:Application.Images.embedIcon({icon:"member-border",classes:["small"],ariaHidden:!0})}}).add("checkbox",{name:"privacy.email",required:!1,send:!1,placeholder:e.msg("fields.email"),className:["is-form-box","is-no-label","is-list-indent"],events:{onChange:e.privacyChangeEvent.bind(e)},constructorParams:{contentClassName:["is-flex-reverse","has-hover"],contentIcon:Application.Images.embedIcon({icon:"email",classes:["small"],ariaHidden:!0})}}).add("checkbox",{name:"privacy.mobile",required:!1,send:!1,visible:Application.User.isBeautician(),placeholder:e.msg("fields.mobile"),className:["is-form-box","is-no-label","is-list-indent"],events:{onChange:e.privacyChangeEvent.bind(e)},constructorParams:{contentClassName:["is-flex-reverse","has-hover"],contentIcon:Application.Images.embedIcon({icon:"mobile",classes:["small"],ariaHidden:!0})}}).add("checkbox",{name:"sendMeMessage",required:!1,values:{checked:"allow",unchecked:"disallow"},placeholder:e.msg("fields.messages"),className:["is-form-box","is-no-label","is-list-indent"],constructorParams:{contentClassName:["is-flex-reverse","has-hover"],contentIcon:Application.Images.embedIcon({icon:"message-border",classes:["small"],ariaHidden:!0})}}).appendChild(e.nodes.content.container)},n.privacyChangeEvent=function(){let t=this,n=t.getFields(["publicVisibility","privacy.profile","privacy.email","privacy.mobile","sendMeMessage"]);var e=n.publicVisibility.fieldController.get();cm.forEach(e,function(e){switch(e.field){case"all":e.status=n["privacy.profile"].fieldController.get(),t.toggleFieldsVisibility(e.status);break;case"email":e.status=n["privacy.email"].fieldController.get();break;case"profile.mobile":e.status=n["privacy.mobile"].fieldController.get()}}),n.publicVisibility.fieldController.set(e)},n.toggleFieldsVisibility=function(e){var t=this.getFields(["publicVisibility","privacy.profile","privacy.email","privacy.mobile","sendMeMessage"]);e?(t["privacy.email"].fieldController.enable(),t["privacy.mobile"].fieldController.enable(),t.sendMeMessage.fieldController.enable()):(t["privacy.email"].fieldController.disable(),t["privacy.mobile"].fieldController.disable(),t.sendMeMessage.fieldController.disable()),cm.toggleClass(this.nodes.content.container,"is-
1hidden",e),this.nodes.content.container.setAttribute("aria-hidden",e)}}),cm.define("Form.ProfileProfessionalCredentialsContainer",{extend:"App.FormContainer",params:{constructor:"Form.ProfileProfessionalCredentials"}},function(){App.FormContainer.apply(this,arguments)}),cm.define("Form.ProfileProfessionalCredentials",{extend:"App.Form",params:{name:"profile-professional-credentials",renderContent:!1,validate:!0,validateOnChange:!0,sendEmptyForm:!1,ajax:{url:App._api.users.update,method:"PATCH",paramsType:"json"}}},function(){App.Form.apply(this,arguments)}),cm.getConstructor("Form.ProfileProfessionalCredentials",function(e,t,n,a){n.renderFormFields=function(){this.components.form.add("input",{name:"professionalCredential",sendPath:"profile.professionalCredential",dataPath:"profile.professionalCredential",required:!1,placeholder:this.msg("fields.professionalCredential"),showPlaceholderAbove:!0,className:["is-form-box","is-no-label"]}).add("input",{name:"productCertification",sendPath:"profile.productCertification",dataPath:"profile.productCertification",required:!1,placeholder:this.msg("fields.productCertification"),showPlaceholderAbove:!0,className:["is-form-box","is-no-label"]}).add("input",{name:"procedureCertification",sendPath:"profile.procedureCertification",dataPath:"profile.procedureCertification",required:!1,placeholder:this.msg("fields.procedureCertification"),showPlaceholderAbove:!0,className:["is-form-box","is-no-label"]})}}),cm.define("Form.ProfileSocialContainer",{extend:"App.FormContainer",params:{constructor:"Form.ProfileSocial",focusFieldOnOpen:"occupation",placeholderParams:{constructorParams:{width:App._config.dialog.widthLarge}}}},function(){App.FormContainer.apply(this,arguments)}),cm.define("Form.ProfileSocial",{extend:"App.Form",events:["onSkip"],params:{name:"profile-social",validate:!0,validateOnChange:!0,showNotifications:!0,renderTitle:!1,renderContent:!0,renderButtonsSeparator:!1,buttonsAlign:"center",renderNames:!0,sendEmptyForm:!1,ajax:{url:App._api.users.update,method:"PATCH",paramsType:"json"},overlayParams:{lazy:!1,theme:"transparent",showSpinner:!1,showContent:!1}}},function(){App.Form.apply(this,arguments)}),cm.getConstructor("Form.ProfileSocial",function(e,t,n,a){n.onConstructStart=function(){a.prototype.onConstructStart.apply(this,arguments),this.skipHanlder=this.skip.bind(this)},n.renderContentView=function(){var e={};(this.nodes.content=e).container=cm.node("div",{class:"pt__columns is-adaptive field-outer-indent indent-block"},cm.node("div",{class:"inner"},e.left=cm.node("div",{class:"column"}),e.right=cm.node("div",{class:"column"})))},n.renderFormFields=function(){var e=this;e.components.form.appendChild(e.nodes.content.container).add("input",{name:"school",sendPath:"profile.school",dataPath:"profile.school",placeholder:e.msg("fields.school"),showPlaceholderAbove:!0,className:"is-form-box is-no-label",container:e.nodes.content.left}).add("input",{name:"certifications",sendPath:"profile.certifications",dataPath:"profile.certifications",placeholder:e.msg("fields.certifications"),showPlaceholderAbove:!0,className:"is-form-box is-no-label",container:e.nodes.content.left}).add("input",{name:"occupation",sendPath:"profile.occupation",dataPath:"profile.occupation",placeholder:e.msg("fields.occupation"),showPlaceholderAbove:!0,className:"is-form-box is-no-label",container:e.nodes.content.left}).add("input",{name:"employment",sendPath:"profile.employment",dataPath:"profile.employment",placeholder:e.msg("fields.employment"),showPlaceholderAbove:!0,className:"is-form-box is-no-label",container:e.nodes.content.left}).add("textarea",{name:"biography",sendPath:"profile.biography",dataPath:"profile.biography",placeholder:e.msg("fields.biography"),showPlaceholderAbove:!0,className:"is-form-box is-no-label",container:e.nodes.content.left}).add("social-input",{name:"facebook",sendPath:"profile.facebook",dataPath:"profile.facebook",title:e.msg("fields.facebook"),className:"is-form-box is-no-label",container:e.nodes.content.right,constructorParams:{icon:"facebook",prefix:"facebook.com/"}}).add("social-input",{name:"twitter",sendPath:"profile.twitter",dataPath:"profile.twitter",title:e.msg("fields.twitter"),className:"is-form-box is-no-label",container:e.nodes.content.right,constructorParams:{icon:"twitter",prefix:"@"}}).add("social-input",{name:"instagram",sendPath:"profile.instagram",dataPath:"profile.instagram",title:e.msg("fields.instagram"),className:"is-form-box is-no-label",container:e.nodes.content.right,constructorParams:{icon:"instagram",prefix:"instagram.com/"}}).add("social-input",{name:"youtube",sendPath:"profile.youtube",dataPath:"profile.youtube",title:e.msg("fields.youtube"),className:"is-form-box is-no-label",container:e.nodes.content.right,constructorParams:{icon:"youtube",prefix:"@"}}).add("social-input",{name:"pinterest",sendPath:"profile.pinterest",dataPath:"profile.pinterest",title:e.msg("fields.pinterest"),className:"is-form-box is-no-label",container:e.nodes.content.right,constructorParams:{icon:"pinterest",prefix:"pinterest.com/"}}).add("social-input",{name:"snapchat",sendPath:"profile.snapchat",dataPath:"profile.snapchat",title:e.msg("fields.snapchat"),className:"is-form-box is-no-label",container:e.nodes.content.right,constructorParams:{icon:"snapchat",prefix:"snapchat.com/add/"}}).add("social-input",{name:"tumblr",sendPath:"profile.tumblr",dataPath:"profile.tumblr",title:e.msg("fields.tumblr"),className:"is-form-box is-no-label",container:e.nodes.content.right,constructorParams:{icon:"tumblr",prefix:"@"}})},n.renderFormButtons=function(){this.components.form.addButton({name:"skip",action:"custom",label:this.msg("skip"),classes:["button--round","button--border","button--xlarge"],handler:this.skipHanlder}).addButton({name:"send",action:"submit",label:this.msg("send"),classes:["button--round","button--xlarge"],spinner:!0,spinnerClasses:["large"]})},n.skip=function(){this.triggerEvent("onSkip")}}),cm.define("Form.ProfileSocialLinksContainer",{extend:"App.FormContainer",params:{constructor:"Form.ProfileSocialLinks",focusFieldOnOpen:"facebook",placeholderParams:{constructorParams:{width:App._config.dialog.widthSmall}}}},function(){App.FormContainer.apply(this,arguments)}),cm.define("Form.ProfileSocialLinks",{extend:"App.Form",params:{name:"profile-social-links",renderTitle:!1,renderContent:!1,renderNames:!0,validate:!0,validateOnChange:!0,sendEmptyForm:!1,ajax:{url:App._api.users.update,method:"PATCH",paramsType:"json"}}}
1,function(){App.Form.apply(this,arguments)}),cm.getConstructor("Form.ProfileSocialLinks",function(e,t,n,a){n.renderFormFields=function(){this.components.form.add("social-input",{name:"facebook",sendPath:"profile.facebook",dataPath:"profile.facebook",title:this.msg("fields.facebook"),className:"is-form-box is-no-label",constructorParams:{icon:"facebook",prefix:"facebook.com/"}}).add("social-input",{name:"twitter",sendPath:"profile.twitter",dataPath:"profile.twitter",title:this.msg("fields.twitter"),className:"is-form-box is-no-label",constructorParams:{icon:"twitter",prefix:"@"}}).add("social-input",{name:"instagram",sendPath:"profile.instagram",dataPath:"profile.instagram",title:this.msg("fields.instagram"),className:"is-form-box is-no-label",constructorParams:{icon:"instagram",prefix:"instagram.com/"}}).add("social-input",{name:"youtube",sendPath:"profile.youtube",dataPath:"profile.youtube",title:this.msg("fields.youtube"),className:"is-form-box is-no-label",constructorParams:{icon:"youtube",prefix:"@"}}).add("social-input",{name:"pinterest",sendPath:"profile.pinterest",dataPath:"profile.pinterest",title:this.msg("fields.pinterest"),className:"is-form-box is-no-label",constructorParams:{icon:"pinterest",prefix:"pinterest.com/"}}).add("social-input",{name:"snapchat",sendPath:"profile.snapchat",dataPath:"profile.snapchat",title:this.msg("fields.snapchat"),className:"is-form-box is-no-label",constructorParams:{icon:"snapchat",prefix:"snapchat.com/add/"}}).add("social-input",{name:"tumblr",sendPath:"profile.tumblr",dataPath:"profile.tumblr",title:this.msg("fields.tumblr"),className:"is-form-box is-no-label",constructorParams:{icon:"tumblr",prefix:"@"}})}}),cm.define("Form.ProfileTalentsContainer",{extend:"App.FormContainer",params:{constructor:"Form.ProfileTalents"}},function(){App.FormContainer.apply(this,arguments)}),cm.define("Form.ProfileTalents",{extend:"App.Form",params:{name:"profile-talents",renderContent:!0,validate:!0,validateOnChange:!0,ajax:{url:App._api.users.update,method:"PATCH",type:"json",paramsType:"json"}}},function(){App.Form.apply(this,arguments)}),cm.getConstructor("Form.ProfileTalents",function(e,t,n,a){n.onConstructEnd=function(){this.toggleFieldsVisibility(),a.prototype.onConstructEnd.apply(this,arguments)},n.renderContentView=function(){var e={};return e.container=cm.node("div",{classes:"cm__box",innerHTML:this.msg("description")}),(this.nodes.content=e).container},n.renderFormFields=function(){let e=this;e.components.form.add("checkbox",{name:"enable",sendPath:"lookingForTalents",dataPath:"lookingForTalents",required:!1,values:{checked:"yes",unchecked:"no"},placeholder:e.msg("fields.enable"),className:["is-form-box","is-no-label","is-list-indent"],events:{onChange:()=>e.toggleFieldsVisibility()},constructorParams:{contentClassName:["has-hover"]}}).add("checkbox",{name:"train",sendPath:"willingToTrain",dataPath:"willingToTrain",required:!1,values:{checked:"yes",unchecked:"no"},placeholder:e.msg("fields.train"),className:["is-form-box","is-no-label"],constructorParams:{contentClassName:["has-hover"]}}).add("textarea",{name:"notes",sendPath:"lookingForTalentsNotes",dataPath:"lookingForTalentsNotes",label:e.msg("fields.notes.label"),required:!1,placeholder:e.msg("fields.notes.placeholder"),className:["is-form-box","is-no-label"],constructorParams:{autoResize:!0}})},n.toggleFieldsVisibility=function(){var e=this.getFields(["enable","train","notes"]),t=e.enable.fieldController.get();e.train.fieldController.toggleVisibility("yes"===t),e.notes.fieldController.toggleVisibility("yes"===t)}}),cm.define("Form.ProfileIndividualWorkingDetails",{extend:"App.Form",params:{name:"profile-working-details",renderTitle:!1,renderContent:!1,renderNames:!1,validate:!0,validateOnChange:!0,fieldsData:{},sendEmptyForm:!1,ajax:{url:App._api.users.update,method:"PATCH",paramsType:"json"}}},function(){App.Form.apply(this,arguments)}),cm.getConstructor("Form.ProfileIndividualWorkingDetails",function(e,t,n,a){n.validateParamsData=function(e){return cm.isEmpty(e.profile.address)||(e._location={text:e.profile.address,value:{lat:parseFloat(e.profile.latitude),lng:parseFloat(e.profile.longitude)}}),e},n.renderFormFields=function(){var e=this;e.components.form.add("hidden",{name:"latitude",sendPath:"profile.latitude",dataPath:"profile.latitude",defaultValue:"0",inputValueType:"unset"}).add("hidden",{name:"longitude",sendPath:"profile.longitude",dataPath:"profile.longitude",defaultValue:"0",inputValueType:"unset"}).add("hidden",{name:"address",sendPath:"profile.address",dataPath:"profile.address"}).add("textarea",{name:"biography",sendPath:"profile.biography",dataPath:"profile.biography",placeholder:e.msg("fields.biography"),showPlaceholderAbove:!0,className:"is-form-box is-no-label",constructorParams:{autoResize:!0}}).add("input",{name:"school",sendPath:"profile.school",dataPath:"profile.school",placeholder:e.msg("fields.school"),showPlaceholderAbove:!0,className:"is-form-box is-no-label"}).add("input",{name:"occupation",sendPath:"profile.occupation",dataPath:"profile.occupation",placeholder:e.msg("fields.occupation"),showPlaceholderAbove:!0,className:"is-form-box is-no-label"}).add("location-autocomplete",{name:"location",dataPath:"_location",send:!1,placeholder:e.msg("fields.address.label"),showPlaceholderAbove:!0,hint:e.msg("fields.address.hint"),icon:"icon pull-right linked svg__search",className:"is-form-box is-no-label",constructorParams:{contentClassName:["has-icon-after"],events:{onChange:e.locationChangeEvent.bind(e)}}}).add("select",{name:"speciality",required:!0,multiple:!0,placeholder:e.msg("fields.specialityFilter.label"),hint:e.msg("fields.specialityFilter.hint.individual"),options:Application.getSpecialityOptions(e.params.fieldsData.speciality),max:2,className:"is-form-box is-no-label",constructorParams:{showPlaceholderAbove:!0}})},n.locationChangeEvent=function(e){var t=this.getFields(["latitude","longitude","address"]),n=e.getRaw()||{lat:0,lng:0},a=cm.isNumber(n.lat)?n.lat:0,n=cm.isNumber(n.lng)?n.lng:0,e=e.getText()||"";t.latitude.fieldController.set(a.toString()),t.longitude.fieldController.set(n.toString()),t.address.fieldController.set(e)}}),cm.define("Form.ProfileSalonWorkingDetails",{extend:"App.Form",params:{name:"profile-working-details",renderTitle:!1,renderContent:!1,renderNames:!1,validate:!0,validateOnChange:!0,fieldsData:{},sendEmptyForm:!1,ajax:{url:App._api.users.update,method:"PATCH",paramsType:"json"}}}
1,function(){App.Form.apply(this,arguments)}),cm.getConstructor("Form.ProfileSalonWorkingDetails",function(e,t,n,a){n.validateParamsData=function(e){return cm.isEmpty(e.profile.address)||(e._location={text:e.profile.address,value:{lat:parseFloat(e.profile.latitude),lng:parseFloat(e.profile.longitude)}}),e},n.renderFormFields=function(){this.components.form.add("hidden",{name:"latitude",sendPath:"profile.latitude",dataPath:"profile.latitude",defaultValue:"0",inputValueType:"unset"}).add("hidden",{name:"longitude",sendPath:"profile.longitude",dataPath:"profile.longitude",defaultValue:"0",inputValueType:"unset"}).add("hidden",{name:"address",sendPath:"profile.address",dataPath:"profile.address"}).add("textarea",{name:"biography",sendPath:"profile.biography",dataPath:"profile.biography",placeholder:this.msg("fields.biography"),showPlaceholderAbove:!0,className:"is-form-box is-no-label",constructorParams:{autoResize:!0}}).add("location-autocomplete",{name:"location",dataPath:"_location",send:!1,placeholder:this.msg("fields.address.label"),showPlaceholderAbove:!0,hint:this.msg("fields.address.hint"),icon:"icon pull-right linked svg__search",className:"is-form-box is-no-label",constructorParams:{contentClassName:["has-icon-after"],events:{onChange:this.locationChangeEvent.bind(this)}}}).add("select",{name:"speciality",required:!0,multiple:!0,placeholder:this.msg("fields.specialityFilter.label"),hint:this.msg("fields.specialityFilter.hint.salon"),options:Application.getSpecialityOptions(this.params.fieldsData.speciality),className:"is-form-box is-no-label",constructorParams:{contentClassName:["has-icon-after"],showPlaceholderAbove:!0}})},n.locationChangeEvent=function(e){var t=this.getFields(["latitude","longitude","address"]),n=e.getRaw()||{lat:0,lng:0},a=cm.isNumber(n.lat)?n.lat:0,n=cm.isNumber(n.lng)?n.lng:0,e=e.getText()||"";t.latitude.fieldController.set(a.toString()),t.longitude.fieldController.set(n.toString()),t.address.fieldController.set(e)}}),cm.define("Form.ProfileWorkingHoursContainer",{extend:"App.FormContainer",params:{constructor:"Form.ProfileWorkingHours",focusFieldOnOpen:0}},function(){App.FormContainer.apply(this,arguments)}),cm.define("Form.ProfileWorkingHours",{extend:"App.Form",params:{name:"profile-working-hours",renderTitle:!1,renderContent:!1,renderNames:!1,validate:!0,validateOnChange:!0,fieldsData:{},sendEmptyForm:!1,ajax:{url:App._api.users.update,method:"PATCH",paramsType:"json"}}},function(){App.Form.apply(this,arguments)}),cm.getConstructor("Form.ProfileWorkingHours",function(e,t,n,a){n.renderFormFields=function(){let t=this;t.components.form.add("hidden-store",{name:"workinghours",outputValueType:"raw",inputValueType:"unset",constructorParams:{storeRaw:!0}}
1),cm.forEach(App._config.user.workingHours,e=>{t.components.form.add("working-hour-field",{name:e,dataPath:"workinghours",send:!1,label:t.msg("fields."+e),constructorParams:{events:{onSelect:t.setWorkingHourEvent.bind(t)}}})})},n.setWorkingHourEvent=function(){var e=this.getFields(App._config.user.workingHours);let t=[];cm.forEach(e,e=>{t.push(e.fieldController.get())}),this.getField("workinghours").fieldController.set(t)}}),cm.define("Form.Register",{extend:"App.Form",params:{name:"individual",pageTerms:"Professional-Terms-of-Service",pagePolicy:"privacy-policy",maxWidth:null,maxSpeciality:2,renderNames:!0,renderTitle:!1,renderContent:!1,renderButtonSpinner:!0,renderButtonsSeparator:!1,buttonsAlign:"center",validate:!0,validateOnChange:!0,sendEmptyFields:!1,responseMessageCodeKey:"error",responseMessageDetailsKey:"details",ajax:{url:App._api.register_technician,paramsType:"form-data"},overlayParams:{lazy:!1,theme:"transparent",showSpinner:!1,showContent:!1}}},function(){App.Form.apply(this,arguments)}),cm.getConstructor("Form.Register",function(e,t,n,a){n.onValidateParams=function(){if(!this.params.maxWidth)try{this.params.maxWidth=parseInt(cm.getCSSVariable("--template-width"))}catch{}a.prototype.onValidateParams.apply(this,arguments)},n.validateParamsData=function(e){return e.clientid||=e.client_id||e.clientId,e.dataState||=e.data_state,e.firstname=e.first_name||e.firstname,e.lastname=e.last_name||e.business_name||e.lastname,e.nickname=e.lastname,e.state=e.state?.trim(),e},n.renderFormFields=function(){let n=this;n.components.form.add("hidden",{name:"clientid",defaultValue:App._env.clientId}).add("hidden",{name:"language",defaultValue:cm._locale}).add("hidden",{name:"source",defaultValue:"website"}).add("hidden",{name:"dataState"}).add("hidden",{name:"profession"}).add("hidden",{name:"expired"}).add("hidden",{name:"type"}).add("hidden",{name:"address"}).add("hidden",{name:"latitude"}).add("hidden",{name:"longitude"}).add("hidden",{name:"image"}).add("hidden",{name:"firstname"}).add("hidden",{name:"lastname"}).add("hidden",{name:"email"}).add("hidden",{name:"state"}).add("hidden",{name:"number"}).add("hidden",{name:"nickname"}).appendChild(cm.node("h3",{classes:"h5"},n.msg("fields.licenseCards"))).add("verification-cards",{name:"verification",required:!0,send:!1,outputValueType:"raw",className:["is-form-box","is-no-label"],events:{onChange:(e,t)=>
1n.verificationChangeEvent(t)}}).add("speciality-filter",{name:"speciality",required:!0,placeholder:n.msg("fields.specialityFilter.label"),hint:n.msg("fields.specialityFilter.hint."+n.params.name),className:"is-form-box is-no-label",max:n.params.maxSpeciality,outputValueType:"raw",inputValueType:"unset",constructorParams:{strings:n.langObject("fields.specialityFilter.field"),adaptive:!1,emptyState:"none",request:{enable:!0},button:{classes:["input"]},tooltip:{constructorParams:{width:n.params.maxWidth,left:"- (selfWidth - targetWidth) / 2",adaptiveX:!0,adaptiveY:!1}}}}).add("checkbox",{name:"confirm",required:!0,send:!1,placeholder:n.msgParse("fields.confirmRegister",{linkTerms:Router.getURL("page",null,{id:n.params.pageTerms}),linkPolicy:Router.getURL("page",null,{id:n.params.pagePolicy})}),placeholderAsterisk:!1,className:"is-form-box is-no-label"})},n.verificationChangeEvent=function(e){let t=this.get();(t=cm.isEmpty(e)?t:cm.merge(t,e)).nickname=t.lastname,t.state=t.state?.trim(),this.set(t)},n.setStatesData=function(e){return this.states=e.strings&&e.strings["signup-licenseno"]||{},this.manualStates=e["manual-states"]||[],this},n.setCards=function(e){return this.getField("verification").inputController.setCards(e),this}}),cm.define("Form.RegisterAustralia",{extend:"App.Form",params:{name:"register",renderNames:!0,renderTitle:!1,renderContent:!0,renderButtonsSeparator:!1,renderButtonSpinner:!0,buttonsAlign:"center",validate:!0,validateOnChange:!0,showNotifications:!0,ajax:{url:App._api.form,method:"POST",type:"json",paramsType:"form-data",variables:{slug:"openid_australia"}}}},function(){App.Form.apply(this,arguments)}),cm.getConstructor("Form.RegisterAustralia",function(e,t,n,a){n.onConstructEnd=function(){this.setRoleField(this.params.activeTab),a.prototype.onConstructEnd.apply(this,arguments)},n.validateParamsData=function(e){return e.clientId=e.clientId||e.client_id,e},n.renderContentView=function(){var e={};e.name=cm.node("section",{classes:["pt__columns","columns--name","field-outer-indent","indent-field"],role:"group"},cm.node("div",{classes:"inner"},e.firstName=cm.node("div",{classes:"column"}),e.lastName=cm.node("div",{classes:"column"}))),e.fileGroup=cm.node("section",{classes:["tpl__block","tpl__block--field-group","has-border"],role:"group"},cm.node("div",{classes:"tpl__block__title"},cm.node("h5",{classes:"h5"},this.msg("groups.file.title")),cm.node("p",this.msg("groups.file.description")))),this.nodes.content=e},n.renderFormFields=function(){let e=this;e.components.form.add("hidden",{name:"clientId",defaultValue:App._env.clientId}).add("hidden",{name:"data_state"}).add("hidden",{name:"language",defaultValue:cm._locale}).add("hidden",{name:"source",defaultValue:"website"}).add("hidden",{name:"country",defaultValue:"other"}).add("hidden",{name:"otherCountry",defaultValue:"Australia"}).appendChild(e.nodes.content.name).add("input",{name:"first_name",required:!0,maxLength:255,placeholder:e.msg("fields.firstname"),showPlaceholderAbove:!0,className:"is-form-box is-no-label",container:e.nodes.content.firstName}).add("input",{name:"last_name",required:!0,maxLength:255,placeholder:e.msg("fields.lastname"),showPlaceholderAbove:!0,className:"is-form-box is-no-label",container:e.nodes.content.lastName}).add("input",{name:"business_name",required:!0,maxLength:255,placeholder:e.msg("fields.businessname"),showPlaceholderAbove:!0,className:"is-form-box is-no-label"}).add("email",{name:"email",required:!0,maxLength:255,placeholder:e.msg("fields.email"),showPlaceholderAbove:!0,className:"is-form-box is-no-label",constraints:[Application.FieldConstraints.emailFormat()],constructorParams:{events:{onInput:Application.FieldHandlers.emailInputEvent.bind(e)}}}).add("url",{name:"website",required:!0,maxLength:255,placeholder:e.msg("fields.website"),showPlaceholderAbove:!0,className:"is-form-box is-no-label"}).add("input",{name:"abn",required:!0,maxLength:255,placeholder:e.msg("fields.abn"),showPlaceholderAbove:!0,className:"is-form-box is-no-label"}).add("select",{name:"licenseCategory",required:!0,placeholder:e.msg("fields.licenseCategory.label"),showPlaceholderAbove:!0,options:e.getLicenseCategoryOptions(),className:["is-form-box","is-no-label"]}).appendChild(e.nodes.content.fileGroup).add("file",{name:"registration_certificate",required:!0,label:e.msg("fields.registration_certificate"),placeholder:e.msgParse("hints.file",{formats:App._config.acceptLicenseFileExtensions}),className:"is-form-box",container:e.nodes.content.fileGroup,constructorParams:{accept:App._config.acceptLicenseFileFormats,acceptSizes:{max:App._config.acceptFileSize},buttonsAdaptive:!0},events:{onChange:()=>e.validateFileDocuments()}}).add("file",{name:"qualification_diploma",required:!1,label:e.msg("fields.qualification_diploma"),placeholder:e.msgParse("hints.file",{formats:App._config.acceptLicenseFileExtensions}),className:"is-form-box",container:e.nodes.content.fileGroup,constructorParams:{accept:App._config.acceptLicenseFileFormats,acceptSizes:{max:App._config.acceptFileSize},buttonsAdaptive:!0},events:{onChange:()=>e.validateFileDocuments()}}).add("file",{name:"educational_certificate",required:!1,label:e.msg("fields.educational_certificate"),placeholder:e.msgParse("hints.file",{formats:App._config.acceptLicenseFileExtensions}),className:"is-form-box",container:e.nodes.content.fileGroup,constructorParams:{accept:App._config.acceptLicenseFileFormats,acceptSizes:{max:App._config.acceptFileSize},buttonsAdaptive:!0},events:{onChange:()=>e.validateFileDocuments()}}).addConstraint(cm.constraintsCallback(e.validateFileDocuments.bind(e)))},n.getLicenseCategoryOptions=function(){let n=[{value:"",text:this.msg("placeholders.select"),isPlaceholder:!0}];var e=this.msgObject("fields.licenseCategory.options");return cm.forEach(e,(e,t)=>{n.push({value:t,text:e})}),n},n.setRoleField=function(a){let s=this;var e=s.getFields(["first_name","last_name","business_name"]);s.params.renderTabs&&s.nodes.content.tabs.toggleItems(a),cm.forEach(e,(e,t)=>{var n="salon"===a&&"business_name"===t||"individual"===a&&"business_name"!==t;e.fieldController.toggleRequired(n),e.fieldController.toggleVisibility(n),s.setFieldParams(t,{send:n})}),s.nodes.content.name.setAttribute("aria-hidden","salon"===a),cm.toggleClass(s.nodes.content.name,"is-hidden","salon"===a)},n.validateFileDocuments=function(){var e=this.getFields(["registration_certificate","qualification_diploma","educational_certificate"]),t=Object.values(e).map(e=>e.fieldController.get()).filter(e=>!cm.isEmpty(e)),e=e.registration_certificate.fieldController.validate()&&2<=t.length;return cm.toggleClass(this.nodes.content.fileGroup,"error",!e),e}}),cm.define("Form.RegisterEnthusiast",{extend:"App.Form",params:{name:"register",pageTerms:"Enthusiast-Terms-of-Service",pagePolicy:"privacy-policy",renderNames:!0,renderTitle:!1,renderContent:!0,renderButtonSpinner:!0,renderButtonsSeparator:!1,buttonsAlign:"center",validate:!0,validateOnChange:!0,ajax:{url:App._api.register_consumer,paramsType:"json"},overlayParams:{lazy:!1,theme:"transparent",showSpinner:!1,showContent:!1}}}
1,function(){App.Form.apply(this,arguments)}),cm.getConstructor("Form.RegisterEnthusiast",function(e,t,n,a){n.onConstructStart=function(){this.isNickNameFilledManually=!1,a.prototype.onConstructStart.apply(this,arguments)},n.renderContentView=function(){var e={};e.container=cm.node("div",{classes:"pt__columns columns--name field-outer-indent indent-field"},cm.node("div",{classes:"inner"},e.left=cm.node("div",{classes:"column"}),e.right=cm.node("div",{classes:"column"}))),this.nodes.content=e},n.renderFormFields=function(){let e=this;e.components.form.add("hidden",{name:"source",defaultValue:"website"}).appendChild(e.nodes.content.container).add("input",{name:"firstname",sendPath:"profile.firstname",required:!0,placeholder:e.msg("fields.firstname"),showPlaceholderAbove:!0,className:"is-form-box is-no-label",container:e.nodes.content.left,constructorParams:{events:{onInput:e.firstNameInputEvent.bind(e)}}}).add("input",{name:"lastname",sendPath:"profile.lastname",required:!0,placeholder:e.msg("fields.lastname"),showPlaceholderAbove:!0,className:"is-form-box is-no-label",container:e.nodes.content.right}).add("input",{name:"nickname",sendPath:"profile.nickname",required:!0,placeholder:e.msg("fields.nickname"),showPlaceholderAbove:!0,className:"is-form-box is-no-label",constructorParams:{events:{onBlur:e.nickNameBlurEvent.bind(e)}}}).add("email",{name:"email",required:!0,placeholder:e.msg("fields.email"),showPlaceholderAbove:!0,className:"is-form-box is-no-label",constraints:[Application.FieldConstraints.emailFormat()],constructorParams:{events:{onInput:Application.FieldHandlers.emailInputEvent.bind(e)}}}).add("password",{name:"password",required:!0,minLength:6,maxLength:30,placeholder:e.msg("fields.password"),showPlaceholderAbove:!0,className:"is-form-box is-no-label",strings:e.msgObject("errors.password"),events:{onValidate:()=>Application.FieldHandlers.passwordValidate.call(e,"password","repeat-password")},constructorParams:{limitMaxLength:!1}}).add("password",{name:"repeat-password",required:!0,send:!1,minLength:6,maxLength:30,placeholder:e.msg("fields.repeatPassword"),showPlaceholderAbove:!0,className:"is-form-box is-no-label",strings:e.msgObject("errors.password"),constraints:[Application.FieldConstraints.passwordMatch.call(e,"password","repeat-password")],constructorParams:{limitMaxLength:!1}}).add("states-autocomplete",{name:"state",sendPath:"profile.state",required:!0,placeholder:e.msg("fields.state"),showPlaceholderAbove:!0,icon:"icon pull-right linked svg__search",className:"is-form-box is-no-label"}).add("checkbox",{name:"subscribe",sendPath:"profile.subscribe",required:!0,placeholder:e.msgParse("fields.confirmRegister",{linkTerms:Router.getURL("page",null,{id:e.params.pageTerms}),linkPolicy:Router.getURL("page",null,{id:e.params.pagePolicy})}),placeholderAsterisk:!1,className:"is-form-box is-no-label"})},n.firstNameInputEvent=function(e,t){var n=this.getField("nickname");this.isNickNameFilledManually||n.fieldController.set(t)},n.nickNameBlurEvent=function(e,t){var n=this.getField("firstname").fieldController.get();cm.isEmpty(t)?(this.isNickNameFilledManually=!1,e.set(n)):this.isNickNameFilledManually=!0}}),cm.define("Form.RegisterIndividual",{extend:"Form.Register",params:{name:"individual",maxSpeciality:2,ajax:{url:App._api.register_technician}}},function(){Form.Register.apply(this,arguments)}),cm.define("Form.RegisterOther",{extend:"App.Form",params:{name:"register",renderNames:!0,renderTitle:!1,renderContent:!0,renderButtonsSeparator:!1,renderButtonSpinner:!0,buttonsAlign:"center",renderTabs:!0,activeTab:"individual",renderCountryField:!0,defaultCountry:null,validate:!0,validateOnChange:!0,showNotifications:!0,ajax:{url:App._api.form,method:"POST",type:"json",paramsType:"form-data",variables:{slug:"verify_professional_status"}}}},function(){App.Form.apply(this,arguments)}),cm.getConstructor("Form.RegisterOther",function(e,t,n,a){n.onConstructStart=function(){this.isRenew=!1,this.disabledFileOptions={},a.prototype.onConstructStart.apply(this,arguments)},n.onValidateParams=function(){a.prototype.onValidateParams.apply(this,arguments),this.isRenew="inactive-profile-update"===this.data.action},n.onConstructEnd=function(){var e=this.data?.role,e=cm.isEmpty(e)?this.params.activeTab:"salon"===e?"salon":"individual",e=(this.setRoleField(e),this.data?.country),e=cm.isEmpty(e)?this.params.defaultCountry:e;this.setCountryField(e),a.prototype.onConstructEnd.apply(this,arguments)},n.validateParamsData=function(e){return e.clientId||=e.client_id||e.clientid,e.country||=this.params.defaultCountry,e.first_name||=e.firstname,e.last_name||=e.lastname,e.business_name||=e.businessname,e},n.renderContentView=function(){var e={};this.params.renderTabs&&(e.tabs=this.renderTabs()),e.name=cm.node("section",{classes:["pt__columns","columns--name","field-outer-indent","indent-field"],role:"group"},cm.node("div",{classes:"inner"},e.firstName=cm.node("div",{classes:"column"}),e.lastName=cm.node("div",{classes:"column"}))),e.fileGroup=cm.node("section",{classes:["tpl__block","tpl__block--field-group","has-border"],role:"group"},e.file_1=cm.node("div",{classes:"tpl__block__entry"}),cm.node("p",{classes:"cm__font--hint"},this.msg("fields.presenceType.hint")),cm.node("hr"),e.file_2=cm.node("div",{classes:"tpl__block__entry"})),this.nodes.content=e},n.renderFormFields=function(){let n=this;n.components.form.add("hidden",{name:"clientId",defaultValue:App._env.clientId}).add("hidden",{name:"data_state"}).add("hidden",{name:"language",defaultValue:cm._locale}).add("hidden",{name:"source",defaultValue:"website"}).add("hidden",{name:"action"}).appendChild(n.params.renderTabs?n.nodes.content.tabs.getContainer():null).appendChild(n.isRenew?null:n.nodes.content.name).add("input",{name:"first_name",required:!0,visible:!n.isRenew,maxLength:255,placeholder:n.msg("fields.firstname"),showPlaceholderAbove:!0,className:["is-form-box","is-no-label"],container:n.nodes.content.firstName}).add("input",{name:"last_name",required:!0,visible:!n.isRenew,maxLength:255,placeholder:n.msg("fields.lastname"),showPlaceholderAbove:!0,className:["is-form-box","is-no-label"],container:n.nodes.content.lastName}).add("input",{name:"business_name",required:!0,visible:!n.isRenew,maxLength:255,placeholder:n.msg("fields.businessname"),showPlaceholderAbove:!0,className:["is-form-box","is-no-label"]}).add("email",{name:"email",required:!0,visible:!n.isRenew,maxLength:255,placeholder:n.msg("fields.email"),showPlaceholderAbove:!0,className:["is-form-box","is-no-label"],constraints:[Application.FieldConstraints.emailFormat()],constructorParams:{events:{onInput:Application.FieldHandlers.emailInputEvent.bind(n)}}}).add("select",{name:"country",required:!0,visible:n.params.renderCountryField,options:Application.Intl.getCountriesOptions(),placeholder:n.msg("fields.country"),showPlaceholderAbove:!0,className:["is-form-box","is-no-label"],constructorParams:{events:{onChange:(e,t)=>
1n.setCountryField(t)}}}).add("states-autocomplete",{name:"state",sendPath:"state",required:!0,placeholder:n.msg("fields.state"),showPlaceholderAbove:!0,icon:"icon pull-right linked svg__search",className:["is-form-box","is-no-label"],constructorParams:{country:"usa"}}).add("states-autocomplete",{name:"province",sendPath:"state",required:!0,placeholder:n.msg("fields.province"),showPlaceholderAbove:!0,icon:"icon pull-right linked svg__search",className:["is-form-box","is-no-label"],constructorParams:{country:"canada"}}).add("input",{name:"otherCountry",required:!0,maxLength:255,placeholder:n.msg("fields.otherCountry"),showPlaceholderAbove:!0,className:["is-form-box","is-no-label"]}).add("select",{name:"licenseCategory",required:!0,placeholder:n.msg("fields.licenseCategory.label"),showPlaceholderAbove:!0,options:n.getLicenseCategoryOptions(),className:["is-form-box","is-no-label"]}).appendChild(n.nodes.content.fileGroup).add("select",{name:"file_type_1",required:!0,label:n.msg("fields.presenceType.label"),options:n.getFileTypeOptions("presenceType"),className:["is-form-box","is-first"],container:n.nodes.content.file_1,events:{onChange:(e,t)=>
1{n.changeDocumentType("1",n.nodes.content.file_1)}}}).add("file",n.getFileFieldConfig("1",n.nodes.content.file_1)).add("select",{name:"file_type_2",required:!0,label:n.msg("fields.fileType.label"),options:n.getFileTypeOptions("fileType"),className:["is-form-box","is-first"],container:n.nodes.content.file_2,events:{onChange:(e,t)=>{n.changeDocumentType("2",n.nodes.content.file_2)}}}).add("file",n.getFileFieldConfig("2",n.nodes.content.file_2)).addConstraint(cm.constraintsCallback(n.validateFileDocuments.bind(n)))},n.renderTabs=function(){let e=this;return Application.Buttons.renderContainer({modifiers:["flex","toggle-bordered","toggle-checkbox"],classes:["pull-justify","is-adaptive"],role:"tablist",ariaLabel:e.msg("tabs.label"),items:[{name:"individual",label:e.msg("tabs.individual"),modifiers:["toggle"],classes:["is-compact","is-wrap"],role:"tab",selected:!1,checkbox:{render:!0,classes:["media--tablet-down"],name:"signup-tabs--other",type:"radio"},callback:()=>e.setRoleField("individual")},{name:"salon",label:e.msg("tabs.salon"),modifiers:["toggle"],classes:["is-compact","is-wrap"],role:"tab",selected:!1,checkbox:{render:!0,classes:["media--tablet-down"],name:"signup-tabs--other",type:"radio"},callback:()=>e.setRoleField("salon")}]})},n.licenseCategoryRestrictionMap={usa:["hair removal","make up","textured hair"]},n.getLicenseCategoryOptions=function(){let n=[{value:"",text:this.msg("placeholders.select"),isPlaceholder:!0}];var e=this.msgObject("fields.licenseCategory.options");return cm.forEach(e,(e,t)=>{n.push({value:t,text:e})}),n},n.setLicenseCategoryRestriction=function(e){let t=this.getField("licenseCategory");var n=t.fieldController.get();this.setLicenseCategoryHint(e);let a=this.licenseCategoryRestrictionMap[e];a&&!cm.inArray(a,n)&&t.fieldController.reset();e=t.inputController.getOptions();cm.forEach(e,e=>{cm.isEmpty(e.value)||t.inputController.toggleOptionVisibility(e.value,!a||cm.inArray(a,e.value))})},n.setLicenseCategoryHint=function(e){var n=this.getField("licenseCategory"),e=(n.fieldController.clearHint(),this.licenseCategoryRestrictionMap[e]);if(e){let t=this.msgObject("fields.licenseCategory.options");e=e.map(e=>(t[e]||e).toLowerCase()),e=this.msgParse("fields.licenseCategory.hint",{options:cm.joinIntl(e,"disjunction")});n.fieldController.renderHint(e)}},n.fileTypesOrderMap={presenceType:["Website","Instagram","Facebook Business Link","Upload a photo of your Business Card or Service Menu"],fileType:["Business Invoice","Educational completion certificate","A Diploma or a Certificate of Qualification","A signed bridal contract from the past 6 months","Your most recent paycheck stub","A tear sheet or call sheet","A link to your IMDb/TMDb profile"]},n.getFileTypeOptions=function(e){let t=[{value:"",text:this.msg("placeholders.select"),isPlaceholder:!0}];var n=this.fileTypesOrderMap[e];let a=this.msgObject(`fields.${e}.files`),s=this.msgObject(`fields.${e}.inputs`);return cm.forEach(n,e=>{a[e]&&t.push({value:e,text:a[e],data:{type:"file"}}),s[e]&&t.push({value:e,text:s[e],data:{type:"input"}})}),t},n.getFileFieldConfig=function(e,t){let n=this;return{name:"file_"+e,sendPath:"upfile_"+e,required:!0,placeholder:n.msgParse("hints.file",{formats:App._config.acceptLicenseFileExtensions}),className:["is-form-box","is-no-label"],container:t,constructorParams:{accept:App._config.acceptLicenseFileFormats,acceptSizes:{max:App._config.acceptFileSize},buttonsAdaptive:!0},events:{onChange:()=>n.validateFileDocuments()}}},n.getUrlFieldConfig=function(e,t){let n=this;return{name:"file_"+e,sendPath:"url_"+e,required:!0,maxLength:2e3,placeholder:n.msg("fields.url"),showPlaceholderAbove:!0,className:"is-form-box is-no-label",container:t,constraints:[Application.FieldConstraints.urlFormat()],events:{onChange:()=>n.validateFileDocuments()}}},n.setCountryField=function(a){let s=this;var e=s.getFields(["state","province","otherCountry"]);cm.forEach(e,(e,t)=>{var n="usa"===a&&"state"===t||"canada"===a&&"province"===t||"other"===a&&"otherCountry"===t;e.fieldController.toggleRequired(n),e.fieldController.toggleVisibility(n),s.setFieldParams(t,{send:n})}),s.setLicenseCategoryRestriction(a)},n.setRoleField=function(a){let s=this;var e=s.getFields(["first_name","last_name","business_name"]);s.params.renderTabs&&s.nodes.content.tabs.toggleItems(a),cm.forEach(e,(e,t)=>{var n="salon"===a&&"business_name"===t||"individual"===a&&"business_name"!==t;e.fieldController.toggleRequired(n),e.fieldController.toggleVisibility(!s.isRenew&&n),s.setFieldParams(t,{send:n})}),s.nodes.content.name.setAttribute("aria-hidden","salon"===a),cm.toggleClass(s.nodes.content.name,"is-hidden","salon"===a)},n.disableDocumentOption=function(e,t){var n=this.getField(e);cm.isEmpty(this.disabledFileOptions[e])||(n.inputController.enableOption(this.disabledFileOptions[e]),this.disabledFileOptions[e]=null),cm.isEmpty(t)||(n.inputController.disableOption(t),this.disabledFileOptions[e]=t)},n.changeDocumentType=function(e,t){var n=this.getField("file_type_"+e),a=this.getField("file_"+e),n=n.fieldController.get("option");n.isPlaceholder||n.data.type===a.type||(this.components.form.removeField("file_"+e),"file"===n.data.type?this.components.form.add("file",this.getFileFieldConfig(e,t)):this.components.form.add("url",this.getUrlFieldConfig(e,t)))},n.validateFileDocuments=function(){var e=this.getFields(["file_1","file_2"]),e=2===Object.values(e).map(e=>e.fieldController.get()).filter(e=>!cm.isEmpty(e)).length;return cm.toggleClass(this.nodes.content.fileGroup,"error",!e),e}}
1),cm.define("Form.RegisterSalon",{extend:"Form.Register",params:{name:"salon",maxSpeciality:0,ajax:{url:App._api.register_salon}}},function(){Form.Register.apply(this,arguments)}),cm.getConstructor("Form.RegisterSalon",function(e,t,n,a){n.renderFormFields=function(){a.prototype.renderFormFields.apply(this,arguments),this.components.form.removeField("firstname")}}),cm.define("Form.RegisterStudent",{extend:"App.Form",params:{name:"register",renderNames:!1,renderTitle:!1,renderContent:!0,renderButtonsSeparator:!1,renderButtonSpinner:!0,buttonsAlign:"center",validate:!0,validateOnChange:!0,showNotifications:!0,ajax:{url:App._api.form,method:"POST",type:"json",paramsType:"form-data",variables:{slug:"students"}}}},function(){App.Form.apply(this,arguments)}),cm.getConstructor("Form.RegisterStudent",function(e,t,n,a){n.onConstructEnd=function(){this.setFileGroup("school_id"),a.prototype.onConstructEnd.apply(this,arguments)},n.validateParamsData=function(e){return e.clientId||=e.client_id||e.clientid,e.data_state||=e.dataState,e.school=e.schoolName||e.school,e.school_website=e.schoolWebsite||e.school_website,e},n.renderContentView=function(){var e={enrollmentGroup:{}};e.enrollmentGroup.container=cm.node("section",{classes:["tpl__block","tpl__block--field-group","has-border"],role:"group"},cm.node("div",{classes:"tpl__block__title"},cm.node("h5",{classes:"h5"},this.msg("groups.enrollment.title")),cm.node("p",{innerHTML:this.msg("groups.enrollment.description")}))),e.fileGroup={},e.fileGroup.tabs=this.renderFileTabs(),e.fileGroup.container=cm.node("section",{classes:["tpl__block","tpl__block--field-group","has-border"],role:"group"},cm.node("div",{classes:"tpl__block__title"},cm.node("h5",{classes:"h5"},this.msg("groups.file.title")),cm.node("p",{innerHTML:this.msg("groups.file.description")}),e.fileGroup.tabs.getContainer())),this.nodes.content=e},n.renderFileTabs=function(){let e=this;return Application.Buttons.renderContainer({classes:["pull-justify","is-adaptive-compact"],modifiers:["flex","toggle"],role:"tablist",items:[{name:"school_id",label:e.msg("fields.schoolId"),classes:["is-compact","is-wrap"],modifiers:["toggle"],role:"tab",selected:!1,callback:()=>e.setFileGroup("school_id")},{name:"monthly_progress_report",label:e.msg("fields.monthlyProgressReport"),classes:["is-compact","is-wrap"],modifiers:["toggle"],role:"tab",selected:!1,callback:()=>e.setFileGroup("monthly_progress_report")}]})},n.renderFormFields=function(){var e=this,t=e.nodes.content;e.components.form.add("hidden",{name:"clientId",defaultValue:App._env.clientId}).add("hidden",{name:"language",defaultValue:cm._locale}).add("hidden",{name:"source",defaultValue:"website"}).add("hidden",{name:"data_state"}).add("hidden",{name:"first_name"}).add("hidden",{name:"last_name"}).add("hidden",{name:"email"}).add("hidden",{name:"state"}).add("hidden",{name:"school"}).add("url",{name:"school_website",required:!0,maxLength:2e3,placeholder:e.msg("fields.schoolWebsite"),showPlaceholderAbove:!0,className:"is-form-box is-no-label",constraints:[Application.FieldConstraints.urlFormat()]}).appendChild(t.enrollmentGroup.container).add("file",{name:"enrollment_form",required:!0,label:e.msg("fields.enrollmentForm"),placeholder:e.msgParse("hints.file",{formats:App._config.acceptLicenseFileExtensions}),placeholderAsterisk:!1,className:["is-form-box","is-first","is-no-label"],container:t.enrollmentGroup.container,constructorParams:{accept:App._config.acceptLicenseFileFormats,acceptSizes:{max:App._config.acceptFileSize},buttonsAdaptive:!0},events:{onValidate:e.validateEnrollmentGroup.bind(e)}}).appendChild(t.fileGroup.container).add("file",{name:"school_id",required:!1,label:e.msg("fields.schoolId"),placeholder:e.msgParse("hints.file",{formats:App._config.acceptLicenseFileExtensions}),placeholderAsterisk:!1,className:["is-form-box","is-first","is-no-label","is-no-indent"],container:t.fileGroup.container,constructorParams:{accept:App._config.acceptLicenseFileFormats,acceptSizes:{max:App._config.acceptFileSize},buttonsAdaptive:!0},events:{onValidate:e.validateFileGroup.bind(e)}}).add("file",{name:"monthly_progress_report",required:!1,label:e.msg("fields.monthlyProgressReport"),placeholder:e.msgParse("hints.file",{formats:App._config.acceptLicenseFileExtensions}),placeholderAsterisk:!1,className:["is-form-box","is-first","is-no-label","is-no-indent"],container:t.fileGroup.container,constructorParams:{accept:App._config.acceptLicenseFileFormats,acceptSizes:{max:App._config.acceptFileSize},buttonsAdaptive:!0},events:{onValidate:e.validateFileGroup.bind(e)}}).add("checkbox",{name:"confirm",required:!0,send:!1,placeholder:e.msgParse("fields.confirm"),placeholderAsterisk:!1,className:["is-form-box","is-no-label","is-no-indent"]}).add("checkbox",{name:"confirm2",required:!0,send:!1,placeholder:e.msgParse("fields.confirm2"),placeholderAsterisk:!1,className:["is-form-box","is-no-label"]})},n.setFileGroup=function(a){let s=this;s.nodes.content.fileGroup.tabs.toggleItems(a);var e=s.getFields(["school_id","monthly_progress_report"]);cm.forEach(e,(e,t)=>{var n=t===a;e.fieldController.toggleRequired(n),e.fieldController.toggleVisibility(n),s.setFieldParams(t,{send:n})})},n.validateEnrollmentGroup=function(e,t){var n=this.nodes.content;cm.toggleClass(n.enrollmentGroup.container,"error",!t.valid)},n.validateFileGroup=function(e,t){var n=this.nodes.content;cm.toggleClass(n.fileGroup.container,"error",!t.valid)},n.setStatesData=function(e){return this},n.toggleVisibility=function(e){var t=this.getContainer();return t.setAttribute("aria-hidden",!e),cm.toggleClass(t,"is-hidden",!e),this}}),cm.define("Form.RegisterStudentContents",{extend:"App.Form",params:{name:"register",renderNames:!0,renderTitle:!1,renderContent:!0,renderButtons:!0,renderButtonsSeparator:!1,renderButtonSpinner:!0,buttonsHandler:!0,buttonsAlign:"center",validate:!0,validateOnChange:!0,showNotifications:!0,validation:{constructor:"Form.LicenseCheckStudent",constructorParams:{renderButtons:!1,showNotifications:!1}},registration:{constructor:"Form.RegisterStudent",constructorParams:{renderButtons:!1,showNotifications:!1}}}}
1,function(){App.Form.apply(this,arguments)}),cm.getConstructor("Form.RegisterStudentContents",function(e,t,n,a){n.onConstructStart=function(){this.formVariant=null,a.prototype.onConstructStart.apply(this,arguments)},n.validateParamsData=function(e){return e.clientId||=e.client_id||e.clientid,e.data_state||=e.dataState,e},n.renderContentView=function(){var e={};e.name=cm.node("section",{classes:["pt__columns","columns--name","field-outer-indent","indent-field"],role:"group"},cm.node("div",{classes:"inner"},e.firstName=cm.node("div",{classes:"column"}),e.lastName=cm.node("div",{classes:"column"}))),e.formGroup=cm.node("section",{classes:["tpl__block","tpl__block--hidden-forms"],role:"group"}),this.nodes.content=e},n.renderFormFields=function(){var e=this;e.components.form.add("hidden",{name:"clientId",defaultValue:App._env.clientId}).add("hidden",{name:"language",defaultValue:cm._locale}).add("hidden",{name:"source",defaultValue:"website"}).add("hidden",{name:"data_state"}).add("hidden",{name:"schoolName"}).add("hidden",{name:"schoolWebsite"}).appendChild(e.nodes.content.name).add("input",{name:"first_name",required:!0,maxLength:255,placeholder:e.msg("fields.firstname"),showPlaceholderAbove:!0,className:"is-form-box is-no-label",container:e.nodes.content.firstName}).add("input",{name:"last_name",required:!0,maxLength:255,placeholder:e.msg("fields.lastname"),showPlaceholderAbove:!0,className:"is-form-box is-no-label",container:e.nodes.content.lastName}).add("email",{name:"email",required:!0,maxLength:255,placeholder:e.msg("fields.email"),showPlaceholderAbove:!0,className:"is-form-box is-no-label",constraints:[Application.FieldConstraints.emailFormat()],constructorParams:{events:{onInput:Application.FieldHandlers.emailInputEvent.bind(e)}}}).add("states-autocomplete",{name:"state",required:!0,placeholder:e.msg("fields.state.label"),showPlaceholderAbove:!0,icon:"icon pull-right linked svg__search",className:"is-form-box is-no-label"}).add("schools-autocomplete",{name:"school",required:!0,placeholder:e.msg("fields.school.label"),showPlaceholderAbove:!0,hint:e.msg("fields.school.hint"),className:"is-form-box is-no-label",icon:"icon pull-right linked svg__search",constructorParams:{events:{onChange:e.schoolChangeEvent.bind(e)}}}).appendChild(e.nodes.content.formGroup)},n.renderViewModel=function(){let t=this;a.prototype.renderViewModel.apply(t,arguments),cm.getConstructor(t.params.validation.constructor,e=>{t.components.validation=new e(cm.merge(t.params.validation.constructorParams,{container:t.nodes.content.formGroup,overlayParams:{container:t.getContainer()},events:{onSuccess:t.formSuccessEvent.bind(t),onError:t.formErrorEvent.bind(t)}}))}),cm.getConstructor(t.params.registration.constructor,e=>{t.components.registration=new e(cm.merge(t.params.registration.constructorParams,{container:t.nodes.content.formGroup,overlayParams:{container:t.getContainer()},events:{onSuccess:t.formSuccessEvent.bind(t),onError:t.formErrorEvent.bind(t)}}))}),t.setFormVariant("registration")},n.schoolChangeEvent=function(e,t){e=e.getItem(t),this.setFormVariant(e?"validation":"registration"),t=this.getFields(["schoolName","schoolWebsite"]);t.schoolName.fieldController.set(e?.data?.title||""),t.schoolWebsite.fieldController.set(e?.data?.website||"")},n.formSuccessEvent=function(e,t){this.triggerEvent("onSuccess",t)},n.formErrorEvent=function(e,t){this.renderError(t.error,t.message),this.triggerEvent("onError",t)},n.getFormVariant=function(){return this.formVariant},n.setFormVariant=function(e){return this.formVariant=e,this.components.validation.toggleVisibility("validation"===this.formVariant),this.components.registration.toggleVisibility("registration"===this.formVariant),this},n.setStatesData=function(e){return this},n.send=function(){var e=this.get("sendPath"),t=this.components[this.formVariant],e=(t.set(e),this.validate()),n=t.validate();return e.valid&&n.valid&&t.send(),this}}),cm.define("Form.RegisterStudentContinue",{extend:"Form.Register",params:{name:"student",ajax:{url:App._api.register_student,paramsType:"json"}}},function(){Form.Register.apply(this,arguments)}),cm.getConstructor("Form.RegisterStudentContinue",function(e,t,n,a){n.validateParamsData=function(e){return e.clientId||=e.client_id||e.clientid,e.dataState||=e.data_state,e.first_name||=e.firstname,e.last_name||=e.lastname,e},n.renderFormFields=function(){let n=this;n.components.form.add("hidden",{name:"clientId",defaultValue:App._env.clientId}).add("hidden",{name:"language",defaultValue:cm._locale}).add("hidden",{name:"source",defaultValue:"website"}).add("hidden",{name:"dataState"}).add("hidden",{name:"first_name"}).add("hidden",{name:"last_name"}).add("hidden",{name:"email"}).add("hidden",{name:"state"}).add("hidden",{name:"school"}).add("hidden",{name:"schoolName"}).add("hidden",{name:"schoolWebsite"}).add("hidden",{name:"number"}).add("hidden",{name:"expired"}).appendChild(cm.node("h3",{classes:"h5"},n.msg("fields.licenseCards"))).add("verification-cards",{name:"verification",required:!0,send:!1,outputValueType:"raw",className:["is-form-box","is-no-label"],events:{onChange:(e,t)=>
1n.verificationChangeEvent(t)}}).add("checkbox",{name:"confirm",required:!0,send:!1,placeholder:n.msgParse("fields.confirmRegister",{linkTerms:Router.getURL("page",null,{id:n.params.pageTerms}),linkPolicy:Router.getURL("page",null,{id:n.params.pagePolicy})}),placeholderAsterisk:!1,className:"is-form-box is-no-label"})},n.verificationChangeEvent=function(e){let t=this.get();cm.isEmpty(e)||(t=cm.merge(t,e)),this.set(t)}}),cm.define("Form.RegisterTicket",{extend:"App.Form",params:{name:"ticket",renderTitle:!1,renderContent:!1,renderButtons:!1,renderButtonsSeparator:!1,validate:!0,validateOnChange:!0,ajax:{url:App._api.register_ticket,method:"POST",type:"json",paramsType:"json"}}},function(){App.Form.apply(this,arguments)}),cm.getConstructor("Form.RegisterTicket",function(e,t,n,a){n.validateParamsData=function(e={}){return e.clientid||=e.clientId||e.client_id,e.firstname||=e.first_name,e.lastname||=e.last_name||e.business_name,e.state=e.state?.trim(),e},n.renderFormFields=function(){this.components.form.add("hidden",{name:"clientid",defaultValue:App._env.clientId}).add("hidden",{name:"language",defaultValue:cm._locale}).add("hidden",{name:"source",defaultValue:"website"}).add("hidden",{name:"image"}).add("hidden",{name:"firstname"}).add("hidden",{name:"lastname"}).add("hidden",{name:"email"}).add("hidden",{name:"state"}).add("hidden",{name:"number"})}}),cm.define("Form.ResetPasswordContainer",{extend:"App.FormContainer",params:{constructor:"Form.ResetPassword"}},function(e){App.FormContainer.apply(this,arguments)}),cm.define("Form.ResetPassword",{extend:"App.Form",params:{name:"reset-password",renderTitle:!1,renderButtonSpinner:!0,renderButtonsSeparator:!1,buttonsAlign:"center",validate:!0,validateOnChange:!0,showNotifications:!0,ajax:{method:"PUT",url:App._api.reset,paramsType:"json"}}},function(){App.Form.apply(this,arguments)}),cm.getConstructor("Form.ResetPassword",function(e,t,n,a){n.renderFormFields=function(){let e=this;e.components.form.add("hidden",{name:"code"}).add("password",{name:"password",required:!0,minLength:6,maxLength:30,label:e.msg("fields.password"),placeholder:e.msg("fields.password"),showPlaceholderAbove:!0,className:"is-form-box is-no-label",autocomplete:"off",strings:e.msgObject("errors.password"),events:{onValidate:()=>Application.FieldHandlers.passwordValidate.call(e,"password","repeat-password")},constructorParams:{limitMaxLength:!1}}).add("password",{name:"repeat-password",required:!0,send:!1,minLength:6,maxLength:30,label:e.msg("fields.repeatPassword"),placeholder:e.msg("fields.repeatPassword"),showPlaceholderAbove:!0,className:"is-form-box is-no-label",autocomplete:"off",strings:e.msgObject("errors.password"),constraints:[Application.FieldConstraints.passwordMatch.call(e,"password","repeat-password")],constructorParams:{limitMaxLength:!1}})},n.focus=function(){var e=this.getField("password");return e&&e.controller.focus(),this},n.onError=function(e,t){0!==t.target.status&&(t=cm.node("div",{classes:["com__notifications__message","com__notifications__message--centered"]},cm.node("p",this.msg("error.message")),Application.Buttons.embed({label:this.msg("error.action"),classes:["button-danger","is-wrap"],modifiers:["large","round"],link:Router.getURL("user.reset"),noRoute:!0,callback:e=>{cm.preventDefault(e),UserHelper.openResetBox()}})),this.clearNotification(),this.renderNotification({label:t,type:"danger",modifiers:["centered"],closable:!1}))}}),cm.define("Form.SupportContainer",{extend:"App.FormContainer",params:{constructor:"Form.Support"}},function(e){App.FormContainer.apply(this,arguments)}),cm.define("Form.Support",{extend:"App.Form",params:{name:"supports",renderNames:!0,renderTitle:!1,renderButtonsSeparator:!1,renderButtonSpinner:!0,buttonsAlign:"center",validate:!0,validateOnChange:!0,showNotifications:!0,ajax:{url:App._api.support,paramsType:"json"}}},function(){App.Form.apply(this,arguments)}),cm.getConstructor("Form.Support",function(e,t,n,a){n.validateParamsData=function(e){return Application.User.isAuthorized()&&(e.user=Application.userGetProfile(),e.user.name=Application.userGetProfileName()),e},n.renderFormFields=function(){this.components.form.add("hidden",{name:"source",defaultValue:"website"}).add("hidden",{name:"clientId",dataPath:"env.clientId",defaultValue:App._env.clientId}).add("hidden",{name:"details"}).add("input",{name:"name",dataPath:"user.name",required:!0,preventReset:!0,label:this.msg("fields.name"),placeholder:this.msg("fields.name"),showPlaceholderAbove:!0,className:"is-form-box is-no-label"}).add("email",{name:"email",dataPath:"user.email",required:!0,preventReset:!0,label:this.msg("fields.email"),placeholder:this.msg("fields.email"),showPlaceholderAbove:!0,className:"is-form-box is-no-label",constraints:[Application.FieldConstraints.emailFormat()],constructorParams:{events:{onInput:Application.FieldHandlers.emailInputEvent.bind(this)}}}).add("textarea",{name:"message",required:!0,label:this.msg("fields.message"),placeholder:this.msg("fields.message"),showPlaceholderAbove:!0,className:"is-form-box is-no-label"})}}),cm.define("Form.UserInviteContainer",{extend:"App.FormContainer",params:{closeOnSuccess:!1,closeOnComplete:!1,focusFieldOnOpen:"name",constructor:"Form.UserInvite",placeholderParams:{constructorParams:{width:App._config.dialog.widthHalf}}}},function(){App.FormContainer.apply(this,arguments)}),cm.getConstructor("Form.UserInviteContainer",function(e,t,n,a){n.onValidateParamsStart=function(){var e=this.msgObject(Application.User.getRole());this.setParams({messages:e})}
1,n.afterSuccess=function(e){this.components.controller.disable(),this.components.placeholder.removeButtons(),this.components.placeholder.addButton({name:"close",label:this.msg("close"),classes:this.params.placeholderParams.buttonClasses.save,focus:!0,callback:this.closeHandler}),a.prototype.afterSuccess.apply(this,arguments)}}),cm.define("Form.UserInvite",{extend:"App.Form",params:{name:"user-invite",renderContent:!0,validate:!0,validateOnChange:!0,showSuccessNotification:!0,notificationsParams:{closable:!1},ajax:{url:App._api.invite,method:"POST",type:"json",paramsType:"json"}}},function(){App.Form.apply(this,arguments)}),cm.getConstructor("Form.UserInvite",function(e,t,n,a){n.renderContentView=function(){var e={};return e.container=cm.node("h4",this.msg("description")),(this.nodes.content=e).container},n.renderFormFields=function(){this.components.form.add("input",{name:"name",required:!0,placeholder:this.msg("fields.name"),showPlaceholderAbove:!0,className:"is-form-box is-no-label"}).add("email",{name:"email",required:!0,placeholder:this.msg("fields.email"),showPlaceholderAbove:!0,className:"is-form-box is-no-label",constraints:[Application.FieldConstraints.emailFormat()],constructorParams:{events:{onInput:Application.FieldHandlers.emailInputEvent.bind(this)}}})}}),cm.define("Form.UserLicenseImageContainer",{extend:"App.FormContainer",params:{constructor:"Form.UserLicenseImage"}},function(){App.FormContainer.apply(this,arguments)}),cm.define("Form.UserLicenseImage",{extend:"Form.FileEmbed",params:{name:"user-license-image",fileField:{name:"image",sendPath:"image",dataPath:"image.id",valuePath:"image.value",namePath:"image.file"},fileForm:{allowUpdate:!0,constructorParams:{required:!1,showLoader:!0,dataFields:{type:"license"},fieldParams:{className:["is-form-box","is-label-flex"],helpAlign:"right"},inputParams:{size:"full",showLabel:!0,accept:App._config.acceptLicenseFileFormats,acceptSizes:{max:App._config.acceptFileSize}}}},ajax:{url:App._api.userslicenses.create,paramsType:"json"}}},function(){Form.FileEmbed.apply(this,arguments)}),cm.getConstructor("Form.UserLicenseImage",function(e,t,n,a){n.renderHiddenFields=function(){a.prototype.renderHiddenFields.apply(this,arguments),this.components.form.add("hidden",{name:"apikey",defaultValue:App._env.apiKey}).add("hidden",{name:"source",defaultValue:"website"}).add("hidden",{name:"user"}).add("hidden",{name:"licenseno"}).add("hidden",{name:"state"}).add("hidden",{name:"expired"}).add("hidden",{name:"type"}).add("hidden",{name:"profession"})}}),cm.define("Form.UserLicense",{extend:"App.Form",params:{name:"user-license",renderNames:!0,renderTitle:!1,renderContent:!1,renderButtonSpinner:!0,renderButtonsSeparator:!1,buttonsAlign:"center",validate:!0,validateOnChange:!0,sendEmptyFields:!1,ajax:{url:App._api.userslicenses.create,paramsType:"json"},overlayParams:{lazy:!1,theme:"transparent",showSpinner:!1,showContent:!1}}},function(){App.Form.apply(this,arguments)}),cm.getConstructor("Form.UserLicense",function(e,t,n,a){n.validateParamsData=function(e){return e.state=e.state?.trim(),e.licenseno=e.number||e.licenceno||e.licenseno,e},n.renderFormFields=function(){let n=this;n.components.form.add("hidden",{name:"apikey",defaultValue:App._env.apiKey}).add("hidden",{name:"source",defaultValue:"website"}).add("hidden",{name:"user"}).add("hidden",{name:"licenseno"}).add("hidden",{name:"state"}).add("hidden",{name:"expired"}).add("hidden",{name:"type"}).add("hidden",{name:"profession"}).add("hidden",{name:"image"}).appendChild(cm.node("h3",{classes:"h5"},n.msg("fields.licenseCards"))).add("verification-cards",{name:"verification",required:!0,send:!1,outputValueType:"raw",className:"is-form-box is-no-label",events:{onChange:(e,t)=>
1n.verificationChangeEvent(t)}})},n.verificationChangeEvent=function(e){let t=this.get();(t=cm.isEmpty(e)?t:cm.merge(t,e)).nickname=t.lastname,t.state=t.state?.trim(),t.licenseno=t.number||t.licenceno||t.licenseno,this.set(t)},n.setStatesData=function(e){return this.states=e.strings&&e.strings["signup-licenseno"]||{},this.manualStates=e["manual-states"]||[],this},n.setCards=function(e){return this.getField("verification").inputController.setCards(e),this}}),cm.define("Form.UserNCEAContainer",{extend:"App.FormContainer",params:{constructor:"Form.UserNCEA",constructorParams:{renderTitle:!1,renderButtons:!0},placeholderParams:{renderButtons:!1}}},function(){App.FormContainer.apply(this,arguments)}),cm.getConstructor("Form.UserNCEAContainer",function(e,t,n,a){n.renderFormEvents=function(){let n=this;n.components.controller.addEvent("onSend",e=>n.afterSend()),n.components.controller.addEvent("onSaveSuccess",(e,t)=>n.afterSuccess(t)),n.components.controller.addEvent("onSaveError",(e,t)=>n.afterError(t)),n.components.controller.addEvent("onAbort",e=>n.afterAbort()),n.components.controller.addEvent("onComplete",e=>n.afterComplete())}}),cm.define("Form.UserNCEA",{extend:"App.Form",events:["onSaveSuccess","onSaveError"],params:{name:"user-ncea",renderContent:!0,renderButtonsSeparator:!1,buttonsAlign:"center",validate:!0,validateOnChange:!0,showNotificationsMessages:!1,successOnEmptyData:!0,ajax:{url:App._api.ncea.check,method:"POST",type:"json",paramsType:"json"},save:{constructor:"App.Request",constructorParams:{showLoader:!0,autoSend:!0,responseKey:null,ajax:{url:App._api.me.ncea.create,paramsType:"json",method:"POST"}}}}},function(){App.Form.apply(this,arguments)}),cm.getConstructor("Form.UserNCEA",function(e,t,n,a){n.onDestructStart=function(){this.components.save?.destruct(),a.prototype.onDestructStart.apply(this,arguments)},n.renderContentView=function(){var e={};return e.container=cm.node("section",{classes:["tpl__section","tpl__section--signup-title"]},cm.node("div",{classes:"inner"},cm.node("h2",{classes:"section__title"},this.msg("verification.title")),cm.node("div",{classes:["section__entry"],innerHTML:this.msgParse("verification.description")}))),(this.nodes.content=e).container},n.renderFormFields=function(){this.components.form.add("input",{name:"name",required:!0,placeholder:this.msg("fields.name"),showPlaceholderAbove:!0,className:["is-form-box","is-no-label"]}).add("input",{name:"lastname",required:!0,placeholder:this.msg("fields.lastname"),showPlaceholderAbove:!0,className:["is-form-box","is-no-label"]}).add("date-picker",{name:"date",required:!0,defaultValue:"now",placeholder:this.msg("fields.date"),showPlaceholderAbove:!0,className:["is-form-box","is-no-label"],constructorParams:{size:"full",showTodayButton:!1,startYear:"current",endYear:"current + 15"}}).add("checkbox",{name:"confirm",required:!0,send:!1,placeholder:this.msg("fields.confirmVerify"),placeholderAsterisk:!1,className:"is-form-box is-no-label"})},n.renderFormButtons=function(){this.components.form.addButton({name:"send",action:"submit",label:this.msg("send"),classes:["button--round","button--xlarge"]})},n.onSuccess=function(e,t){let n=this;if(cm.isEmpty(t))return n.renderEmptyMessage();let a={...t[0]};delete a.id,cm.getConstructor(n.params.save.constructor,e=>{n.components.save=new e(cm.merge(n.params.save.constructorParams,{body:a,overlayParams:{container:n.nodes.holder,appendMode:"insertFirst"},events:{onSuccess:(e,t)=>n.renderSaveSuccess(t.data),onError:(e,t)=>n.renderSaveError(t)}}))})},n.renderEmptyMessage=function(){this.clearNotification(),this.renderNotification({type:"danger",label:this.msgParse("errors.notFound",{email:App._config.info.emailHelp})})},n.renderSaveSuccess=function(e){this.triggerEvent("onSaveSuccess",e)},n.renderSaveError=function(e){this.renderError(e.errors,e.message),this.triggerEvent("onSaveError",e)}}),cm.define("Form.UserPhotoContainer",{extend:"App.FileBrowseFormContainer",params:{constructor:"Form.UserPhoto",focusFieldOnOpen:"title",browseParams:{fieldName:"image",valuePath:"image.value"},placeholderParams:{renderHelp:!0,constructorParams:{width:App._config.dialog.widthSmall,animateHeight:!0}},uploadPolicy:{enable:!0,constructor:"App.UploadPolicyConfirmContainer",constructorParams:{openOnConstruct:!0}}}},function(){App.FileBrowseFormContainer.apply(this,arguments)}),cm.getConstructor("Form.UserPhotoContainer",function(e,t,n,a){n.onDestructProcess=function(){this.components.uploadPolicy?.destruct(),a.prototype.onDestructProcess.apply(this,arguments)},n.openBrowse=function(){if(this.params.uploadPolicy.enable){var e=Application.User.getParams("upload-policy-notice");if(cm.isEmpty(e))return void this.renderUploadPolicy()}a.prototype.openBrowse.apply(this,arguments)},n.renderUploadPolicy=function(){let t=this;t.components.uploadPolicy&&!t.components.uploadPolicy.isDestructed?t.components.uploadPolicy.open():cm.getConstructor(t.params.uploadPolicy.constructor,e=>{t.components.uploadPolicy=new e(cm.merge(t.params.uploadPolicy.constructorParams,{events:{onTrue:()=>t.openBrowse()}}))})}}),cm.define("Form.UserPhoto",{extend:"Form.FileEmbed",params:{name:"user-photo",renderNames:!0,fieldsData:{},fileField:{name:"image",sendPath:"image",dataPath:"image.id",valuePath:"image.value",namePath:"title"}
1,fileForm:{allowUpdate:!1,constructorParams:{fileField:{type:"image-photo"},inputParams:{accept:App._config.acceptImageCanvasFormats,acceptSizes:{max:App._config.acceptFileSize},acceptDimensions:{minWidth:500,minHeight:500}}}},ajax:{url:App._api.photos.create,method:"POST",paramsType:"json"}}},function(){Form.FileEmbed.apply(this,arguments)}),cm.getConstructor("Form.UserPhoto",function(e,t,n,a){n.renderFormFields=function(){var e=this;e.renderHiddenFields(),e.renderFileForm(),e.components.form.appendChild(cm.node("hgroup",{classes:"form__header",innerHTML:e.msg("header")})).add("input",{name:"title",label:e.msg("fields.title.label"),placeholder:e.msg("fields.title.placeholder"),hint:e.msg("fields.title.hint"),className:["is-form-box","is-first","is-label-medium"]}).add("select",{name:"speciality",dataPath:"speciality.id",label:e.msg("fields.speciality.label"),hint:e.msg("fields.speciality.hint"),options:cm.extend(e.msgObject("fields.speciality.options"),Application.convertSpecialityToOptions(e.params.fieldsData.speciality)),className:["is-form-box","is-first","is-label-medium"],preload:cm.isEmpty(e.params.fieldsData.speciality),responseKey:null,ajax:{url:App._api.specialities,method:"GET",type:"json",params:{limit:0,order:"title",language:"%locale%",grouped:"true"}},callbacks:{convert:(e,t)=>Application.convertSpecialityToOptions(t),convertItem:(e,t)=>Application.convertSpecialityToOption(t)},constructorParams:{setInitialValue:!1}}).add("brands-autocomplete",{name:"brand",label:e.msg("fields.brand.label"),placeholder:e.msg("fields.brand.placeholder"),hint:e.msg("fields.brand.hint"),minLength:2,icon:"icon pull-right linked svg__search",className:["is-form-box","is-first","is-label-medium"]}).add("select",{name:"technician",dataPath:"technician.id",sendEmpty:!1,label:e.msg("fields.technician.label"),hint:e.msg("fields.technician.hint"),options:e.msgObject("fields.technician.options"),className:["is-form-box","is-first","is-label-medium"],preload:!0,responseKey:null,ajax:{url:App._api.me.favorite.list,type:"json",method:"GET",params:{limit:0,order:"profile.firstname"}},callbacks:{convertItem:(e,t)=>Application.User.convertToOption(t,{renderCard:!0})},constructorParams:{setInitialValue:!1}})}}),cm.define("Form.UserRenew",{extend:"App.Form",params:{name:"renew",renderNames:!0,renderTitle:!1,renderContent:!1,renderButtonSpinner:!0,renderButtonsSeparator:!1,buttonsAlign:"center",validate:!0,validateOnChange:!0,sendEmptyFields:!1,ajax:{url:App._api.license_update_step2,paramsType:"json"},overlayParams:{lazy:!1,theme:"transparent",showSpinner:!1,showContent:!1}}},function(){App.Form.apply(this,arguments)}),cm.getConstructor("Form.UserRenew",function(e,t,n,a){n.validateParamsData=function(e){return e.lastname=e.businessname||e.lastname,e.nickname=e.lastname,e.licenseno=e.number||e.licenceno||e.licenseno,e.state=e.state?.trim(),e},n.renderFormFields=function(){this.components.form.add("hidden",{name:"apikey",defaultValue:App._env.apiKey}).add("hidden",{name:"source",defaultValue:"website"}).add("hidden",{name:"id"}).add("hidden",{name:"licenseno"}).add("hidden",{name:"state"}).add("hidden",{name:"expired"}).add("hidden",{name:"type"}).add("hidden",{name:"profession"}).add("hidden",{name:"image"}).appendChild(cm.node("h3",{classes:"h5"},this.msg("fields.licenseCards"))).add("verification-cards",{name:"verification",required:!0,send:!1,outputValueType:"raw",className:"is-form-box is-no-label",events:{onChange:this.verificationChangeEvent.bind(this)}})},n.verificationChangeEvent=function(e,t){let n=this.get();(n=cm.isEmpty(t)?n:cm.merge(n,t)).state=n.state?.trim(),n.licenseno=n.number||n.licenceno||n.licenseno,this.set(n)},n.setStatesData=function(e){return this.states=e.strings&&e.strings["signup-licenseno"]||{},this.manualStates=e["manual-states"]||[],this},n.setCards=function(e){return this.getField("verification").inputController.setCards(e),this}}),cm.define("Form.UserRenewIndividual",{extend:"Form.UserRenew",params:{name:"individual"}},function(){App.Form.apply(this,arguments)}),cm.define("Form.UserRenewSalon",{extend:"Form.UserRenew",params:{name:"salon"}}
1,function(){App.Form.apply(this,arguments)}),cm.define("Form.UserSearchContainer",{extend:"App.FormContainer",params:{constructor:"Form.UserSearch",placeholderParams:{constructorParams:{width:App._config.dialog.widthHalf}}}},function(){App.FormContainer.apply(this,arguments)}),cm.define("Form.UserSearch",{extend:"App.Form",params:{name:"user-search",renderTitle:!1,renderContent:!0,renderButtons:!1,validate:!1,showNotifications:!1,sendOnChange:!0,ajax:{url:App._api.users.list,method:"GET",type:"json",paramsType:"uri",params:{limit:App._config.itemsPerPage.cardsList},uriConfig:{multipleValues:"keys"}}}},function(){App.Form.apply(this,arguments)}),cm.getConstructor("Form.UserSearch",function(e,t,n,a){n.renderContentView=function(){var e={};e.nameGroup=cm.node("section",{classes:"pt__columns columns--name field-outer-indent indent-field",role:"group"},cm.node("div",{classes:"inner"},e.nameLeft=cm.node("div",{classes:"column"}),e.nameRight=cm.node("div",{classes:"column"}))),"salon"===this.params.data?.role&&cm.addClass(e.nameGroup,"is-hidden"),this.nodes.content=e},n.renderFormFields=function(){var e=this;e.components.form.add("hidden",{name:"role",sendPath:"filter=role"}).appendChild(e.nodes.content.nameGroup).add("input",{name:"firstname",render:"salon"!==e.params.data?.role,sendPath:"filter=firstname",placeholder:e.msg("fields.firstname"),showPlaceholderAbove:!0,icon:"icon pull-right linked svg__search",className:"is-form-box is-no-label",container:e.nodes.content.nameLeft,constructorParams:{lazy:!0}}).add("input",{name:"lastname",render:"salon"!==e.params.data?.role,sendPath:"filter=lastname",placeholder:e.msg("fields.lastname"),showPlaceholderAbove:!0,icon:"icon pull-right linked svg__search",className:"is-form-box is-no-label",container:e.nodes.content.nameRight,constructorParams:{lazy:!0}}).add("input",{name:"businessname",render:"salon"===e.params.data?.role,sendPath:"filter=lastname",placeholder:e.msg("fields.businessname"),showPlaceholderAbove:!0,icon:"icon pull-right linked svg__search",className:"is-form-box is-no-label",constructorParams:{lazy:!0}})},n.focus=function(){var e="salon"===this.params.data?.role?"businessname":"firstname";return this.getField(e).fieldController?.focus(),this}}),cm.define("Form.UserToSContainer",{extend:"App.FormContainer",params:{constructor:"Form.UserToS",constructorParams:{renderButtons:!0,renderButtonSpinner:!0,renderButtonsSeparator:!1,buttonsAlign:"center"},placeholderParams:{renderTitle:!0,renderButtons:!1,constructorParams:{width:App._config.dialog.widthSmall,titleAlign:"center",closeButton:!1,closeOnEsc:!1,closeButtonOutside:!1,closeOnBackground:!1}}}},function(){App.FormContainer.apply(this,arguments)}),cm.define("Form.UserToS",{extend:"App.Form",params:{name:"user-tos",disclaimerPage:"Professional-Terms-of-Service",validate:!0,showNotifications:!0,ajax:{url:App._api.me.tos,method:"PUT",paramsType:"uri",headers:{"Content-Type":"application/octet-stream"}}}},function(){App.Form.apply(this,arguments)}),cm.getConstructor("Form.UserToS",function(e,t,n,a){n.renderFormFields=function(){this.components.form.add("checkbox",{name:"confirm",required:!0,send:!1,placeholder:this.msgParse("fields.confirm",{url:Router.getURL("page",null,{id:this.params.disclaimerPage})}),placeholderAsterisk:!1,className:["is-form-box","is-no-label"],constructorParams:{contentClassName:["has-hover"]}})}}),cm.define("Form.UserUnsubscribeContainer",{extend:"App.FormContainer",params:{constructor:"Form.UserUnsubscribe"}},function(){App.FormContainer.apply(this,arguments)}),cm.define("Form.UserUnsubscribe",{extend:"App.Form",params:{name:"user-unsubscribe",validate:!0,validateOnChange:!0,showNotifications:!0,renderTitle:!1,renderButtonsSeparator:!1,renderButtonSpinner:!0,buttonsAlign:"center",ajax:{method:"POST",url:App._api.unsubscribe,paramsType:"json"}}},function(){App.Form.apply(this,arguments)}),cm.getConstructor("Form.UserUnsubscribe",function(e,t,n,a){n.renderFormFields=function(){this.components.form.add("hidden",{name:"hash"})},n.renderFormButtons=function(){this.params.renderButtonSpinner?this.components.form.addButton({name:"send",action:"submit",label:this.msg("send"),classes:["button--round","button--xlarge"],spinner:!0,spinnerClasses:["large"]}):a.prototype.renderFormButtons.apply(this,arguments)}}),cm.define("Page.AppAuth",{extend:"App.Page",params:{name:"app.auth",noIndex:!0,layout:"layout--app",overlay:{constructor:"Com.Overlay",constructorParams:{theme:"logo",showSpinner:!0,showContent:!0,autoOpen:!0,lazy:!1}}}},function(){App.Page.apply(this,arguments)}),cm.getConstructor("Page.AppAuth",function(e,t,n,a){n.renderView=function(){this.nodes.container=cm.node("article",{classes:["page","page--app"]})},n.renderViewModel=function(){let t=this;a.prototype.renderViewModel.apply(t,arguments),cm.getConstructor(t.params.overlay.constructor,function(e){t.components.overlay=new e(cm.merge(t.params.overlay.constructorParams,{content:t.msg("title"),container:t.nodes.container}))})}}),cm.define("Page.AppExternal",{extend:"App.Page",params:{name:"app.external",noIndex:!0,layout:"layout--app",requestData:{},overlay:{constructor:"Com.Overlay",constructorParams:{theme:"logo",showSpinner:!0,showContent:!0,autoOpen:!0,lazy:!1}}}},function(){App.Page.apply(this,arguments)}),cm.getConstructor("Page.AppExternal",function(e,t,n,a){n.onValidateParams=function(){this.params.requestData=this.params.route.parameters||this.params.route.data||this.params.requestData||{}},n.onDestructEnd=function(){this.components.overlay?.destruct(),this.components.channel?.close()},n.renderView=function(){this.nodes.container=cm.node("article",{classes:["page","page--app"]})},n.renderViewModel=function(){let t=this;a.prototype.renderViewModel.apply(t,arguments),cm.getConstructor(t.params.overlay.constructor,function(e){t.components.overlay=new e(cm.merge(t.params.overlay.constructorParams,{content:t.msg("title"),container:t.nodes.container}))}),window.opener&&(window.opener.postMessage(cm.stringifyJSON(t.params.requestData),t.params.requestData.origin),window.close()),window.parent&&window.parent.postMessage(cm.stringifyJSON(t.params.requestData),t.params.requestData.origin)}}),cm.define("App.BarberSectionFeatured",{extend:"App.BlogFeatured",params:{category:"barber-section",limit:5,ajax:{url:App._api.blog_categories.read},request:{constructorParams:{responseKey:"posts"}}}},function(){Com.AbstractController.apply(this,arguments)}),cm.getConstructor("App.BarberSectionFeatured",function(e,t,n,a){n.renderView=function(){this.nodes.container=cm.node("div",{classes:["blog-list__row","blog-list__row--barber-section"]},this.nodes.featured=cm.node("div",{classes:"blog-list__featured"}),this.nodes.list=cm.node("div",{classes:["blog-list__items","blog-list__items--barber-section"]}))},n.renderPostItem=function(e,t,n){e=this.renderPostView(e,t,{container:0===t?this.nodes.featured:this.nodes.list,classes:["tpl__style--border-shadow",0===t?null:"is-adaptive"],modifiers:[0===t?"card-featured":"card-horizontal"],style:0===t?"featured":"horizontal",titleSize:["h6","h7-sm"],titleCount:2,infoClasses:[0===t?"is-uppercase":null]});n.push(e)}}),cm.define("Page.BarberSection",{extend:"App.Page",params:{name:"barber-section",layout:["layout--default-clean","layout--mobile-overlap"],blogFeatured:{constructor:"App.BarberSectionFeatured",constructorParams:{}},faq:{constructor:"App.Faq",constructorParams:{}},sectionScroll:{constructor:"App.SectionScroll",constructorParams:{}}}},function(){App.Page.apply(this,arguments)}),cm.getConstructor("Page.BarberSection",function(e,t,n,a){n.onConstructStart=function(){this.views={}},n.onDestructEnd=function(){cm.forEach(this.components,e=>e.destruct())},n.renderView=function(){var e=this;e.nodes.container=cm.node("article",{classes:["page","page--barber-section"]}),e.views.featured=e.renderFeaturedView({container:e.nodes.container}),e.views.categories=e.renderCategoriesView({container:e.nodes.container}),e.views.faq=e.renderFaqView({container:e.nodes.container})},n.renderFeaturedView=function(e){let t=this,n={nodes:{},params:cm.merge({container:cm.node("div")},e)};return n.nodes.container=cm.node("section",{classes:["tpl__section","tpl__section--barber-section-header","is-box","has-padding-large-adaptive","has-mobile-overlap"]},cm.node("div",{classes:"section__gradient"}),cm.node("div",{classes:"inner"},cm.node("div",{classes:["section__title","section__title--large-adaptive"]},cm.node("hgroup",{classes:"section__title__entry",innerHTML:t.msg("header.title")}),cm.node("div",{classes:"section__entry",innerHTML:t.msg("header.description")})),n.nodes.holder=cm.node("div",{classes:"section__content"}))),cm.getConstructor(t.params.blogFeatured.constructor,e=>{t.components.blogFeatured=new e(cm.merge(t.params.blogFeatured.constructorParams,{container:n.nodes.holder}))}),cm.appendChild(n.nodes.container,n.params.container),n},n.renderCategoriesView=function(e){let t=this,n={nodes:{},params:cm.merge({classes:[],container:cm.node("div"),insertMethod:"appendChild"},e)};return n.nodes.container=cm.node("section",{classes:["tpl__section","tpl__section--barber-section-categories","has-padding-large-adaptive","
1is-box",...n.params.classes]},cm.node("div",{classes:"section__gradient"}),n.nodes.inner=cm.node("div",{classes:"inner"},cm.node("hgroup",{classes:["section__title","section__title--read"]},cm.node("h2",{classes:"section__label"},t.msgParse("barberCategories.title")),cm.node("p",{classes:["section__action","h6"]},t.msgParse("barberCategories.subtitle"))))),n.nodes.holder=Application.Sections.embedBarberSection({classes:[],entryClasses:["section__list__column"]}),cm.getConstructor(t.params.sectionScroll.constructor,e=>{t.components.sectionScroll=new e(cm.merge(t.params.sectionScroll.constructorParams,{container:n.nodes.inner,modifiers:["barber-section"],nodes:{holder:n.nodes.holder}})),t.components.sectionScroll.observe()}),cm[n.params.insertMethod](n.nodes.container,n.params.container),n},n.renderFaqView=function(e){let t=this,n={nodes:{},params:cm.merge({container:cm.node("div")},e)};return n.data=t.msgObject("faq.items"),n.nodes.container=cm.node("section",{classes:["tpl__section","tpl__section--barber-section-faq","is-box","has-padding-large-adaptive"]},cm.node("div",{classes:"section__gradient"}),cm.node("div",{classes:"inner"},cm.node("div",{classes:["section__title"],innerHTML:t.msg("faq.title")}),n.nodes.holder=cm.node("div",{classes:"section__content"}))),cm.getConstructor(t.params.faq.constructor,e=>{t.components.faq=new e(cm.merge(t.params.faq.constructorParams,{data:n.data,container:n.nodes.holder}))}),cm.appendChild(n.nodes.container,n.params.container),n}}),cm.define("Page.BlogCategory",{extend:"App.Page",params:{name:"blog.category",blog:{constructor:"App.Blog",constructorParams:{}},calendar:{constructor:"App.Calendar",constructorParams:{}},sectionScroll:{constructor:"App.SectionScroll",constructorParams:{}}}},function(){App.Page.apply(this,arguments)}),cm.getConstructor("Page.BlogCategory",function(e,t,n,a){n.onConstructStart=function(){this.views={},this.isEvents=!1,this.isBarberSection=!1},n.onValidateParams=function(){this.isEvents="events"===this.params.route.captures.id,this.isBarberSection=Application.Sections.isBarberSection(this.params.route.captures.id),this.isBarberSection&&(this.params.blog.constructorParams.renderSkeleton=!1,this.params.blog.constructorParams.renderFeatured=!1,this.params.blog.constructorParams.renderCategories=!1,this.params.blog.constructorParams.blogPosts={constructor:"App.BlogPostsEmbed",constructorParams:{}})},n.onDestructEnd=function(){cm.forEach(this.components,e=>e.destruct())},n.renderView=function(){this.nodes.container=cm.node("article",{classes:["page","page--blog-category"]})},n.renderViewModel=function(){let t=this;a.prototype.renderViewModel.apply(t,arguments),cm.getConstructor(t.params.blog.constructor,e=>{t.components.blog=new e(cm.merge(t.params.blog.constructorParams,{category:t.params.route.captures.id,renderFeatured:!t.isEvents,renderEmpty:!t.isEvents,container:t.nodes.container,events:{onSuccess:t.render
1Success.bind(t),onError:t.renderError.bind(t),onPostsComplete:t.renderPostsComplete.bind(t)}}))})},n.renderSuccess=function(e,t){var n=this;n.setDocumentTitle(t.title),n.isEvents="events"===t.shortname,n.isEvents&&(n.views.events=n.renderEventsView({container:n.nodes.container})),n.isBarberSection=Application.Sections.isBarberSection(t.shortname),n.isBarberSection&&(n.views.barberSection=n.renderBarberSectionView({classes:["is-transparent","is-hidden"],container:n.nodes.container}))},n.renderError=function(e,t){Application.summonRoute("error")},n.renderPostsComplete=function(){let e=this.views.barberSection;e&&(cm.removeClass(e.nodes.container,"is-hidden"),cm.onSchedule(()=>{cm.removeClass(e.nodes.container,"is-transparent")}))},n.renderEventsView=function(e){let t=this,n={nodes:{},params:cm.merge({container:cm.node("div")},e)};return n.nodes.container=cm.node("section",{classes:["tpl__section","tpl__section--blog-events","has-padding-large-bottom-adaptive","is-box"]},n.nodes.holder=cm.node("div",{classes:"inner"})),cm.getConstructor(t.params.calendar.constructor,e=>{t.components.calendar=new e(cm.merge(t.params.calendar.constructorParams,{container:n.nodes.holder}))}),cm.appendChild(n.nodes.container,n.params.container),n},n.renderBarberSectionView=function(){return Page.BarberSection.prototype.renderCategoriesView.apply(this,arguments)}}),cm.define("Page.Blog",{extend:"App.Page",params:{blogFeatured:{constructor:"App.BlogFeatured",constructorParams:{imagePriority:!1}},blogPosts:{constructor:"App.BlogPosts",constructorParams:{category:App._config.blog.mainCategory,posts:{limit:!0,filter:!0,showViewMore:!0}}}}},function(){App.Page.apply(this,arguments)}),cm.getConstructor("Page.Blog",function(e,t,n,a){n.onConstructStart=function(){this.views={}},n.onDestructEnd=function(){cm.forEach(this.components,e=>e.destruct())},n.renderView=function(){var e=this;e.nodes.container=cm.node("article",{classes:["page","page--blog"]}),e.views.title=e.renderTitleView({container:e.nodes.container}),e.views.featured=e.renderFeaturedView({container:e.nodes.container}),e.views.separator=e.renderSeparatorView({container:e.nodes.container}),e.views.blog=e.renderBlogView({container:e.nodes.container})},n.renderTitleView=function(e){e={nodes:{},params:cm.merge({container:cm.node("div")},e)};return e.nodes.container=cm.node("section",{classes:["tpl__section","tpl__section--blog-title","is-box","has-padding-adaptive","has-indent-none"]},cm.node("div",{classes:"inner"},cm.node("div",{classes:"section__title"},cm.node("h1",this.msg("title"))))),cm.appendChild(e.nodes.container,e.params.container),e},n.renderFeaturedView=function(e){let n=this,t={nodes:{},params:cm.merge({container:cm.node("div")},e)};return t.nodes.container=cm.node("section",{classes:["tpl__section","tpl__section--blog-featured","is-box","has-padding-large-bottom-adaptive","has-indent-none"]},cm.node("div",{classes:"inner"},t.nodes.holder=cm.node("div",{classes:"section__content"}))),cm.getConstructor(n.params.blogFeatured.constructor,e=>{n.components.blogFeatured=new e(cm.merge(n.params.blogFeatured.constructorParams,{container:t.nodes.holder,events:{onComplete:(e,t)=>{n.filterBlogPosts(t),n.toggleSectionsVisibility()}}}))}),cm.appendChild(t.nodes.container,t.params.container),t},n.renderSeparatorView=function(e){e={nodes:{},params:cm.merge({container:cm.node("div")},e)};return e.nodes.container=cm.node("div",{classes:["tpl__section","tpl__section--blog-separator","tpl__section--hidden","is-none","is-hidden","is-box","has-indent-none"],"aria-hidden":"true"},cm.node("div",{classes:"inner"},cm.node("hr",{classes:"section__divider"}))),cm.appendChild(e.nodes.container,e.params.container),e},n.renderBlogView=function(e){let t=this,n={nodes:{},params:cm.merge({container:cm.node("div")},e)};return n.nodes.container=cm.node("section",{classes:["tpl__section","tpl__section--blog-categories","tpl__section--hidden","is-none","is-hidden","is-box","has-padding-large-adaptive","has-indent-none"]},cm.node("div",{classes:"inner"},n.nodes.holder=cm.node("div",{classes:"section__content"}))),cm.getConstructor(t.params.blogPosts.constructor,e=>{t.components.blogPosts=new e(cm.merge(t.params.blogPosts.constructorParams,{container:n.nodes.holder}))}),cm.appendChild(n.nodes.container,n.params.container),n},n.filterBlogPosts=function(e){e=e?.map(e=>e.id)||[];this.components.blogPosts.filter(e)},n.toggleSectionsVisibility=function(){let e=this;
1cm.removeClass(e.views.separator.nodes.container,"is-none"),cm.removeClass(e.views.blog.nodes.container,"is-none"),cm.onSchedule(()=>{cm.removeClass(e.views.separator.nodes.container,"is-hidden"),cm.removeClass(e.views.blog.nodes.container,"is-hidden")})}}),cm.define("Page.BlogPost",{extend:"App.Page",params:{name:"blog.post",blogConstructor:"App.BlogPost",blogParams:{},relatedConstructor:"App.BlogRelated",relatedParams:{}}},function(){App.Page.apply(this,arguments)}),cm.getConstructor("Page.BlogPost",function(e,t,n,a){n.renderView=function(){this.nodes.container=cm.node("div",{classes:"page page--blogpost"},this.nodes.entrySection=cm.node("section",{classes:["tpl__section","tpl__section--blog-post-entry","is-box","has-padding-adaptive","has-indent-none"]},cm.node("div",{classes:"inner"},this.nodes.entryHolder=cm.node("div",{classes:"section__content"}))),this.nodes.relatedSection=cm.node("section",{classes:["tpl__section","tpl__section--blog-post-related","is-box","has-padding","is-hidden"]},cm.node("div",{classes:"inner"},this.nodes.relatedHolder=cm.node("div",{classes:"section__content"}))))},n.renderViewModel=function(){let n=this;a.prototype.renderViewModel.apply(n,arguments),cm.getConstructor(n.params.relatedConstructor,function(e){n.components.related=new e(cm.merge(n.params.relatedParams,{container:n.nodes.relatedHolder,events:{onSuccess:n.renderRelated.bind(n)}}))}),cm.getConstructor(n.params.blogConstructor,function(e){var t=cm.isEmpty(n.params.route.data)?Data[n.params.name]:n.params.route.data;delete Data[n.params.name],n.components.blog=new e(cm.merge(n.params.blogParams,{request:n.params.route.captures,data:t,events:{onSuccess:n.renderPost.bind(n),onError:n.renderError.bind(n),onErrorAccess:n.renderErrorAccess.bind(n)}})),n.components.blog.request()})},n.renderPost=function(e,t){this.setDocumentTitle(t.title),this.components.blog.renderEntry(this.nodes.entryHolder),this.requestRelated(t)},n.renderError=function(e,t){Application.summonRoute("error")},n.renderErrorAccess=function(e,t){this.setDocumentTitle(t.title),this.components.blog.renderEntry(this.nodes.entryHolder),Application.renderAccessBox({audience:"beautician",container:this.nodes.entryHolder})},n.requestRelated=function(e){var t="category="+e.category.map(e=>e.id).join(",");this.components.related.setFilter(t,e.id),this.components.related.request()},n.renderRelated=function(e,t){cm.isEmpty(t)||(cm.removeClass(this.nodes.relatedSection,"is-hidden",!0),this.components.related.renderBlog())}}),App._path["pages.book.img"]="./img/pages/Book",cm.define("Page.Book",{extend:"App.Page",params:{name:"product.book",layout:["layout--default-clean","layout--mobile-overlap"],date:"2026-04-18T10:00:00-04:00",productId:{prod:"69ce30336f0302b66f4f2a03",dev:"69b99ad7c1669ba570cba0ef"},animation:{constructor:"App.AnimationBlock",constructorParams:{}},read:{constructor:"App.Request",constructorParams:{autoSend:!0,responseKey:null,ajax:{url:App._api.ecommerce.list,type:"json",method:"GET"}}},timer:{constructor:"Com.Timer",constructorParams:{}},disclaimerDialog:{constructor:"App.ProductBookDisclaimerContainer",constructorParams:{}},successDialog:{constructor:"App.ProductBookPaymentContainer",constructorParams:{}},book:{constructor:"App.ProductBookContainer",constructorParams:{}},confetti:{constructor:"App.OverlayConfetti",constructorParams:{}}}},function(){App.Page.apply(this,arguments)}),cm.getConstructor("Page.Book",function(e,t,n,a){n.onConstructStart=function(){this.views={},this.timeouts={},this.productId=null},n.onValidateParams=function(){this.productId=this.params.productId[App._env.environment]||this.params.productId.dev,this.pageStatus=this.params.route.parameters?.status},n.onDestructEnd=function(){cm.forEach(this.timeouts,e=>clearTimeout(e)),cm.forEach(this.components,e=>e.destruct())},n.renderView=function(){var e=this;e.nodes.container=cm.node("article",{classes:["page","page--product-book"]},cm.node("section",{classes:["tpl__section","tpl__section--product-book-intro","is-box","has-padding-large-adaptive","has-mobile-overlap"]},cm.node("div",{classes:"section__gradient"}),cm.node("div",{classes:"inner"},cm.node("hgroup",{classes:["section__title"]},e.nodes.titleLine1=cm.node("p",{classes:["section__line","h2"],innerHTML:e.msg("intro.presents")}),e.nodes.titleLine2=cm.node("h1",{classes:["section__line","h1","is-large","h1-sm-default"],innerHTML:e.msg("intro.book")}),e.nodes.titleLine3=cm.node("p",{classes:["section__line","h2"],innerHTML:e.msg("intro.author")})),cm.node("hr",{classes:"section__divider"}),cm.node("div",{classes:"section__layout"},e.nodes.description=cm.node("div",{classes:"section__description"},cm.node("hr",{classes:["section__divider","media--on-mobile"]}),cm.node("div",{classes:"section__entry",innerHTML:e.msg("about.description")})),e.nodes.image=cm.node("div",{classes:"section__image"},e.nodes.imageTarget=Application.Images.embed({image:App.getPath("pages.book.img","book.png"),alt:e.msg("about.bookAlt"),modifiers:["product-book"],classes:["is-cover"]})),e.nodes.actions=cm.node("div",{classes:["section__actions","is-transparent","is-
1hidden","is-animated"]},e.nodes.actionsInner=cm.node("div",{classes:"inner"},cm.node("hr",{classes:["section__divider","media--on-desktop"]})))))),cm.node("section",{classes:["tpl__section","tpl__section--product-book-author","is-box","has-padding-large-adaptive"]},cm.node("div",{classes:"section__gradient"}),cm.node("div",{classes:"inner"},e.nodes.authorImage=cm.node("div",{classes:"section__image"},e.nodes.authorImageTarget=Application.Images.embed({image:App.getPath("pages.book.img","rodrick-samuels.jpg"),alt:e.msg("author.authorAlt"),modifiers:["product-book-author"],classes:["is-cover"]})),e.nodes.authorEntry=cm.node("div",{classes:"section__entry",innerHTML:e.msg("author.description")})))),Application.User.isAuthorized()||(e.views.sign=e.renderSignView({container:e.nodes.container})),e.renderAnimations()},n.renderViewModel=function(){let n=this;a.prototype.renderViewModel.apply(n,arguments),cm.getConstructor(n.params.read.constructor,e=>{n.components.read=new e(cm.merge(n.params.read.constructorParams,{events:{onComplete:(e,t)=>n.onReadSuccess(t.data)}}))})},n.onReadSuccess=function(e){let t=this,n=(t.productData=e.find(e=>"book"===e.type),t.renderReveal(),cm.removeClass(t.nodes.actions,"is-hidden"),t.nodes.actionsInner.offsetHeight);t.nodes.actions.style.height="0px",cm.addEvent(t.nodes.actions,"transitionend",e=>{e.target===t.nodes.actions&&(cm.removeClass(t.nodes.actions,"is-animated"),t.nodes.actions.style.height="")}),cm.onSchedule(()=>{cm.removeClass(t.nodes.actions,"is-transparent"),t.nodes.actions.style.height=n+"px"})},n.renderReveal=function(){Application.User.isAuthorized()?Application.User.isProductPurchased(void 0,this.productId)?this.views.read=this.renderReadView({container:this.nodes.actionsInner}):cm.isEmpty(this.productData)||(this.views.purchase=this.renderPurchaseView({container:this.nodes.actionsInner})):cm.remove(this.nodes.actionsInner)},n.renderCountdownView=function(e){let n=this,a={nodes:{},params:cm.merge({currentDate:null,expiresDate:null,container:cm.node("div")},e)};var e=App.dateToLocalDate(a.params.expiresDate,{year:"numeric",month:"long",day:"numeric"}),t=App.dateToLocalTime(a.params.expiresDate);return a.nodes.container=cm.node("div",{classes:"section__countdown"},cm.node("h2",n.msg("countdown.title")),cm.node("p",{classes:["h4","p-sm-large"]},n.msgParse("countdown.description",{date:e,time:t})),cm.node("ul",{classes:"section__timer"},cm.node("li",cm.node("h6",{classes:"label"},n.msg("countdown.days")),a.nodes.d=cm.node("div",{classes:["count","text--title"]},"00")),cm.node("li",cm.node("h6",{classes:"label"},n.msg("countdown.hours")),a.nodes.h=cm.node("div",{classes:["count","text--title"]},"00")),cm.node("li",cm.node("h6",{classes:"label"},n.msg("countdown.minutes")),a.nodes.m=cm.node("div",{classes:["count","text--title"]},"00")),cm.node("li",cm.node("h6",{classes:"label"},n.msg("countdown.seconds")),a.nodes.s=cm.node("div",{classes:["count","text--title"]},"00")))),cm.getConstructor(n.params.timer.constructor,e=>{n.components.timer=new e(cm.merge(n.params.timer.constructorParams,{count:a.params.expiresDate.getTime()-a.params.currentDate.getTime(),events:{onStart:(e,t)=>n.updateCountdownTimer(t,a),onTick:(e,t)=>n.updateCountdownTimer(t,a),onEnd:()=>n.finishCountdown(a)}}))}),cm.appendChild(a.nodes.container,a.params.container),a}
1,n.updateCountdownTimer=function(e,n){n&&cm.forEach(e,(e,t)=>{n.nodes[t]&&(n.nodes[t].textContent=cm.addLeadZero(e))})},n.finishCountdown=function(e){let t=this;e&&(cm.remove(e.nodes.container),t.renderReveal(),cm.getConstructor(t.params.confetti.constructor,e=>{t.components.confetti=new e(cm.merge(t.params.confetti.constructorParams,{container:document.body})),t.timeouts.confetti=setTimeout(()=>{t.components.confetti.start(),t.timeouts.confetti=setTimeout(()=>t.components.confetti.stop(),5e3)},300)}))},n.renderSignView=function(e){e={nodes:{},params:cm.merge({container:cm.node("div")},e)};return e.nodes.container=cm.node("section",{classes:["tpl__section","tpl__section--product-book-sign","is-box","has-padding-large-adaptive"]},e.nodes.holder=cm.node("div",{classes:"inner"})),Application.renderAccessBox({audience:"beautician",container:e.nodes.holder,messages:{title:this.msg("purchase.title")}}),cm.appendChild(e.nodes.container,e.params.container),e},n.renderPurchaseView=function(e){let n=this,t={nodes:{},params:cm.merge({container:cm.node("div")},e)};e=!Application.User.isBeauticianAll()&&n.productData.consumerPrice||n.productData.price,e=cm.formatNumber(e,{currency:"USD",style:"currency"});return t.nodes.container=cm.node("div",{classes:"section__purchase"},cm.node("h3",{classes:"section__price",innerHTML:n.msgParse("purchase.price",{price:e})}),cm.node("div",{classes:"section__button"},t.nodes.button=Application.Buttons.embed({modifiers:["round","border","xlarge","desktop-xxlarge"],label:n.msg("purchase.button")}))),cm.getConstructor(n.params.disclaimerDialog.constructor,e=>{n.components.disclaimerDialog=new e(cm.merge(n.params.disclaimerDialog.constructorParams,{node:t.nodes.button,events:{onSuccess:(e,t)=>n.purchaseAction(t)}}))}),cm.appendChild(t.nodes.container,t.params.container),t},n.renderReadView=function(e){let t=this,n={nodes:{},params:cm.merge({container:cm.node("div")},e)};return n.nodes.container=cm.node("div",{classes:"section__read"},cm.node("div",{classes:"section__button"},n.nodes.button=Application.Buttons.embed({modifiers:["round","border","xlarge","desktop-xxlarge"],label:t.msg("read.start")}))),cm.getConstructor(t.params.book.constructor,e=>{t.components.book=new e(cm.merge(t.params.book.constructorParams,{node:n.nodes.button,productId:t.productId}))}),"success"===t.pageStatus&&(t.timeouts.successDialog&&clearTimeout(t.timeouts.successDialog),t.timeouts.successDialog=setTimeout(()=>t.renderSuccessDialog(),cm._config.lazyDelay)),cm.appendChild(n.nodes.container,n.params.container),n},n.renderSuccessDialog=function(){let t=this;cm.getConstructor(t.params.successDialog.constructor,e=>{t.components.successDialog=new e(cm.merge(t.params.successDialog.constructorParams,{events:{onStart:()=>t.components.book.open()}}))})},n.renderAnimations=function(){let n=this;var e={titleLine1:{nodes:{container:n.nodes.titleLine1},animations:{"text-writing":{}},autoStartDelay:500},titleLine2:{nodes:{container:n.nodes.titleLine2},animations:{"text-writing":{}},autoStartDelay:600},titleLine3:{nodes:{container:n.nodes.titleLine3},animations:{"text-writing":{}},autoStartDelay:700},book:{nodes:{container:n.nodes.image,target:n.nodes.imageTarget},animations:{opacity:{},"slide-right":{}},animationsAdaptive:{opacity:{},expand:{}}},description:{nodes:{container:n.nodes.description},animations:{opacity:{},"slide-left":{}},animationsAdaptive:{opacity:{},"slide-bottom-10":{}},delayAdaptive:"150ms",observerDelayAdaptive:1e3},authorImage:{nodes:{container:n.nodes.authorImage,target:n.nodes.authorImageTarget},animations:{opacity:{},expand:{}}},authorEntry:{nodes:{container:n.nodes.authorEntry},animations:{opacity:{},"slide-bottom":{}}}};cm.forEach(e,(e,t)=>{n.renderAnimation(t,e)})},n.renderAnimation=function(t,n){let a=this;cm.getConstructor(a.params.animation.constructor,e=>{a.components["animation--"+t]=new e(cm.merge(a.params.animation.constructorParams,n))})},n.purchaseAction=function(e){cm.errorLog({type:"common",name:t,message:"Redirection to: "+e.url}),window.location.assign(e.url)}}),cm.define("Page.ChatGPT",{extend:"App.Page",params:{name:"chat-gpt",layout:["layout--default-clean","layout--chatgpt"],redrawOnRender:!0,minHeight:300,categories:{constructor:"App.ChatGPTCategories",constructorParams:{}},chat:{constructor:"App.ChatGPT",constructorParams:{}}}},function(){App.Page.apply(this,arguments)}),cm.getConstructor("Page.ChatGPT",function(e,t,n,a){n.onConstructStart=function(){this.views={}},n.onRedraw=function(){this.redrawChatView()},n.renderView=function(){this.nodes.container=cm.node("article",{classes:["page","page--chat-gpt"]},cm.node("section",{classes:["tpl__section","tpl__section--chat-gpt-title","is-box","has-padding-adaptive"]},cm.node("div",{classes:"inner"},cm.node("h1",{classes:["section__title","section__title--adaptive"]},this.msg("title")))),cm.node("section",{classes:["tpl__section","tpl__section--chat-gpt","is-box","has-padding-bottom-adaptive"]},cm.node("div",{classes:"inner"},this.nodes.content=cm.node("div",{classes:"section__content"})))),this.views.categories=this.renderCategoriesView({container:this.nodes.content}),this.views.chat=this.renderChatView({container:this.nodes.content})},n.renderCategoriesView=function(e){let n=this,t={params:cm.merge({container:cm.node("div")},e)};return cm.getConstructor(n.params.categories.constructor,e=>{n.components.categories=new e(cm.merge(n.params.categories.constructorParams,{container:t.params.container,events:{onSend:(e,t)=>n.sendChatMessage(t)}}))}),t},n.renderChatView=function(e){let t=this,n={nodes:{},params:cm.merge({container:cm.node("div")},e)};return n.nodes.container=cm.node("section",{classes:["tpl__box","tpl__box--chat-gpt","has-overlay"]},n.nodes.inner=cm.node("div",{classes:"inner"},n.nodes.holder=cm.node("div",{classes:"app__chat-gpt__container"}))),cm.getConstructor(t.params.chat.constructor,e=>{t.components.chat=new e(cm.merge(t.params.chat.constructorParams,{container:n.nodes.holder})),t.components.chat.renderMessage({role:"assistant",content:cm.strToHTML(t.msg("description"))})}),cm.appendChild(n.nodes.container,n.params.container),n},n.redrawChatView=function(){var e=this.views.chat,t=cm.getPageSize(),n=cm.getRect(e.nodes.container);let a=t.winHeight-(t.scrollTop+n.top);cm.isBreakpoint("tabletUp")&&(a-=parseFloat(cm.getCSSVariable("--block-indent--adaptive"))),cm.setCSSVariable("--page-chatgpt--height",Math.max(this.params.minHeight,a)+"px",e.nodes.container),this.components.chat&&this.components.chat.redraw()},n.sendChatMessage=function(e){var t=this.msgObject("tones")[e.tone]||e.tone;this.components.chat.sendMessage({role:"user",content:e.content+` [${e.label} - ${t}]`})}}),cm.define("Page.ComingSoon",{extend:"App.Page",params:{name:"coming-soon"}},function(e){App.Page.apply(this,arguments)}),cm.getConstructor("Page.ComingSoon",function(e,t,n){n.renderView=function(){this.nodes.container=cm.node("div",{class:"page page--coming-soon"},cm.node("section",{class:"tpl__section is-box"},cm.node("div",{class:"inner"},cm.node("h1",{class:"section__title"},this.msg("title")))))}}),cm.define("Page.Contact",{extend:"App.Page",params:{name:"contact",layout:"layout--default",userHelper:{constructor:"App.UserHelper"},userBox:{constructor:"App.UserReport",constructorParams:{returnRoute:"index",returnButton:{classes:["is-wide","is-wrap"],modifiers:["desktop-xxlarge"],noRoute:!1}}}}},function(){App.Page.apply(this,arguments)}),cm.getConstructor("Page.Contact",function(e,t,n,a){n.onConstructEnd=function(){this.components.userBox&&this.components.userBox.focus()},n.renderView=function(){this.nodes.container=cm.node("article",{classes:["page","page--contact"]},cm.node("section",{classes:["tpl__section","tpl__section--contact","is-box"]},cm.node("div",{classes:"inner"},cm.node("h1",{classes:"section__title"},this.msg("title")),this.nodes.holder=cm.node("div",{classes:"section__entry"})))),this.renderLinksSection()},n.renderViewModel=function(){let t=this;a.prototype.renderViewModel.apply(t,arguments),cm.find(t.params.userHelper.constructor,null,null,e=>{t.components.userHelper=e}),cm.getConstructor(t.params.userBox.constructor,e=>{t.components.userBox=new e(cm.merge(t.params.userBox.constructorParams,{messages:t.msgObject("box"),container:t.nodes.holder}))})},n.renderLinksSection=function(){let t=this;
1Application.User.isAuthorized()||(t.nodes.links=Application.Sections.renderLinks({sectionModifiers:["sign-links"],listClasses:["is-horizontal","is-adaptive"],container:t.nodes.container,items:[{label:t.msg("actions.register"),link:Router.getURL("signup"),noRoute:!0,callback:e=>{cm.preventDefault(e),t.components.userHelper.openRegisterBox()}},{label:t.msg("actions.login"),link:Router.getURL("signin"),noRoute:!0,callback:e=>{cm.preventDefault(e),t.components.userHelper.openLoginBox()}}]}))}}),cm.define("Page.Directory",{extend:"App.Page",params:{name:"directory",layout:["layout--default-clean","layout--mobile-overlap","layout--directory"],toolbar:{constructor:"App.DirectoryToolbar",constructorParams:{}},filter:{constructor:"Form.MembersSearchFilter",constructorParams:{}},map:{constructor:"App.Directory",constructorParams:{}},specialityRequest:{constructor:"App.SpecialityRequest",constructorParams:{}}}},function(){App.Page.apply(this,arguments)}),cm.getConstructor("Page.Directory",function(e,t,n,a){n.onConstructStart=function(){this.locationParams=null,this.locationUpdateMethod="auto",this.locationBound="location",this.isLocationBoundChanged=!1},n.onConstructEnd=function(){this.requestLocation()},n.renderView=function(){this.nodes.container=cm.node("article",{classes:["page","page--directory"]},this.nodes.mapContainer=cm.node("section",{classes:["tpl__section","tpl__section--directory-map"]},this.nodes.mapHolder=cm.node("div",{classes:"inner"}))),this.nodes.filterContainer=cm.node("section",{classes:["tpl__section","tpl__section--directory-filter"]},cm.node("div",{classes:"inner"},cm.node("h1",{classes:"section__title"},this.msg("title")),this.nodes.filterHolder=cm.node("div",{classes:"section__entry"}),this.nodes.cardsHolder=cm.node("div",{classes:"section__entry"})))},n.renderViewModel=function(){let t=this;a.prototype.renderViewModel.apply(t,arguments),cm.getConstructor(t.params.toolbar.constructor,e=>{t.components.toolbar=new e(cm.merge(t.params.toolbar.constructorParams,{container:t.nodes.mapHolder}))}),cm.getConstructor(t.params.filter.constructor,e=>{t.components.filter=new e(cm.merge(t.params.filter.constructorParams,{toolbar:t.components.toolbar,events:{onChange:t.requestLocation.bind(t)}}))}),cm.getConstructor(t.params.map.constructor,e=>{t.components.map=new e(cm.merge(t.params.map.constructorParams,{container:t.nodes.mapHolder,toolbar:t.components.toolbar,callbacks:{prepare:t.beforeLocationChange.bind(t)},events:{onRequest:t.afterChangeLocation.bind(t)}}))}),cm.getConstructor(t.params.specialityRequest.constructor,e=>{t.components.specialityRequest=new e(cm.merge(t.params.specialityRequest.constructorParams,{overlayParams:{container:t.nodes.filterHolder},events:{onComplete:t.afterSpecialityRequest.bind(t)}})),t.components.specialityRequest.send()})},n.requestLocation=function(){var e=this.components.filter.get("sendPath");cm.isEmpty(e.location)&&(e.zoom=this.components.map.getZoom(),e.location=this.components.map.getLocationString(),e.place={},this.updateFilter(e)),this.components.map.set(e)},n.updateFilter=function(e){var t={zoom:this.components.map.getZoom(),location:{value:this.components.map.getLocationString(),data:{}},place:{}};cm.isEmpty(e.filter.firstname)&&cm.isEmpty(e.filter.lastname)?(t.location.text="",t.location.placeholder=Application.msg("locations.visible"),t["location-filter"]=Application.msg("locations.visible")):(t.location.text="",t.location.placeholder=Application.msg("locations.country"),t["location-filter"]=Application.msg("locations.country")),this.components.filter.set(t,{triggerEvents:!1})},n.beforeLocationChange=function(e){var t=this,n=(t.locationUpdateMethod=e.getLastUpdateMethod(),e.callbacks.getParams(e));if(cm.isEmpty(n.filter.firstname)&&cm.isEmpty(n.filter.lastname))t.isLocationBoundChanged="location"!==t.locationBound,t.locationBound="location";else if(t.isLocationBoundChanged="country"!==t.locationBound,t.locationBound="country",delete n.location,delete n.zoom,e.isDataFetched()&&cm.stringifyJSON(n.filter)===cm.stringifyJSON(t.locationParams.filter))return void e.callbacks.requestEvents(e,n);t.locationParams=n,"manual"===t.locationUpdateMethod&&e.reset(),e.callbacks.request(e,n)},n.afterChangeLocation=function(e){var t=this.components.filter.get("sendPath");"manual"===this.locationUpdateMethod&&!this.isLocationBoundChanged||this.updateFilter(t)},n.afterSpecialityRequest=function(e,t){cm.isEmpty(t)||(this.components.filter.setSpeciality(t.data),this.components.map.setSpeciality(t.data))}}
1),App._path["pages.education-videos.img"]="./img/pages/EducationVideos",cm.define("Page.EducationVideos",{extend:"App.Page",params:{name:"education-videos",constructCollector:!0,productId:{prod:"68764d4c26dd8ab405932cd2",dev:"68764d4c26dd8ab405932cd2"},video:{constructor:"App.Video",constructorParams:{theme:"light",showControls:!0}},form:{constructor:"Form.ProductEducationVideos",constructorParams:{}},notifications:{constructor:"Com.Notifications",constructorParams:{closable:!1}},request:{constructor:"App.Request",constructorParams:{showLoader:!0,autoSend:!0,responseKey:null,responseErrorsKey:"name",ajax:{url:App._api.pages.read,type:"json",method:"GET"}}}}},function(){App.Page.apply(this,arguments)}),cm.getConstructor("Page.EducationVideos",function(e,t,n,a){n.onConstructStart=function(){this.views={},this.productId=null,this.isIntroWatched=!1},n.onValidateParams=function(){this.productId=this.params.productId[App._env.environment]||this.params.productId.dev,this.pageStatus=this.params.route.parameters?.status},n.onConstructComplete=function(){Application.User.isProductPurchased(void 0,this.productId)?this.views.page=this.renderPageView({container:this.nodes.container}):this.views.purchase=this.renderPurchaseView({container:this.nodes.container})},n.onDestructEnd=function(){this.components.video?.destruct(),this.components.form?.destruct(),this.components.request?.destruct(),this.components.notifications?.destruct()},n.renderView=function(){this.nodes.container=cm.node("article",{classes:["page","page--education-vi
1deos"]},this.nodes.introSection=cm.node("section",{classes:["tpl__section","tpl__section--triangles","tpl__section--education-videos-intro","is-box","has-padding-large-adaptive"]},cm.node("div",{classes:"section__overlay"}),this.nodes.holder=cm.node("div",{classes:"inner"},cm.node("div",{classes:"section__content"},cm.node("h1",{classes:["section__title","text--gradient-public"]},this.msg("title")),cm.node("div",{classes:"section__entry",innerHTML:this.msg("description")}))))),this.views.video=this.renderVideoView({container:this.nodes.holder})},n.renderVideoView=function(e){let t=this,n={nodes:{},params:cm.merge({container:cm.node("div")},e)};return n.nodes.container=cm.node("div",{classes:"section__video"}),cm.getConstructor(t.params.video.constructor,e=>{t.components.video=new e(cm.merge(t.params.video.constructorParams,{container:n.nodes.container,poster:{image:App.getPath("pages.education-videos.img","intro.jpg")},sources:[{type:"video/webm",src:"https://beautician-list-static.s3.us-east-1.amazonaws.com/uploads/education-vi
1deos/intro.webm"},{type:"video/mp4",src:"https://beautician-list-static.s3.us-east-1.amazonaws.com/uploads/education-videos/intro.mp4"}],events:{onPlay:()=>t.introAction()}}))}),cm.appendChild(n.nodes.container,n.params.container),n},n.renderPurchaseView=function(e){let n=this,t={nodes:{},params:cm.merge({container:cm.node("div")},e)};return t.nodes.container=cm.node("section",{classes:["tpl__section","tpl__section--education-videos-purchase","is-box","has-padding-large-adaptive"]},cm.node("div",{classes:"inner"},cm.node("h2",{classes:["section__title","text--gradient-public","h1"]},n.msg("purchase.title")),t.nodes.holder=cm.node("div",{classes:"section__content"},cm.node("div",{classes:"section__entry",innerHTML:n.msg("purchase.description")}),cm.node("h3",{classes:"section__price",innerHTML:n.msg("purchase.price")})))),cm.getConstructor(n.params.form.constructor,e=>{n.components.form=new e(cm.merge(n.params.form.constructorParams,{container:t.nodes.holder,events:{onSuccess:(e,t)=>n.purchaseAction(t)}}))}),cm.appendChild(t.nodes.container,t.params.container),t},n.renderPageView=function(e){let n=this,t={nodes:{},params:cm.merge({container:cm.node("div")},e)};return t.nodes.container=cm.node("section",{classes:["tpl__wrapper","tpl__wrapper--education-vi
1deos-page"]}),cm.getConstructor(n.params.request.constructor,e=>{n.components.request=new e(cm.merge(n.params.request.constructorParams,{data:{id:"education-videos"},overlayParams:{theme:"transparent",container:t.nodes.container},events:{onSuccess:(e,t)=>n.renderPage(t.data),onError:(e,t)=>n.renderError(t.message)}}))}),cm.appendChild(t.nodes.container,t.params.container),t},n.renderError=function(e){var t=this.views.page;t&&(e||=cm._strings.common.server_error,t.nodes.error=cm.node("section",{classes:["tpl__section","tpl__section--education-videos","is-box","has-padding-large-adaptive"]},cm.node("div",{classes:"inner"},cm.node("div",{classes:["cm__empty","h6"]},e))),cm.appendChild(t.nodes.error,t.nodes.container))},n.renderPage=function(e){var t=this.views.page;t&&(cm.isEmpty(e.audience)||Application.Blog.checkAudienceAccess(e.audience)?cm.isEmpty(e.content)?this.views.purchase=this.renderPurchaseView({container:this.nodes.container}):(t.nodes.container.innerHTML=e.content,"success"===this.pageStatus&&(this.views.notifications=this.renderNotificationView({container:t.nodes.container,insertMethod:"insertFirst"})),this.constructCollector(),this.redraw("full")):Router.summon("error",null,{data:{page_title:e.title,audie
1nce:e.audience}}))},n.renderNotificationView=function(e){let t=this,n={nodes:{},params:cm.merge({container:cm.node("div"),insertMethod:"appendChild"},e)};return n.nodes.container=cm.node("section",{classes:["tpl__section","tpl__section--education-videos-notice","is-box","has-padding-large-adaptive"]},n.nodes.holder=cm.node("div",{classes:"inner"})),cm.getConstructor(t.params.notifications.constructor,e=>{t.components.notifications=new e(cm.merge(t.params.notifications.constructorParams,{container:n.nodes.holder,items:[{type:"success",label:t.msg("notifications.payment")}]}))}),cm[n.params.insertMethod](n.nodes.container,n.params.container),n},n.introAction=function(){this.isIntroWatched||(this.isIntroWatched=!0,UserHelper.updateUserParams({"education-videos-intro":(new Date).toISOString()}))},n.purchaseAction=function(e){cm.errorLog({type:"common",name:t,message:"Redirection to: "+e.url}),window.location.assign(e.url)}}),cm.define("Page.Error",{extend:"App.Page",params:{name:"error",layout:"layout--default"}},function(){App.Page.apply(this,arguments)}),cm.getConstructor("Page.Error",function(e,t,n,a){n.onValidateParams=function(){var e=this;e.data={page_title:null,title:e.msg("title"),description:null,button:null,code:1001},e.data=cm.merge(e.data,e.getRouteMatchData()),e.data=cm.merge(e.data,e.getParamsData(e.params.route.data)),e.data=cm.merge(e.data,e.getParamsData(e.params.data)),1404===e.data.code&&(e.data=cm.merge(e.data,e.msgObject("1404")))},n.onDestructEnd=function(){this.components.errorBeacon&&this.components.errorBeacon.destruct()},n.getRouteMatchData=function(){var e;let t={};return cm.isEmpty(this.params.route.match)||(e=this.params.route.match.pop(),t=cm.merge(t,{page_title:cm.getString(e.constructor,"page_title"),code:"authorized"===e.access?1003:1001}),t=cm.merge(t,this.msgObject(e.access)),t=cm.isEmpty(e.audience)||Application.Blog.checkAudienceAccess(e.audience)?cm.merge(t,cm.getMessages(e.constructor,"403")):(e=cm.isArray(e.audience)?e.audience[0]:e.audience,cm.merge(t,this.msgObject(e)))),t},n.getParamsData=function(e){var t;return cm.isEmpty(e)?{}:(cm.isEmpty(e.access)||Application.User.checkRoleAccess(e.access)||(e=cm.merge(this.msgObject(e.access),e)),cm.isEmpty(e.audience)||Application.Blog.checkAudienceAccess(e.audience)||(t=cm.isArray(e.audience)?e.audience[0]:e.audience,e=cm.merge(this.msgObject(t),e)),e)},n.renderView=function(){var e=this;e.nodes.container=cm.node("article",{classes:"page page--error"},cm.node("section",{classes:"tpl__section pull-center is-box"},e.nodes.inner=cm.node("div",{classes:"inner"},e.nodes.entry=cm.node("div",{classes:"section__entry"}))),cm.node("section",{classes:"tpl__section tpl__section--buttons is-box"},cm.node("div",{classes:"inner"},e.nodes.buttonsEntry=cm.node("div",{classes:"section__entry"})))),cm.isEmpty(e.data.title)||(e.nodes.title=cm.node("h1",{classes:"section__title"},e.data.title),cm.insertFirst(e.nodes.title,e.nodes.inner)),cm.isEmpty(e.data.description)||(e.nodes.description=cm.node("h5",{classes:["p-sm"],innerHTML:e.data.description}),cm.appendChild(e.nodes.description,e.nodes.entry)),cm.isNode(e.data.button)&&(e.nodes.button=e.data.button,cm.appendChild(e.nodes.button,e.nodes.buttonsEntry)),e.renderButtons()},n.renderButtons=function(){var e=this;let t=Router.getCurrent();1003===e.data.code&&(Application.User.isAuthorized()?e.nodes.loginButton=Application.Buttons.embed({container:e.nodes.buttonsEntry,classes:["is-wide"],modifiers:["desktop-xxlarge"],label:e.msg("switchAccount"),link:Router.getURL("signin"),noRoute:!0,callback:e=>{cm.preventDefault(e),UserHelper.openLoginBox({returnRoute:t.route})}}):(e.nodes.loginButton=Application.Buttons.embed({container:e.nodes.buttonsEntry,classes:["is-wide"],modifiers:["desktop-xxlarge"],label:e.msg("login"),link:Router.getURL("signin"),noRoute:!0,callback:e=>{cm.preventDefault(e),UserHelper.openLoginBox({returnRoute:t.route})}}),e.nodes.registerButtton=Application.Buttons.embed({container:e.nodes.buttonsEntry,classes:["is-wide"],modifiers:["desktop-xxlarge"],label:e.msg("register"),link:Router.getURL("signup"),noRoute:!0,callback:e=>{cm.preventDefault(e),UserHelper.openRegisterBox({returnRoute:t.route})}}))),1404===e.data.code&&(e.nodes.contactButton=Application.Buttons.embed({label:e.msg("contact"),classes:["is-wide"],modifiers:["desktop-xxlarge"],link:Router.getURL("contact"),noRoute:!0,container:e.nodes.buttonsEntry,callback:e=>{cm.preventDefault(e),UserHelper.openReportBox()}})),e.nodes.homeButton=Application.Buttons.embed({label:e.msg("home"),classes:["is-wide",e.no
1des.buttonsEntry.hasChildNodes()?"button-transparent":null],modifiers:["desktop-xxlarge"],link:Router.getURL("index"),container:e.nodes.buttonsEntry})},n.renderViewModel=function(){a.prototype.renderViewModel.apply(this,arguments),cm.isEmpty(this.data.page_title)||this.setDocumentTitle(this.data.page_title),1404===this.data.code&&this.renderErrorBeacon()},n.renderErrorBeacon=function(){ErrorBeacon&&ErrorBeacon.send({message:cm.join([this.data.message,this.data.error?.message,this.data.error?.stack],"\n")})}}),cm.define("Page.Gallery",{extend:"App.Page",params:{name:"gallery",layout:["layout--default-clean","layout--gallery"],filter:{constructor:"Form.GalleryFilter",constructorParams:{}},gallery:{constructor:"App.GalleryIndex",constructorParams:{}}}},function(){App.Page.apply(this,arguments)}),cm.getConstructor("Page.Gallery",function(e,t,n,a){n.renderView=function(){this.nodes.container=cm.node("div",{classes:["page","page--gallery"]},cm.node("section",{classes:["tpl__section","tpl__section--gallery-title","is-box","has-padding-adaptive"]},cm.node("div",{classes:"inner"},cm.node("h1",{classes:"section__title"},this.msg("title")))),this.nodes.filterSection=cm.node("section",{classes:["tpl__section","tpl__section--gallery-filter","is-box","has-indent-adaptive"]},this.nodes.filterHolder=cm.node("div",{classes:"inner"})),this.nodes.gallerySection=cm.node("section",{classes:["tpl__section","tpl__section--gallery","is-box","has-padding-bottom-adaptive"]},this.nodes.galleryHolder=cm.node("div",{classes:"inner"})))},n.renderViewModel=function(){let n=this;a.prototype.renderViewModel.apply(n,arguments),cm.getConstructor(n.params.filter.constructor,e=>{n.components.filter=new e(cm.merge(n.params.filter.constructorParams,{container:n.nodes.filterHolder,events:{onChange:()=>n.updateGalleryListAction()}}))}),cm.getConstructor(n.params.gallery.constructor,e=>{n.components.gallery=new e(cm.merge(n.params.gallery.constructorParams,{container:n.nodes.galleryHolder,create:{enable:!0},list:{constructorParams:{ajax:n.getFilterActionParams()}},events:{onEditableSuccess:(e,t)=>{"create"===t&&n.updateGalleryListAction()}}}))})},n.getFilterActionParams=function(){this.components.filter.get("all");return{params:{filter:this.components.filter.get("send")}}},n.updateGalleryListAction=function(){this.components.gallery.setListAction(this.getFilterActionParams(),"update",!1,!0)}}),cm.define("Page.LandingAbout",{extend:"App.Page",events:["onCategoryChange","onSectionIntersecting"],params:{name:"landing",layout:["layout--default-clean","layout--landing"],userHelper:{constructor:"App.UserHelper"},registerBox:{constructor:"App.UserRegister",constructorParams:{renderDescription:!1,loginLink:{render:!0,noRoute:!0}}},blogRequest:{constructor:"App.Request",constructorParams:{showLoader:!1,autoSend:!0,responseKey:"posts",data:{id:App._config.blog.mainCategory},ajax:{url:App._api.blog_categories.read,type:"json",method:"GET",params:{groupsubcat:4,order:"-date",limit:0}}}}}},function(){App.Page.apply(this,arguments)}),cm.getConstructor("Page.LandingAbout",function(e,t,n,a){n.onConstructStart=function(){this.views={},this.intersections=[],this.categories=["hair","skin","nails","makeup"],this.category=null,this.isProcess=!1,this.processInterval=null},n.onConstructEnd=function(){this.setCategory("hair")},n.onDestructEnd=function(){cm.remove(this.nodes.stylesheet),this.processInterval&&clearTimeout(this.processInterval),this.components.blogRequest&&this.components.blogRequest.destruct(),this.components.observer&&this.components.observer.disconnect()},n.renderView=function(){var e=this;e.nodes.container=cm.node("article",{classes:["page","page--landing"]}),e.views.intro=e.renderIntroView({container:e.nodes.container}),e.views.discover=e.renderDiscoverView({container:e.nodes.container}),e.views.connect=e.renderConnectView({container:e.nodes.container}),e.views.lern=e.renderLearnView({container:e.nodes.container}),e.views.find=e.renderFindView({container:e.nodes.container}),e.views.welcome=e.renderWelcomeView({container:e.nodes.container})},n.renderViewModel=function(){let t=this;a.prototype.renderViewModel.apply(t,arguments),cm.find(t.params.userHelper.constructor,null,null,e=>{t.components.userHelper=e}),t.components.observer=new IntersectionObserver(t.processObserverEntries.bind(t),{root:null,rootMargin:"0px",threshold:.33}),cm.forEach(t.intersections,e=>t.components.observer.observe(e.target))},n.renderIntroView=function(e){let t={nodes:{},params:cm.merge({container:cm.node("div")},e)};return t.nodes.container=cm.node("section",{classes:["tpl__section","tpl__section--landing-intro","is-box","has-padding-large-adaptive","has-indent-none"]},cm.node("div",{classes:"section__background"}),cm.node("div",{classes:"inner"},cm.node("div",{classes:"section__title",innerHTML:this.msg("intro.title")}),cm.node("div",{classes:"section__content",innerHTML:this.msg("intro.description")}),cm.node("div",{classes:"section__links",innerHTML:this.msg("intro.links")},Application.embedStoreLinks({pull:"center",classes:["theme--dark"],renderQRCode:!0}),Application.Buttons.embed({title:this.msg("intro.button.title"),modifiers:["hero-border-black"],classes:["is-round"],icons:{classes:["medium"],after:"arrowDown"},callback:()=>{cm.scrollTo(t.nodes.container,window,{block:"end",duration:cm._config.animDurationLong})}})))),cm.appendChild(t.nodes.container,t.params.container),t},n.renderDiscoverView=function(e){let t=this,n={isIntersecting:!1,nodes:{},params:cm.merge({container:cm.node("div")},e)};return n.nodes.container=cm.node("section",{classes:["tpl__section","tpl__section--landing-discover","is-box","has-padding-large","has-indent-none"]},cm.node("div",{classes:"inner"},cm.node("div",{classes:"section__columns"},cm.node("div",{classes:["section__column","section__column--title"]},cm.node("div",{classes:"section__entry",innerHTML:t.msg("discover.entry")}),cm.node("div",{classes:"section__button"},Application.Buttons.embed({label:t.msg("discover.button.label"),ariaLabel:t.msg("discover.button.title"),icons:{after:"chevronRight"},link:Router.getURL("directory"),modifiers:["hero-border-black"]}))),cm.node("div",{classes:["section__column","section__column--image"]},n.nodes.image=cm.node("div",{classes:"section__image"},n.nodes.map=cm.node("div",{classes:"section__map"},cm.node("div",{classes:["section__map__shape","tpl__style--border-white"]},Application.Images.embed({image:App.getPath("pages.landing.img","map.png"),alt:t.msg("discover.map.title"),modifiers:["landing-discover-map"],classes:["is-cover"],imageDataset:{pinNopin:"true"}}
1)))),n.nodes.buttons=cm.node("div",{classes:"section__buttons"}))))),n.buttons=t.renderCategoryButtonsView({container:n.nodes.buttons}),t.addEvent("onRedraw",()=>t.redrawDiscoverMap(n)),t.addEvent("onCategoryChange",(e,t)=>{n.isIntersecting&&(n.pins=e.renderDiscoverPins({category:t,previous:n.pins,container:n.nodes.map}))}),t.registerObserverEntry(n.nodes.image,e=>{n.isIntersecting=e,n.isIntersecting?n.pins=t.renderDiscoverPins({category:t.category,previous:n.pins,container:n.nodes.map}):t.removeDiscoverPins(n.pins)}),cm.appendChild(n.nodes.container,n.params.container),n},n.renderDiscoverPins=function(e){let n=this,a={data:{hair:[{w:100,x:80,y:45.5},{w:100,x:32.5,y:40.5},{w:80,x:58,y:20},{w:80,x:85,y:5},{w:80,x:10,y:10},{w:60,x:49,y:-12},{w:60,x:25,y:-16}],skin:[{w:100,x:-5,y:53},{w:100,x:71,y:51},{w:80,x:44,y:26},{w:80,x:11,y:10},{w:80,x:81,y:6},{w:60,x:56,y:-7},{w:60,x:24,y:-15}],nails:[{w:100,x:47,y:56},{w:100,x:80,y:45},{w:80,x:5,y:32},{w:80,x:79,y:7},{w:80,x:39,y:14},{w:60,x:20,y:-10},{w:60,x:63,y:-14}],makeup:[{w:100,x:31,y:42},{w:80,x:72,y:36},{w:80,x:8,y:24},{w:80,x:46,y:9},{w:60,x:25,y:-8},{w:60,x:85,y:-3},{w:60,x:62,y:-13}]},params:cm.merge({category:"hair",previous:null,container:cm.node("div")},e)};return a.params.previous&&n.removeDiscoverPins(a.params.previous),a.pins=a.data[a.params.category],a.pinsCount=a.pins?.length||0,cm.forEach(a.pins,(e,t)=>{e.node=Application.Directory.embedPin({container:a.params.container,classes:["is-scaled"],modifiers:["landing"],styles:{left:e.x+"%",top:e.y+"%",zIndex:a.pinsCount-t,transitionDelay:50*(t+1)+"ms"},size:e.w,image:{image:App.getPath("pages.landing.img",a.params.category+`/avatar${t+1}.jpg`),alt:n.msg("discover.map.avatar")}}),cm.onSchedule(()=>cm.replaceClass(e.node,"is-scaled","is-scaled-visible"))}),a},n.removeDiscoverPins=function(e){e&&cm.forEach(e.pins,t=>{cm.addEvent(t.node,"transitionend",e=>{e.target===t.node&&cm.remove(t.node)}),cm.onSchedule(()=>cm.replaceClass(t.node,"is-scaled-visible","is-scaled"))})},n.redrawDiscoverMap=function(e){var t=e.nodes.image.offsetWidth/e.nodes.map.offsetWidth;cm.setCSSVariable("--page-landing--discover--map-scale",1<t?1:t,e.nodes.map)},n.renderConnectView=function(e){let t=this,n={isShown:!1,nodes:{profile:{}},params:cm.merge({container:cm.node("div")},e)};return n.nodes.container=cm.node("section",{classes:["tpl__section","tpl__section--landing-connect","is-box","has-padding-large","has-indent-none"]},cm.node("div",{classes:"inner"},cm.node("div",{classes:"section__columns"},cm.node("div",{classes:["section__column","section__column--title"]},cm.node("div",{classes:"section__entry",innerHTML:t.msg("connect.entry")}),cm.node("div",{classes:"section__button"},Application.Buttons.embed({label:t.msg("connect.button.label"),ariaLabel:t.msg("connect.button.title"),icons:{after:"chevronRight"},link:Router.getURL("directory"),modifiers:["hero-border-black"]}))),cm.node("div",{classes:["section__column","section__column--image"]},n.nodes.profile.container=cm.node("div",{classes:"section__profile"}
1,n.nodes.profile.main=cm.node("div",{classes:["tpl__style--border-white","section__profile-main"]}),n.nodes.profile.gallery=cm.node("div",{classes:"section__profile-gallery"},n.nodes.profile.photo1=cm.node("div",{classes:["section__profile-photo"]}),n.nodes.profile.photo2=cm.node("div",{classes:["section__profile-photo"]})),n.nodes.profile.details=cm.node("div",{classes:["section__profile-details"]})),n.nodes.buttons=cm.node("div",{classes:"section__buttons"}))))),n.buttons=t.renderCategoryNavView({container:n.nodes.buttons}),t.addEvent("onCategoryChange",(e,t)=>{n.isShown&&(n.profile=e.renderConnectItems({category:t,previous:n.profile,profile:n.nodes.profile}))}),t.registerObserverEntry(n.nodes.profile.container,e=>{e&&!n.isShown&&(n.isShown=!0,n.profile=t.renderConnectItems({category:t.category,previous:n.profile,profile:n.nodes.profile}))}),cm.appendChild(n.nodes.container,n.params.container),n},n.renderConnectItems=function(e){e={images:{},params:cm.merge({category:"hair",previous:null,profile:{}},e)};return e.params.previous&&cm.forEach(e.params.previous.images,t=>{cm.addEvent(t,"transitionend",e=>{e.target===t&&cm.remove(t)}),cm.onSchedule(()=>cm.replaceClass(t,"is-visible","is-hidden-out"))}),e.images.profile=Application.Images.embed({image:App.getPath("pages.landing.img",e.params.category+"/profile.png?version=1.1"),alt:this.msg("connect.profile.title"),modifiers:["landing-connect","landing-connect-profile"],classes:["is-cover","is-hidden-in"],container:e.params.profile.main}),e.images.details=Application.Images.embed({image:App.getPath("pages.landing.img",e.params.category+"/profile-details.png?version=1.1"),alt:this.msg("connect.profile.details"),modifiers:["landing-connect","landing-connect-details"],classes:["tpl__style--border-white","is-cover","is-hidden-in"],container:e.params.profile.details}),e.images.photo1=Application.Images.embed({image:App.getPath("pages.landing.img",e.params.category+"/profile-photo1.jpg?version=1.1"),alt:this.msg("connect.profile.photo"),modifiers:["landing-connect","landing-connect-photo"],classes:["tpl__style--border-white","is-cover","is-hidden-in","order-1"],container:e.params.profile.photo1}),e.images.photo2=Application.Images.embed({image:App.getPath("pages.landing.img",e.params.category+"/profile-photo2.jpg?version=1.1"),alt:this.msg("connect.profile.photo"),modifiers:["landing-connect","landing-connect-photo"],classes:["tpl__style--border-white","is-cover","is-hidden-in","order-2"],container:e.params.profile.photo2}),cm.forEach(e.images,e=>{cm.onSchedule(()=>cm.replaceClass(e,"is-hidden-in","is-visible"))}),e},n.renderLearnView=function(e){let n=this,a={isShown:!1,nodes:{blocks:[]},params:cm.merge({postsCount:4,container:cm.node("div")},e)};return a.nodes.container=cm.node("section",{classes:["tpl__section","tpl__section--landing-learn","is-box","has-padding-large","has-indent-none"]},cm.node("div",{classes:"inner"},cm.node("div",{classes:"section__columns"},cm.node("div",{classes:["section__column","section__column--title"]},cm.node("div",{classes:"section__entry",innerHTML:n.msg("learn.entry")}),cm.node("div",{classes:"section__button"},Application.Buttons.embed({label:n.msg("learn.button.label"),ariaLabel:n.msg("learn.button.title"),icons:{after:"chevronRight"},link:Router.getURL("blog"),modifiers:["hero-border-black"]}))),cm.node("div",{classes:["section__column","section__column--image"]},a.nodes.image=cm.node("div",{classes:"section__image"},a.nodes.posts=cm.node("div",{classes:["section__posts","is-hidden"]})),a.nodes.buttons=cm.node("div",{classes:"section__buttons"}))))),n.renderLearnBlocks(a),a.buttons=n.renderCategoryButtonsView({container:a.nodes.buttons}),cm.getConstructor(n.params.blogRequest.constructor,e=>{n.components.blogRequest=new e(cm.merge(n.params.blogRequest.constructorParams,{events:{onSuccess:(e,t)=>{a.postsData=n.filterLearnPostsData(t.data),a.posts=n.renderLearnPosts(a,a.postsData?.[n.category],{category:n.category,previous:a.posts,toggle:!1})}}}))}),n.addEvent("onCategoryChange",(e,t)=>{a.isShown&&(a.posts=e.renderLearnPosts(a,a.postsData?.[t],{category:t,previous:a.posts}))}),n.registerObserverEntry(a.nodes.image,e=>{e&&!a.isShown&&(a.isShown=!0,a.posts=n.renderLearnPosts(a,a.postsData?.[n.category],{category:n.category,previous:a.posts}))}),cm.appendChild(a.nodes.container,a.params.container),a},n.renderLearnBlocks=function(n){n.nodes.postsLeft=cm.node("div",{classes:["section__posts__column","is-first"]}),cm.addEvent(n.nodes.postsLeft,"transitionend",()=>cm.removeClass(n.nodes.postsLeft,"is-animate")),cm.appendChild(n.nodes.postsLeft,n.nodes.posts),n.nodes.postsRight=cm.node("div",{classes:["section__posts__column","is-second"]}),cm.addEvent(n.nodes.postsRight,"transitionend",()=>cm.removeClass(n.nodes.postsRight,"is-animate")),cm.appendChild(n.nodes.postsRight,n.nodes.posts),cm.forEach(n.params.postsCount,e=>{var t=cm.node("div",{classes:["section__post","tpl__style--border-white"]});
1cm.appendChild(t,cm.isEven(e)?n.nodes.postsLeft:n.nodes.postsRight),n.nodes.blocks.push(t)})},n.toggleLearnBlocks=function(e){cm.hasClass(e.nodes.postsLeft,"is-first")?(cm.replaceClass(e.nodes.postsLeft,"is-first","is-second"),cm.replaceClass(e.nodes.postsRight,"is-second","is-first")):(cm.replaceClass(e.nodes.postsLeft,"is-second","is-first"),cm.replaceClass(e.nodes.postsRight,"is-first","is-second")),cm.hasClass(e.nodes.posts,"is-hidden")&&cm.replaceClass(e.nodes.posts,"is-hidden","is-visible")},n.renderLearnPosts=function(a,e,t){let s={nodes:[],data:e,params:cm.merge({category:"hair",previous:null,toggle:!0},t)};return s.params.previous&&cm.forEach(s.params.previous.nodes,t=>{cm.addEvent(t,"transitionend",e=>{e.target===t&&cm.remove(t)}),cm.onSchedule(()=>cm.replaceClass(t,"is-visible","is-hidden"))}),cm.forEach(s.data,(e,t)=>{let n=Application.renderPostCard(e,{modifiers:["landing-learn"],classes:["is-hidden"],titleTagName:"p",titleSize:["p","is-small"],renderLink:!0,showImage:!0,showCategories:!1,showAuthor:!1,showDate:!1,showBadge:!1,showAbstract:!1,container:a.nodes.blocks[t]});cm.appendChild(n.container,a.nodes.blocks[t]),s.nodes.push(n.container),cm.onSchedule(()=>cm.replaceClass(n.container,"is-hidden","is-visible"))}),s.params.toggle&&this.toggleLearnBlocks(a),s},n.filterLearnPostsData=function(n){return cm.forEach({Hair:"hair","Make Up":"makeup",Nails:"nails",Skin:"skin"},(e,t)=>{delete Object.assign(n,{[e]:n[t]})[t]}),n},n.renderFindView=function(e){let t=this,n={isShown:!1,nodes:{columns:[]},params:cm.merge({container:cm.node("div")},e)};return n.nodes.container=cm.node("section",{classes:["tpl__section","tpl__section--landing-find","is-box","has-padding-large","has-indent-none"]},cm.node("div",{classes:"inner"},cm.node("div",{classes:"section__columns"},cm.node("div",{classes:["section__column","section__column--title"]},cm.node("div",{classes:"section__entry",innerHTML:t.msg("find.entry")}),cm.node("div",{classes:"section__button"},Application.Buttons.embed({label:t.msg("find.button.label"),ariaLabel:t.msg("find.button.title"),icons:{after:"chevronRight"},link:Router.getURL("gallery"),modifiers:["hero-border-black"]}))),n.nodes.columns[0]=cm.node("div",{classes:["section__column","section__column--photo"]}),n.nodes.columns[1]=cm.node("div",{classes:["section__column","section__column--photo"]}),n.nodes.columns[2]=cm.node("div",{classes:["section__column","section__column--photo"]}),n.nodes.buttons=cm.node("div",{classes:"section__buttons"})))),n.buttons=t.renderCategoryNavView({container:n.nodes.buttons}),t.addEvent("onCategoryChange",(e,t)=>{n.photos=e.renderFindItems({category:t,previous:n.photos,columns:n.nodes.columns,show:n.isShown})}),t.registerObserverEntry(n.nodes.columns[0],e=>{e&&!n.isShown&&(n.isShown=!0,n.photos=t.renderFindItems({category:t.category,previous:n.photos,columns:n.nodes.columns,show:!0}))}),cm.appendChild(n.nodes.container,n.params.container),n},n.renderFindItems=function(e){let n=this,a={data:Application.Landing.getGalleryItems(),params:cm.merge({parity:"odd",category:"hair",previous:null,columns:[],show:!0},e)};return a.params.previous&&(cm.forEach(a.params.previous.photos,t=>{cm.addEvent(t.node,"transitionend",e=>{e.target===t.node&&cm.remove(t.node)}),cm.onSchedule(()=>cm.replaceClass(t.node,"is-visible","is-hidden-out"))}),a.params.parity="odd"===a.params.previous.params.parity?"even":"odd"),a.photos=a.data[a.params.category],a.photosCount=a.pins?.length||0,cm.forEach(a.photos,(e,t)=>{e.node=cm.node("a",{classes:["section__photo","order-"+(t+1),"parity-"+a.params.parity,"is-hidden-in"],href:Router.getURL("gallery")},cm.node("div",{classes:"section__image"},Application.Images.embed({image:App.getPath("pages.landing.img",a.params.category+`/photo${t+1}.jpg`),alt:n.msg("find.photo"),modifiers:["landing-find"],classes:["tpl__style--border-white","is-cover","is-hover-cursor"]})),cm.node("div",{classes:"section__user"},Application.User.embedCard(e.user,{modifiers:["landing-find"],classes:["no-padding"],renderLink:!1,avatar:{image:App.getPath("pages.landing.img",a.params.category+`/photo-avatar${t+1}.jpg`)},user:{render:!0,renderBadge:!1,markPrivate:!1,classes:["is-nowrap"]},description:{render:!0,content:cm.dateFormat(e.created,cm._config.displayDateTimeFormat),classes:["card__normal","is-nowrap","h7"]},editable:{enable:!0,icon:{icon:"like-border",ariaHidden:!0}}}
1))),a.params.show||cm.addClass(e.node,"is-hidden"),cm.appendChild(e.node,a.params.columns[t]),cm.onSchedule(()=>cm.replaceClass(e.node,"is-hidden-in","is-visible"))}),a},n.renderWelcomeView=function(e){let t=this,n={isIntersecting:!1,nodes:{},params:cm.merge({container:cm.node("div")},e)};return n.nodes.container=cm.node("section",{classes:["tpl__section","tpl__section--landing-welcome","is-box","has-padding-large","has-indent-none"]},cm.node("div",{classes:"inner"},cm.node("div",{classes:"section__columns"},cm.node("div",{classes:"section__column"},cm.node("div",{classes:"section__title",innerHTML:t.msg("welcome.title")}),n.nodes.pins=cm.node("div",{classes:"section__pins"}),cm.node("div",{classes:"section__entry",innerHTML:t.msg("welcome.entry")})),cm.node("hr",{classes:"section__divider"}),cm.node("div",{classes:"section__column"},cm.node("div",{classes:["tpl__box","tpl__box--border-white","tpl__box--landing-welcome","tpl__style--border-white"]},cm.node("div",{classes:"inner"},cm.node("div",{classes:"box__title",innerHTML:t.msg("welcome.box.title")}),n.nodes.form=cm.node("div",{classes:"box__content"}))))))),cm.getConstructor(t.params.registerBox.constructor,e=>{t.components.registerBox=new e(cm.merge(t.params.registerBox.constructorParams,{container:n.nodes.form,loginLink:{callback:e=>{cm.preventDefault(e),t.components.userHelper.openLoginBox()}}}))}),t.addEvent("onCategoryChange",(e,t)=>{n.isIntersecting&&(n.pins=e.renderWelcomePins({category:t,previous:n.pins,container:n.nodes.pins}))}),t.registerObserverEntry(n.nodes.pins,e=>{n.isIntersecting=e,n.isIntersecting?n.pins=t.renderWelcomePins({category:t.category,previous:n.pins,container:n.nodes.pins}):t.removeWelcomePins(n.pins)}),cm.appendChild(n.nodes.container,n.params.container),n},n.renderWelcomePins=function(e){let a=this,s={data:{hair:[{w:60,p:3,i:4},{w:80,p:2,i:3},{w:100,p:1,i:0},{w:80,p:2,i:2},{w:60,p:3,i:7}],skin:[{w:60,p:3,i:5},{w:80,p:2,i:2},{w:100,p:1,i:0},{w:80,p:2,i:1},{w:60,p:3,i:4}],nails:[{w:60,p:3,i:2},{w:80,p:2,i:7},{w:100,p:1,i:0},{w:80,p:2,i:3},{w:60,p:3,i:6}],makeup:[{w:60,p:3,i:6},{w:80,p:2,i:7},{w:100,p:1,i:0},{w:80,p:2,i:5},{w:60,p:3,i:3}]},nodes:{},params:cm.merge({category:"hair",previous:null,container:cm.node("div")},e)};return s.params.previous&&a.removeWelcomePins(s.params.previous),s.nodes.container=cm.node("div",{classes:"section__pins__group"}),cm.appendChild(s.nodes.container,s.params.container),s.pins=s.data[s.params.category],s.pinsCount=s.pins?.length||0,cm.forEach(s.pins,(e,t)=>{var n=0===e.i;e.node=Application.Directory.embedPin({container:s.params.container,classes:["is-scaled"],modifiers:["landing-welcome",n?"landing-welcome-logo":null],styles:{zIndex:s.pinsCount-e.p,transitionDelay:100*e.p+"ms"},size:e.w,image:{classes:[n?"is-contain":"is-cover"],image:n?App.getPath("common.img","svg/logo-icon.svg"):App.getPath("pages.landing.img",`${s.params.category}/avatar${e.i}.jpg`),alt:a.msg("welcome.avatar")}}),cm.appendChild(e.node,s.nodes.container),cm.onSchedule(()=>cm.replaceClass(e.node,"is-scaled","is-scaled-visible"))}),s},n.removeWelcomePins=function(a){a&&cm.forEach(a.pins,(t,n)=>{cm.addEvent(t.node,"transitionend",e=>{e.target===t.node&&(cm.remove(t.node),n+1===a.pinsCount)&&cm.remove(a.nodes.container)}),cm.onSchedule(()=>cm.replaceClass(t.node,"is-scaled-visible","is-scaled"))})},n.renderCategoryButtonsView=function(e){let t=this,n={items:[],params:cm.merge({container:cm.node("div")},e)};return cm.forEach(t.categories,e=>{n.items.push({name:e,label:t.msg("categories."+e),role:"radio",ariaChecked:!1,activeClasses:["active","selected"],modifiers:["toggle-hero"],handler:()=>t.setCategory(e)})}),n.buttons=Application.Buttons.renderContainer({container:n.params.container,classes:["pull-justify"],modifiers:["toggle-hero"],role:"radiogroup",items:n.items}),t.addEvent("onCategoryChange",(e,t)=>n.buttons.toggleItems(t)),n},n.renderCategoryNavView=function(e){let t=this,n={items:[],params:cm.merge({container:cm.node("div")},e)};return cm.forEach(t.categories,e=>{n.items.push({name:e,label:t.msg("categories."+e),title:t.msg("categories."+e),role:"radio",ariaChecked:!1,activeClasses:["active","selected"],modifiers:["toggle-nav"],handler:()=>t.setCategory(e)})}),n.buttons=Application.Buttons.renderContainer({container:n.params.container,classes:["pull-center"],modifiers:["toggle-nav"],role:"radiogroup",items:n.items}),t.addEvent("onCategoryChange",(e,t)=>n.buttons.toggleItems(t)),n},n.renderStyles=function(e,t){this.nodes.stylesheet?cm.removeCSSRule(this.nodes.stylesheet.sheet,e,0):(this.nodes.stylesheet=document.createElement("style"),document.head.appendChild(this.nodes.stylesheet)),cm.addCSSRule(this.nodes.stylesheet.sheet,e,t,0)},n.processObserverEntries=function(e){cm.forEach(this.intersections,t=>{cm.forEach(e,e=>{t.target===e.target&&cm.isFunction(t.callback)&&t.callback(e.isIntersecting)})}),this.triggerEvent("onSectionIntersecting",this.intersections)},n.registerObserverEntry=function(e,t){this.intersections.push({target:e,callback:t})},n.setCategory=function(e){let t=this;t.isProcess||e===t.category||(t.isProcess=!0,t.processInterval&&clearTimeout(t.processInterval),t.processInterval=setTimeout(()=>{t.isProcess=!1},1e3),t.category=e,t.renderStyles(":root",{"--page-landing--color":`var(--page-landing--${t.category}--color)`,"--page-landing--color-hover":`var(--page-landing--${t.category}--color-hover)`,"--page-landing--background":`var(--page-landing--${t.category}--background)`,"--page-landing--button":`var(--page-landing--${t.category}--button)`,"--page-landing--button-shadow":`var(--page-landing--${t.category}--button-shadow)`,"--page-landing--nav":`var(--page-landing--${t.category}--nav)`,"--page-landing--shadow":`var(--page-landing--${t.category}--shadow)`,"--page-landing--index":cm.arrayIndex(t.categories,e)}),t.setThemeColor(cm.getCSSVariable("--page-landing--background")),t.triggerEvent("onCategoryChange",t.category))},n.setDocumentTitle=function(){return Application.setDocumentTitle(App._env.metaTitle,{replace:!0}),this}}),cm.getConstructor("App.Application",function(e,t,n){n.Landing={},n.Landing.getGalleryItems=function(){return{hair:[{created:"2023-03-21T16:39:51.767Z",user:{profile:{firstname:"Julie",lastname:"Padd
1ock"}}},{created:"2022-04-25T11:55:25.861Z",user:{profile:{firstname:"Joelle",lastname:"Hanke"}}},{created:"2018-09-06T16:04:50.773Z",user:{profile:{firstname:"Danielle",lastname:"Lindsay"}}}],skin:[{created:"2024-03-08T17:15:19.290Z",user:{profile:{firstname:"Betsabeth",lastname:"Chevalier"}}},{created:"2023-06-23T23:52:50.351Z",user:{profile:{firstname:"Ruda",lastname:"Spa"}}},{created:"2022-07-24T02:08:45.009Z",user:{profile:{lastname:"Beauty Spa Salon"}}}],nails:[{created:"2023-03-21T16:39:51.767Z",user:{profile:{firstname:"Alexander",lastname:"White"}}},{created:"2024-04-10T20:31:19.653Z",user:{profile:{firstname:"Rebeca",lastname:"Perry"}}},{created:"2024-02-06T04:16:43.681Z",user:{profile:{firstname:"Christine",lastname:"Stoeber"}}}],makeup:[{created:"2023-07-01T02:40:37.993Z",user:{profile:{firstname:"Alexa",lastname:"Gledhill"}}},{created:"2018-10-24T00:02:27.839Z",user:{profile:{firstname:"Brenda",lastname:"Gonzalez"}}},{created:"2018-06-25T07:00:32.259Z",user:{profile:{firstname:"Gilbert",lastname:"Tellez"}}}]}}}),App._path["pages.landing.img"]="./img/pages/Landing",cm.define("Page.Landing",{extend:"App.Page",params:{name:"landing",layout:["layout--default-clean","layout--landing"],blogFeatured:{constructor:"App.BlogFeatured",constructorParams:{imagePriority:!1}},blogPosts:{constructor:"App.BlogPosts",constructorParams:{category:App._config.blog.mainCategory,posts:{limit:!0,filter:!0,showViewMore:!0}}}}},function(){App.Page.apply(this,arguments)}),cm.getConstructor("Page.Landing",function(e,t,n,a){n.onConstructStart=function(){this.views={}},n.onConstructEnd=function(){this.setThemeColor(cm.getCSSVariable("--page-landing--background"))},n.onDestructEnd=function(){},n.renderView=function(){var e=this;e.nodes.container=cm.node("article",{classes:["page","page--landing"]}),e.views.about=e.renderAboutView({container:e.nodes.container}),e.views.featured=e.renderFeaturedView({container:e.nodes.container}),e.views.separator=e.renderSeparatorView({container:e.nodes.container}),e.views.blog=e.renderBlogView({container:e.nodes.container}),e.views.search=e.renderSearchView({container:e.nodes.container}),e.views.gallery=e.renderGalleryView({container:e.nodes.container})},n.renderAboutView=function(e){e={nodes:{},params:cm.merge({container:cm.node("div")},e)};return e.nodes.container=cm.node("section",{classes:["tpl__section","tpl__section--landing-intro","is-box","has-padding-large-adaptive","has-indent-none"]},cm.node("div",{classes:"section__background"}),cm.node("div",{classes:"inner"},cm.node("div",{classes:"section__title",innerHTML:this.msg("about.title")}),cm.node("div",{classes:"section__content",innerHTML:this.msg("about.description")}),cm.node("div",{classes:"section__links",innerHTML:this.msg("about.links")},Application.embedStoreLinks({pull:"center",classes:["theme--dark"],renderQRCode:!0}),Application.Buttons.embed({label:this.msg("about.button.label"),ariaLabel:this.msg("about.button.title"),icons:{after:"chevronRight"},link:Router.getURL("page",null,{id:"about-us"}),modifiers:["hero-border-black"]})))),cm.appendChild(e.nodes.container,e.params.container),e},n.renderFeaturedView=function(e){let n=this,t={nodes:{},params:cm.merge({container:cm.node("div")},e)};return t.nodes.container=cm.node("section",{classes:["tpl__section","tpl__section--blog-featured","tpl__section--hidden","is-none","is-hidden","is-box","has-padding-large-adaptive","has-indent-none"]},cm.node("div",{classes:"inner"},t.nodes.holder=cm.node("div",{classes:"section__content"}))),cm.getConstructor(n.params.blogFeatured.constructor,e=>{n.components.blogFeatured=new e(cm.merge(n.params.blogFeatured.constructorParams,{container:t.nodes.holder,events:{onComplete:(e,t)=>{n.filterBlogPosts(t),n.toggleSectionsVisibility()}}}))}),cm.appendChild(t.nodes.container,t.params.container),t},n.renderSeparatorView=function(e){e={nodes:{},params:cm.merge({container:cm.node("div")},e)};return e.nodes.container=cm.node("div",{classes:["tpl__section","tpl__section--blog-separator","tpl__section--hidden","is-none","is-hidden","is-box","has-indent-none"],"aria-hidden":"true"},cm.node("div",{classes:"inner"},cm.node("hr",{classes:"section__divider"}))),cm.appendChild(e.nodes.container,e.params.container),e},n.renderBlogView=function(e){let t=this,n={nodes:{},params:cm.merge({container:cm.node("div")},e)};return n.nodes.container=cm.node("section",{classes:["tpl__section","tpl__section--blog-categories","tpl__section--hidden","is-none","is-hidden","is-box","has-padding-large-adaptive","has-indent-none"]},cm.node("div",{classes:"inner"},n.nodes.holder=cm.node("div",{classes:"section__content"}))),cm.getConstructor(t.params.blogPosts.constructor,e=>{t.components.blogPosts=new e(cm.merge(t.params.blogPosts.constructorParams,{container:n.nodes.holder}))}),cm.appendChild(n.nodes.container,n.params.container),n},n.renderSearchView=function(e){let t={nodes:{},params:cm.merge({container:cm.node("div")},e)};return t.nodes.container=cm.node("section",{classes:["tpl__section","tpl__section--landing-search","tpl__section--hidden","is-none","is-hidden","is-box","has-padding-large","has-indent-none"]},cm.node("div",{classes:"inner"},cm.node("div",{classes:"section__columns"},cm.node("div",{classes:"section__card"},t.nodes.cardHolder=cm.node("div",{classes:"inner"})),cm.node("div",{classes:"section__title",innerHTML:this.msg("search.title")})),cm.node("div",{classes:"section__content",innerHTML:this.msg("search.description")}),cm.node("div",{classes:"section__button"},Application.Buttons.embed({label:this.msg("search.button.label"),icons:{after:"chevronRight"},link:Router.getURL("directory"),modifiers:["hero-border-white"]})))),cm.forEach(9,e=>{Application.Images.embedIcon({icon:"pin",classes:["large",0===e?"active":void 0],container:t.nodes.cardHolder})}),this.renderSearchCard(t),cm.appendChild(t.nodes.container,t.params.container),t},n.renderSearchCard=function(t){t.user={role:"tech",name:"Max Tech",address:"1st Ave., New York, NY, USA",avatar:"avatar.jpg",profile:{firstname:"Max",lastname:"Tech"}},t.nodes.cardContainer=cm.node("div",{classes:["app__card-container","a
1pp__card-container--landing-search"]},cm.node("div",{classes:["app__user-speciality","p","is-small"]},t.nodes.cardSpecialityHolder=cm.node("dl",cm.node("dt",cm.node("span",this.msg("search.speciality.label")))))),cm.forEach(this.msgObject("search.speciality.items"),e=>{cm.appendChild(cm.node("dd",e),t.nodes.cardSpecialityHolder)}),Application.User.renderCard(t.user,{container:t.nodes.cardContainer,insertMethod:"insertFirst",modifiers:["landing-search"],classes:["no-padding"],renderLink:!1,avatar:{image:App.getPath("pages.landing.img",t.user.avatar)},user:{render:!0,tagName:"h5",renderBadge:!0,classes:["is-nowrap"]},description:{render:!0,content:t.user.address,tagName:"h6",classes:["card__normal","is-nowrap","h7"]},editable:{enable:!0,title:null,icon:{icon:"favorite-border",ariaHidden:!0}}}),cm.appendChild(t.nodes.cardContainer,t.nodes.cardHolder)},n.renderGalleryView=function(e){e={nodes:{},params:cm.merge({container:cm.node("div")},e)};return e.nodes.container=cm.node("section",{classes:["tpl__section","tpl__section--landing-gallery","tpl__section--hidden","is-none","is-hidden","is-box","has-padding-large","has-indent-none"]},cm.node("div",{classes:"inner"},e.nodes.holder=cm.node("div",{classes:"section__columns"},cm.node("div",{classes:["section__column","section__column--title"]},cm.node("div",{classes:"section__title",innerHTML:this.msg("gallery.title")}),cm.node("div",{classes:"section__button"},Application.Buttons.embed({label:this.msg("gallery.button.label"),ariaLabel:this.msg("gallery.button.title"),icons:{after:"chevronRight"},link:Router.getURL("gallery"),modifiers:["hero-border-black"]})))))),this.renderGalleryItems(e),cm.appendChild(e.nodes.container,e.params.container),e},n.renderGalleryItems=function(n){let a=this;var e=Application.Landing.getGalleryItems(),t=Object.keys(e);let s=t[cm.rand(0,t.length-1)];t=e[s];cm.forEach(t,(e,t)=>{t=cm.node("a",{classes:["section__column","section__column--photo"],href:Router.getURL("gallery")},cm.node("div",{classes:"section__image"},Application.Images.embed({image:App.getPath("pages.landing.img",s+`/photo${t+1}.jpg`),alt:a.msg("gallery.photo"),modifiers:["landing-gallery"],classes:["is-cover","is-hover-cursor"]})),cm.node("div",{classes:"section__user"},Application.User.embedCard(e.user,{modifiers:["landing-gallery"],classes:["no-padding"],renderLink:!1,avatar:{image:App.getPath("pages.landing.img",s+`/photo-avatar${t+1}.jpg`)},user:{render:!0,renderBadge:!1,markPrivate:!1,classes:["is-nowrap"]},description:{render:!0,content:cm.dateFormat(e.created,cm._config.displayDateTimeFormat),classes:["card__normal","is-nowrap","h7"]},editable:{enable:!0,icon:{icon:"like-border",ariaHidden:!0}}})));cm.appendChild(t,n.nodes.holder)})},n.filterBlogPosts=function(e){e=e?.map(e=>e.id)||[];this.components.blogPosts.filter(e)},n.toggleSectionsVisibility=function(){let e=this;cm.removeClass(e.views.featured.nodes.container,"is-none"),cm.removeClass(e.views.separator.nodes.container,"is-none"),cm.removeClass(e.views.blog.nodes.container,"is-none"),cm.removeClass(e.views.search.nodes.container,"is-none"),cm.removeClass(e.views.gallery.nodes.container,"is-none"),cm.onSchedule(()=>{cm.removeClass(e.views.featured.nodes.container,"is-hidden"),cm.removeClass(e.views.separator.nodes.container,"is-hidden"),cm.removeClass(e.views.blog.nodes.container,"is-hidden"),cm.removeClass(e.views.search.nodes.container,"is-hidden"),cm.removeClass(e.views.gallery.nodes.container,"is-hidden")})},n.setDocumentTitle=function(){return Application.setDocumentTitle(App._env.metaTitle,{replace:!0}),this}}),cm.define("Page.LangSwitch",{extend:"App.Page",params:{name:"lang-switch"}},function(e){App.Page.apply(this,arguments)}),cm.getConstructor("Page.LangSwitch",function(e,t,n,a){n.onConstructComplete=function(){var e=Router.getCurrent(),t=Router.getPrevious(),n={pushState:!1,replaceState:!0};e.captures.route?(e=Router.preparePath(e.captures.route,e.originParameters),Router.setURL(e,null,n)):t?.route?(e=Router.preparePath(t.route,t.originParameters),Router.setURL(e,null,n)):Router.set("index",null,n)}}),cm.define("Page.Nabba",{extend:"App.Page",params:{name:"nabba",layout:["layout--blank","layout--nabba"],noIndex:!0,form:{constructor:"Form.Nabba",constructorParams:{}}}},function(){App.Page.apply(this,arguments)}),cm.getConstructor("Page.Nabba",function(e,t,n,a){n.onConstructStart=function(){this.stages={},this.wasFormSend=!1},n.onConstructEnd=function(){this.start()},n.onDestructEnd=function(){cm.forEach(this.components,e=>e.destruct())},n.renderView=function(){let e=this;e.nodes.container=cm.node("article",{classes:["page","page--nabba"]},e.nodes.inner=cm.node("div",{classes:"inner"},cm.node("header",{classes:["tpl__section","tpl__section--nabba-header"]},cm.node("div",{classes:"inner"},cm.node("div",{classes:"section__logo"},cm.node("a",{classes:["icon","linked","svg__logo"],title:App._env.title,href:Router.getURL("nabba")}),Application.Buttons.embed({label:e.msg("header.start"),classes:["button-inline"],handler:()=>e.start()})),cm.node("h1",{classes:["section__title","h7"]},e.msg("header.title")))),cm.node("section",{classes:["tpl__section","tpl__section--nabba-content"],"aria-live":"polite"},e.nodes.holder=cm.node("div",{classes:"inner"})),cm.node("footer",{classes:["tpl__section","tpl__section--nabba-footer"]},cm.node("div",{classes:"inner"},cm.node("div",{classes:"section__links"},Application.Sections.embedList({classes:["cm__list-horizontal","p","is-small"],items:[{node:cm.node("span",e.msg("footer.label"))},{node:cm.node("span",cm.textNode(e.msg("footer.questions")),cm.textNode(e.msg("footer.email")))}]})))))),e.stages.form=e.renderFormStage({container:e.nodes.holder}),e.stages.meeting=e.renderMeetingStage({container:e.nodes.holder}),e.stages.success=e.renderSuccessStage({container:e.nodes.holder})},n.renderViewModel=function(){a.prototype.renderViewModel.apply(this,arguments)},n.setStage=function(n){cm.forEach(this.stages,(e,t)=>{e.nodes.container.setAttribute("aria-hidden",n!==t),cm.toggleClass(e.nodes.container,"is-
1hidden",n!==t)})},n.renderFormStage=function(e){let t=this,n={nodes:{},params:cm.merge({container:cm.node("div")},e)};return n.nodes.container=cm.node("div",{classes:["tpl__wrapper","is-hidden"],"aria-hidden":"true"},cm.node("section",{classes:["tpl__section","tpl__section--nabba-entry"]},cm.node("div",{classes:"inner"},cm.node("div",{classes:"section__title",innerHTML:t.msg("form.title")}),n.nodes.holder=cm.node("div",{classes:"section__entry"})))),Application.Sections.renderLinks({container:n.nodes.container,renderSeparator:!1,sectionClasses:[],sectionModifiers:["nabba-links"],listClasses:["is-horizontal","is-adaptive"],items:[{label:t.msg("form.meeting"),callback:()=>t.setStage("meeting")}]}),cm.getConstructor(t.params.form.constructor,e=>{t.components.form=new e(cm.merge(t.params.form.constructorParams,{container:n.nodes.holder,events:{onSuccess:()=>{t.wasFormSend=!0,t.setStage("success")}}}))}),cm.appendChild(n.nodes.container,n.params.container),n},n.renderMeetingStage=function(e){let t=this;e={nodes:{},params:cm.merge({container:cm.node("div")},e)};return e.nodes.container=cm.node("div",{classes:["tpl__wrapper","is-hidden"],"aria-hidden":"true"},cm.node("section",{classes:["tpl__section","tpl__section--nabba-entry"]},cm.node("div",{classes:"inner"},cm.node("div",{classes:"section__title",innerHTML:t.msg("meeting.title")}),cm.node("div",{classes:"section__button"},Application.Buttons.embed({label:t.msg("meeting.action"),modifiers:["xlarge","round"],link:"https://calendar.app.google/bfuZtETjUY3sy3qy5",target:"_blank",rel:"noopener"}))))),Application.Sections.renderLinks({container:e.nodes.container,renderSeparator:!1,sectionClasses:[],sectionModifiers:["nabba-links"],listClasses:["is-horizontal","is-adaptive"],items:[{label:t.msg("meeting.back"),handler:()=>t.setStage(t.wasFormSend?"success":"form")}]}),cm.appendChild(e.nodes.container,e.params.container),e},n.renderSuccessStage=function(e){let t=this;e={nodes:{},params:cm.merge({container:cm.node("div")},e)};return e.nodes.container=cm.node("div",{classes:["tpl__wrapper","is-hidden"],"aria-hidden":"true"},cm.node("section",{classes:["tpl__section","tpl__section--nabba-entry"]},cm.node("div",{classes:"inner"},cm.node("div",{classes:["section__title","pull-center"],innerHTML:t.msg("success.title")}),cm.node("div",{classes:"section__button"},Application.Buttons.embed({label:t.msg("success.action"),modifiers:["xlarge","round"],handler:()=>t.setStage("meeting")}))))),Application.Sections.renderLinks({container:e.nodes.container,renderSeparator:!1,sectionClasses:[],sectionModifiers:["nabba-links"],listClasses:["is-horizontal","is-adaptive"],items:[{label:t.msg("success.back"),handler:()=>t.start()}]}),cm.appendChild(e.nodes.container,e.params.container),e},n.start=function(){this.wasFormSend=!1,this.components.form.reset(),this.setStage("form")}}),cm.define("Page.OpenId",{extend:"App.Page",params:{name:"openid",layout:["layout--blank","layout--openid"],noIndex:!0,introStage:"login",redirectUrl:null,refererUrl:null,data:{},requestData:{},configData:{},langs:App.i18nGetLocales(),overlay:{constructor:"Com.Overlay",constructorParams:{theme:"logo",position:"absolute",showSpinner:!0,showContent:!1,autoOpen:!0,lazy:!1}},request:{constructor:"App.Request",constructorParams:{showLoader:!0,autoSend:!0,responseKey:null,ajax:{url:App._api.openid.brand_info,paramsType:"json",method:"POST"},overlayParams:{appendMode:"insertFirst",theme:"logo-background",lazy:!1}}},returnButton:{render:!0,renderOnError:!0,classes:["is-wide","is-wrap"],modifiers:["desktop-xxlarge"],noRoute:!1},notifications:{constructor:"Com.Notifications",constructorParams:{}},confirm:{constructor:"Form.OpenId",constructorParams:{renderButtonSpinner:!0,buttonsAlign:"center",buttonsAdaptive:!1}},login:{constructor:"App.UserLogin",constructorParams:{returnRoute:null,redirectBrands:!1,renderDescription:!1,renewLink:{render:!0,redirect:!1,noRoute:!0},registerLink:{render:!1,noRoute:!0}}},register:{constructor:"App.UserRegister",constructorParams:{renderDescription:!1,loginLink:{render:!1,noRoute:!0},linkParams:{noRoute:!0}}},registerForm:{constructorParams:{pendingReturnRoute:null,section:{titleTagName:"h2",classes:[]},backLink:{noRoute:!0},loginLink:{noRoute:!0},resetLink:{noRoute:!0},reportLink:{noRoute:!0}}}
1,registerForms:{enthusiast:{visible:!1,constructor:"App.UserSignupEnthusiast"},individual:{visible:!0,constructor:"App.UserSignupIndividual"},salon:{visible:!0,constructor:"App.UserSignupSalon"},student:{visible:!0,constructor:"App.UserSignupStudent"},other:{visible:!0,constructor:"App.UserSignupOther"},"salon-australia":{visible:!1,constructor:"App.UserSignupSalonAustralia"},"individual-australia":{visible:!1,constructor:"App.UserSignupIndividualAustralia"},"salon-international":{visible:!1,constructor:"App.UserSignupSalonInternational"},"individual-international":{visible:!1,constructor:"App.UserSignupIndividualInternational"}},renew:{individual:{constructor:"App.UserSignupRenewIndividual",constructorParams:{verification:{renderBackLink:!0}}},salon:{constructor:"App.UserSignupRenewSalon",constructorParams:{verification:{renderBackLink:!0}}},international:{constructor:"App.UserSignupRenewInternational",constructorParams:{registrationOther:{renderBackLink:!0}}},constructorParams:{pendingReturnRoute:null,section:{titleTagName:"h2",classes:[]},backLink:{noRoute:!0},loginLink:{noRoute:!0},reportLink:{noRoute:!0}}},reset:{constructor:"App.UserReset",constructorParams:{returnRoute:null}},report:{constructor:"App.UserReport",constructorParams:{returnRoute:null}}}},function(){App.Page.apply(this,arguments)}),cm.getConstructor("Page.OpenId",function(e,t,n,a){n.onConstructStart=function(){this.views={},this.routeData=null,this.currentStage=null,this.brandData=null,this.renewUserData=null,this.allowedRoles=[],this.isApp=!1},n.onValidateParams=function(){var e=this;e.routeData=e.params.route,e.params.requestData=e.routeData.parameters||e.routeData.data||e.params.requestData||{},cm.isEmpty(e.params.requestData.redirect_uri)||(e.params.requestData.redirect_url=e.params.requestData.redirect_uri),e.validateConfigData(e.params.requestData.config),e.validateRequestData(),e.params.requestData?.client_id===App._env.clientId&&(e.isApp=!0),e.allowedRoles=Application.User.getRoles("beauticianAll"),e.isApp&&e.allowedRoles.push("consumer"),e.validateReturnButtonParams()},n.onDestructEnd=function(){this.components.request?.destruct()},n.renderView=function(){this.nodes.container=cm.node("article",{classes:["page","page--openid"]},this.nodes.inner=cm.node("div",{classes:"inner"},cm.node("header",{classes:["tpl__section","tpl__section--openid-header"]},cm.node("div",{classes:"inner"},cm.node("div",{classes:"section__title"},cm.node("div",{classes:"svg__logo",role:"img",title:this.msgParse("header",{envTitle:App._env.title})})))),this.nodes.content=cm.node("section",{classes:["tpl__section","tpl__section--openid-content"]},this.nodes.contentHolder=cm.node("div",{classes:["inner","is-transparent"]})))),this.views.footer=this.renderFooterView({container:this.nodes.inner})},n.renderViewModel=function(){let n=this;a.prototype.renderViewModel.apply(n,arguments),cm.getConstructor(n.params.request.constructor,e=>{n.components.request=new e(cm.merge(n.params.request.constructorParams,{overlayParams:{container:n.nodes.content},ajax:{data:{client_id:n.params.requestData.client_id}},events:{onSuccess:(e,t)=>n.setBrandData(t.data),onError:(e,t)=>{cm.errorLog({type:"error",name:"Page.OpenId",message:"API key website request error: "+t.message})},onComplete:()=>{Application.User.isAuthorized()?n.setStage("confirm"):n.setStage(n.params.introStage),cm.removeClass(n.nodes.contentHolder,"is-transparent")}}}))})},n.setBrandData=function(e){this.brandData=e,this.params.data.source=this.getSourceWebsite(),this.renderFooterMessage(this.views.footer)},n.getSourceWebsite=function(){let e;if(this.params.refererUrl instanceof URL&&(e=this.params.refererUrl.hostname),this.params.redirectUrl instanceof URL&&(e=this.params.redirectUrl.hostname),!cm.isEmpty(this.brandData?.websites))try{var t=App.getURL(this.brandData.websites[0]);e=t.hostname}catch(e){cm.errorLog({type:"error",name:"Page.OpenId",message:"API key website is not provided or invalid: "+e.message})}return e},n.renderFooterView=function(e){let t=this;e={nodes:{},user:{},params:cm.merge({container:cm.node("div")},e)};
1return e.nodes.container=cm.node("footer",{classes:["tpl__section","tpl__section--openid-footer"]},e.nodes.inner=cm.node("div",{classes:"inner"},e.nodes.entry=cm.node("div",{classes:"section__entry"}),e.nodes.links=cm.node("div",{classes:"section__links"},Application.Sections.embedList({classes:["cm__list-horizontal","p","is-small"],items:[{label:t.msgParse("footer.report"),link:Router.getURL("contact"),noRoute:!0,callback:e=>{cm.preventDefault(e),t.setStage("report")}},{label:t.msgParse("footer.privacy"),link:Router.getURL("page",null,{id:"privacy-policy"}),target:"_blank",rel:"noopener"},{label:t.msgParse("footer.terms"),link:Router.getURL("page",null,{id:"Universal-Terms-of-Service"}),target:"_blank",rel:"noopener"}]})),e.nodes.powered=cm.node("div",{classes:"section__powered"},cm.node("p",t.msg("footer.powered")),cm.node("div",{classes:"section__licensify",title:"Licensify"},cm.node("div",{classes:["icon","faded","linked","svg__licensify"],role:"img"}))))),!cm.isEmpty(t.routeData.lang)&&1<t.params.langs.length&&(e.nodes.langs=cm.node("div",{classes:"section__links"},Application.Sections.embedLangSwitch({langs:t.params.langs,classes:["cm__list-horizontal","p","is-small"]})),cm.insertAfter(e.nodes.langs,e.nodes.links)),t.renderFooterMessage(e),cm.appendChild(e.nodes.container,e.params.container),e},n.renderFooterMessage=function(t){if(t=t||this.views.footer){let e=this.getSourceWebsite();cm.isEmpty(e)&&(e=this.msgParse("footer.noWebsite")),t.nodes.entry.innerHTML=this.msgParse("footer.message",{envTitle:App._env.title,website:e})}},n.stages={},n.setStage=function(e,t){var n=this;n.stages[e]&&(n.currentStage&&(n.currentStage.component?.destruct(),cm.remove(n.currentStage.nodes.container)),t=cm.merge({container:n.nodes.contentHolder},t),n.currentStage=n.stages[e].call(n,t),cm.isFunction(n.currentStage.component?.focus))&&n.currentStage.component?.focus()},n.getStage=function(e){return this.stages[e]},n.stages.confirm=function(e){let n=this,t={name:"confirm",nodes:{},user:{},params:cm.merge({container:cm.node("div")},e),storage:cm.merge({isNewUser:!1},n.storageGet("confirm"))};t.user=Application.User.validateProfile(),t.isAllowed=cm.inArray(n.allowedRoles,t.user.role);e=n.msgParse(t.isAllowed?"confirm.description.default":"confirm.description.wrongRole"),t.nodes.container=cm.node("div",{classes:["tpl__wrapper"]},cm.node("section",{classes:["tpl__section","tpl__section--openid-confirm"]},t.nodes.inner=cm.node("div",{classes:"inner"},cm.node("h2",{classes:"section__title"},n.msgParse("confirm.title")),cm.node("div",{classes:"section__subtitle",innerHTML:e}),t.nodes.holder=cm.node("div",{classes:"section__entry"})))),e=[];return e.push({label:n.msgParse("actions.switch"),link:Router.getURL("signin"),noRoute:!0,callback:e=>{cm.preventDefault(e),n.setStage("login")}}),t.isAllowed||e.push({label:n.msgParse("actions.register"),link:Router.getURL("signup"),noRoute:!0,callback:e=>{cm.preventDefault(e),n.setStage("register")}}),Application.Sections.renderLinks({sectionClasses:[],sectionModifiers:["openid-links"],listClasses:["is-horizontal","is-adaptive"],container:t.nodes.container,items:e}),cm.getConstructor(n.params.confirm.constructor,e=>{t.component=new e(cm.merge(n.params.confirm.constructorParams,{data:n.params.requestData,container:t.nodes.holder,disabled:!t.isAllowed,events:{onSuccess:(e,t)=>n.redirectAction(t),onError:(e,t)=>n.setErrors("confirm",t?.message,e.get?.("sendPath"))}}))}),t.isAllowed&&t.storage.isNewUser&&(t.storage.isNewUser=!1,n.storageSet("confirm",t.storage),cm.getConstructor(n.params.notifications.constructor,e=>{t.notifications=new e(cm.merge(n.params.notifications.constructorParams,{container:t.nodes.inner,embedStructure:"prepend",items:[{label:n.msgParse("confirm.welcomeNotice"),type:"success"}]}))})),cm.appendChild(t.nodes.container,t.params.container),t},n.stages.login=function(e){let n=this,t={name:"login",nodes:{},params:cm.merge({container:cm.node("div")},e)};return t.nodes.container=cm.node("div",{classes:["tpl__wrapper"]},cm.node("section",{classes:["tpl__section","tpl__section--signin"]},cm.node("div",{classes:"inner"},t.nodes.subtitle=cm.node("div",{classes:["section__subtitle","h6"]},cm.textNode(n.msgParse("actions.registerCall")),cm.textNode(" "),cm.node("br",{classes:"media--desktop-down"})),cm.node("h2",{classes:"section__title"},n.msgParse("login.title")),t.nodes.holder=cm.node("div",{classes:"section__entry"})))),Application.Buttons.render({container:t.nodes.subtitle,modifiers:["editable"],label:n.msgParse("actions.registerCallAction"),icons:{after:"chevronRight"},link:Router.getURL("signup"),noRoute:!0,callback:e=>{cm.preventDefault(e),n.setStage("register")}}),Application.Sections.renderLinks({sectionClasses:[],sectionModifiers:["openid-links"],listClasses:["is-horizontal","is-adaptive"],container:t.nodes.container,items:[{label:n.msgParse("actions.reset"),link:Router.getURL("user.reset"),noRoute:!0,callback:e=>{cm.preventDefault(e),n.setStage("reset")}}]}),cm.getConstructor(n.params.login.constructor,e=>{t.component=new e(cm.merge(n.params.login.constructorParams,{container:t.nodes.holder,data:n.params.data,renewLink:{callback:e=>{cm.preventDefault(e);e=n.renewUserData.international?"international":"salon"===n.renewUserData.role?"salon":"individual";n.setStage("renew",{view:e})}},registerLink:{callback:e=>{cm.preventDefault(e),n.setStage("register")}},events:{onError:(e,t)=>
1n.setErrors("login",t?.message),onRenew:(e,t)=>{n.renewUserData=t}}}))}),cm.appendChild(t.nodes.container,t.params.container),t},n.stages.register=function(e){let t=this;e={name:"register",nodes:{},params:cm.merge({container:cm.node("div")},e)};return e.nodes.container=cm.node("div",{classes:["tpl__wrapper"]},cm.node("section",{classes:["tpl__section","tpl__section--signup-choose"]},cm.node("div",{classes:"inner"},cm.node("h2",{classes:"section__title"},t.msgParse("register.title")),e.nodes.holder=cm.node("div",{classes:"section__entry"})))),e.links=Application.Sections.renderLinks({sectionClasses:[],sectionModifiers:["openid-links"],listClasses:["is-horizontal","is-adaptive"],container:e.nodes.container}),Application.Buttons.render({container:e.links.nodes.inner,modifiers:["editable"],label:t.msgParse("actions.login"),icons:{after:"chevronRight"},link:Router.getURL("signin"),noRoute:!0,callback:e=>{cm.preventDefault(e),t.setStage("login")}}),t.renderRegisterBox(e),cm.appendChild(e.nodes.container,e.params.container),e},n.stages.registerForm=function(e){let n=this,t={name:"registerForm",nodes:{},params:cm.merge({view:"individual",container:cm.node("div")},e)};return t.constructor=n.params.registerForms[t.params.view],t.constructor.constructorParams=cm.merge(n.params.registerForm.constructorParams,t.constructor.constructorParams),t.nodes.container=cm.node("div",{classes:["tpl__wrapper"]}),cm.getConstructor(t.constructor.constructor,e=>{t.component=new e(cm.merge(t.constructor.constructorParams,{container:t.nodes.container,embedStructure:"prepend",returnButton:n.params.returnButton,brandData:n.brandData,verification:{data:n.params.data},validation:{data:n.params.data},registration:{data:n.params.data},registrationOther:{data:n.params.data},registrationTicket:{data:n.params.data},backLink:{callback:e=>{cm.preventDefault(e),n.setStage("register")}},loginLink:{callback:e=>{cm.preventDefault(e),n.setStage("login")}},resetLink:{callback:e=>{cm.preventDefault(e),n.setStage("reset")}},reportLink:{callback:e=>{cm.preventDefault(e),n.setStage("report")}},events:{onSuccess:(e,t)=>{n.storageSet("confirm",{isNewUser:!0}),Application.User.login(t)},onError:(e,t)=>n.setErrors("registerForm",t?.message,e.get?.())}}))}),cm.appendChild(t.nodes.container,t.params.container),t},n.renderRegisterBox=function(t){let n=this,a={};cm.forEach(n.params.registerForms,(e,t)=>{a[t]=e.visible});var e=n.brandData?.modifiers;cm.inArray(e,"openid_consumer")&&(a.enthusiast=!0),cm.inArray(e,"openid_no_student")&&(a.student=!1),cm.inArray(e,"openid_no_international")&&(a.other=!1),cm.inArray(e,["openid_australia","openid_international"])&&cm.forEach(a,(e,t)=>{a[t]=!1}),cm.inArray(e,"openid_australia")&&(a["individual-australia"]=!0,a["salon-australia"]=!0),cm.inArray(e,"openid_international")&&(a["individual-international"]=!0,a["salon-international"]=!0),cm.forEach(a,(e,t)=>{a[t]={render:e,callback:e=>{cm.preventDefault(e),n.setStage("registerForm",{view:t})}}}),cm.getConstructor(n.params.register.constructor,e=>{t.component=new e(cm.merge(n.params.register.constructorParams,{messages:n.msgObject("register.box"),container:t.nodes.holder,loginLink:{callback:e=>{cm.preventDefault(e),n.setStage("login")}},links:a}))})},n.stages.renew=function(e){let n=this,t={name:"renew",nodes:{},params:cm.merge({view:"individual",container:cm.node("div")},e)};return t.constructor=n.params.renew[t.params.view],t.constructor.constructorParams=cm.merge(n.params.renew.constructorParams,t.constructor.constructorParams),t.nodes.container=cm.node("div",{classes:["tpl__wrapper"]}),cm.getConstructor(t.constructor.constructor,e=>{t.component=new e(cm.merge(t.constructor.constructorParams,{container:t.nodes.container,embedStructure:"prepend",returnButton:n.params.returnButton,verification:{data:n.renewUserData},registrationOther:{data:n.renewUserData},backLink:{callback:e=>{cm.preventDefault(e),n.setStage("login")}},loginLink:{callback:e=>{cm.preventDefault(e),n.setStage("login")}},reportLink:{callback:e=>{cm.preventDefault(e),n.setStage("report")}},events:{onSuccess:(e,t)=>{n.storageSet("confirm"),Application.User.login(t)},onError:(e,t)=>
1n.setErrors("renew",t?.message,e.get?.())}}))}),cm.appendChild(t.nodes.container,t.params.container),t},n.stages.reset=function(e){let n=this,t={name:"reset",nodes:{},params:cm.merge({container:cm.node("div")},e)};return t.nodes.container=cm.node("div",{classes:["tpl__wrapper"]},cm.node("section",{classes:["tpl__section","tpl__section--user-reset"]},cm.node("div",{classes:"inner"},cm.node("h2",{classes:"section__title"},n.msgParse("reset.title")),t.nodes.holder=cm.node("div",{classes:"section__entry"})))),Application.Sections.renderLinks({sectionClasses:[],sectionModifiers:["openid-links"],listClasses:["is-horizontal","is-adaptive"],container:t.nodes.container,items:[{label:n.msgParse("actions.register"),link:Router.getURL("signup"),noRoute:!0,callback:e=>{cm.preventDefault(e),n.setStage("register")}},{label:n.msgParse("actions.login"),link:Router.getURL("signin"),noRoute:!0,callback:e=>{cm.preventDefault(e),n.setStage("login")}}]}),cm.getConstructor(n.params.reset.constructor,e=>{t.component=new e(cm.merge(n.params.reset.constructorParams,{container:t.nodes.holder,returnButton:n.params.returnButton,events:{onError:(e,t)=>n.setErrors("reset",t?.message,e.get?.())}}))}),cm.appendChild(t.nodes.container,t.params.container),t},n.stages.report=function(e){let t=this,n={name:"report",nodes:{},params:cm.merge({container:cm.node("div")},e)};return n.nodes.container=cm.node("div",{classes:["tpl__wrapper"]},cm.node("section",{classes:["tpl__section","tpl__section--contact"]},cm.node("div",{classes:"inner"},cm.node("h2",{classes:"section__title"},t.msgParse("report.title")),n.nodes.holder=cm.node("div",{classes:"section__entry"})))),Application.Sections.renderLinks({sectionClasses:[],sectionModifiers:["openid-links"],listClasses:["is-horizontal","is-adaptive"],container:n.nodes.container,items:[{label:t.msgParse("actions.register"),link:Router.getURL("signup"),noRoute:!0,callback:e=>{cm.preventDefault(e),t.setStage("register")}},{label:t.msgParse("actions.login"),link:Router.getURL("signin"),noRoute:!0,callback:e=>{cm.preventDefault(e),t.setStage("login")}}]}),cm.getConstructor(t.params.report.constructor,e=>{n.component=new e(cm.merge(t.params.report.constructorParams,{data:{clientId:t.params.requestData.client_id,details:cm.stringifyJSON(t.getReportData())},container:n.nodes.holder,returnButton:t.params.returnButton}))}),cm.appendChild(n.nodes.container,n.params.container),n},n.stages.external=function(e){let t=this,n={nodes:{},params:cm.merge({data:{},container:cm.node("div")},e)};if(n.nodes.container=cm.node("div",{classes:["tpl__wrapper"]},cm.node("section",{classes:["tpl__section","tpl__section--openid-external"]},cm.node("div",{classes:"inner"}))),cm.appendChild(n.nodes.container,n.params.container),cm.getConstructor(t.params.overlay.constructor,e=>{n.component=new e(cm.merge(t.params.overlay.constructorParams,{container:n.nodes.container,appendMode:"insertFirst",lazy:!1}))}),t.isValidReferer()||(e=t.msgParse("errors.refererUrl"),n.params.data={error:"access_denied",error_description:e},cm.errorLog({type:"error",name:"Page.OpenId",message:e+": access_denied"})),n.params.data.sender="BeautyAList",n.params.data.type="OpenID",t.params.refererUrl instanceof URL){cm.errorLog({type:"common",name:"Page.OpenId",message:"Redirection to: "+t.params.refererUrl.href});try{(window.opener||window.parent).postMessage(cm.stringifyJSON(n.params.data),t.params.refererUrl.origin)}catch(e){cm.errorLog({type:"error",name:"Page.OpenId",message:""+e.message})}window.opener&&window.close()}return n},n.validateConfigData=function(e){let a=this;if(!cm.isEmpty(e))try{a.params.configData=JSON.parse(atob(e))||{}}catch(e){cm.errorLog({type:"attention",name:"Page.OpenId",message:"Config is not provided or invalid: "+e.message})}e={introStage:["login","register"],langs:App.i18nGetLocales()};cm.forEach(e,(t,e)=>{var n=a.params.configData[e];cm.isEmpty(n)||(cm.isArray(n)?a.params[e]=n.filter(e=>cm.inArray(t,e)):cm.inArray(t,n)&&(a.params[e]=n))})},n.validateRequestData=function(){var e=this;let n=["target","scope","response_type","code_challenge","code_challenge_method","client_id","redirect_url","state","referer_url"],a=(e.params.requestData=Object.fromEntries(Object.entries(e.params.requestData).filter(([e,t])=>cm.inArray(n,e)&&!cm.isEmpty(t))),cm.isEmpty(e.params.requestData.lang)||(e.params.requestData.lang=cm._lang),cm.isEmpty(e.params.requestData.state)||(e.params.requestData.data_state=e.params.requestData.state),["client_id","redirect_url","data_state"]);e.params.data=Object.fromEntries(Object.entries(e.params.requestData).filter(([e,t])=>cm.inArray(a,e)&&!cm.isEmpty(t))),e.params.redirectUrl=e.params.requestData.redirect_url||e.params.redirectUrl;
1try{e.params.redirectUrl=App.getURL(e.params.redirectUrl)}catch(e){cm.errorLog({type:"error",name:"Page.OpenId",message:"Redirect URL is not provided or invalid: "+e.message})}e.params.refererUrl=e.params.requestData.referer_url||e.params.refererUrl;try{e.params.refererUrl=App.getURL(e.params.refererUrl)}catch(e){cm.errorLog({type:"error",name:"Page.OpenId",message:"Referer URL is not provided or invalid: "+e.message})}try{e.params.externalUrl=App.getURL(Router.getFullURL("app.external"))}catch(e){cm.errorLog({type:"error",name:"Page.OpenId",message:"External URL is not provided or invalid: "+e.message})}},n.validateReturnButtonParams=function(){let t=this;t.params.refererUrl instanceof URL?(t.params.returnButton.link=t.params.refererUrl.href,t.params.returnButton.label=t.msgParse("returnButton.referer",{website:t.params.refererUrl.hostname}),t.params.returnButton.noRoute=!0,t.params.returnButton.callback=e=>{cm.preventDefault(e),t.returnAction()},t.isApp&&(t.params.returnButton.label=t.msgParse("returnButton.app"))):(t.params.returnButton.link=Router.getURL("index"),t.params.returnButton.label=t.msgParse("returnButton.default"))},n.getReportData=function(){var e=this,t={"Input Config":cm.stringifyJSON(e.params.configData),"Input Target":e.params.requestData.target,"Input Scope":e.params.requestData.scope,"Input Response Type":e.params.requestData.response_type,"Input Client ID":e.params.requestData.client_id,"Input Redirect URL":e.params.requestData.redirect_url,"Input State":e.params.requestData.state,"Input Code Challenge":e.params.requestData.code_challenge,"Input Code Challenge Method":e.params.requestData.code_challenge_method,"Input Referer URL":e.params.requestData.referer_url,"User Language":cm._locale};return cm.isEmpty(e.errors)||(t["Last Error Stage"]=e.errors.stage,t["Last Error Message"]=e.errors.message,t["Last Error Data"]=e.errors.data),t},n.setErrors=function(e,t,n){this.errors={stage:e,message:t,data:n}},n.getRedirectParams=function(t={}){let n={};return["code","state"].forEach(e=>{cm.isEmpty(t[e])||(n[e]=t[e])}),n},n.isExternalAction=function(){return cm.inArray(["window","iframe"],this.params.requestData?.target)&&(window.opener||window.parent&&window.parent!==window)},n.isValidReferer=function(){let e=this;return e.params.refererUrl instanceof URL&&!cm.isEmpty(e.brandData)&&cm.extend(e.brandData.websites,e.brandData.redirectURL).some(t=>{try{return e.params.refererUrl.hostname===App.getURL(t).hostname}catch(e){return cm.errorLog({type:"attention",name:"Page.OpenId",message:`API key website "${t}" is invalid: `+e.message}),!1}})},n.redirectAction=function(e){let n=this;if(e=n.getRedirectParams(e),n.isExternalAction())return n.setStage("external",{data:e});n.params.redirectUrl instanceof URL&&(cm.forEach(e,(e,t)=>n.params.redirectUrl.searchParams.append(t,e)),cm.errorLog({type:"common",name:"Page.OpenId",message:"Redirection to: "+n.params.redirectUrl.href}),window.location.assign(n.params.redirectUrl.href))},n.returnAction=function(){if(this.isExternalAction())return this.setStage("external");this.params.refererUrl instanceof URL&&(cm.errorLog({type:"common",name:"Page.OpenId",message:"Redirection to: "+this.params.refererUrl.href}),window.location.assign(this.params.refererUrl.href))}}),cm.define("Page.ProResources",{extend:"App.Page",params:{name:"pro-resources",layout:["layout--default-clean","layout--mobile-overlap"]}},function(){App.Page.apply(this,arguments)}),cm.getConstructor("Page.ProResources",function(e,t,n,a){n.renderView=function(){this.nodes.container=cm.node("article",{classes:["page","page--pro-resources"]},cm.node("section",{classes:["tpl__section","tpl__section--pro-resources","is-box","has-padding-adaptive","has-mobile-overlap"]},cm.node("div",{classes:"section__gradient"}),cm.node("div",{classes:"inner"},cm.node("h1",{classes:["section__title","section__title--adaptive"]},this.msg("title")),cm.node("div",{classes:"section__entry"},Application.Sections.embedProResources({classes:["section__list"]})))))}}),cm.define("Page.Shop",{extend:"App.Page",params:{name:"shop",layout:["layout--default-clean","layout--mobile-overlap"],scroll:"document.body",scrollDuration:"cm._
1config.animDuration",showFeatured:!0,sectionScroll:{constructor:"App.SectionScroll",constructorParams:{modifiers:["shop-featured"],arrowsModifiers:["middle"],arrowClasses:["has-border","has-blur"],slideshow:!0,delay:5e3}},request:{constructor:"App.Request",constructorParams:{showLoader:!0,autoSend:!0,responseKey:null,ajax:{type:"json",url:App._api.apikeys.list,method:"GET",params:{limit:0}}}}}},function(){App.Page.apply(this,arguments)}),cm.getConstructor("Page.Shop",function(e,t,n,a){n.onConstructStart=function(){this.views={},this.sections={}},n.onDestructEnd=function(){cm.forEach(this.components,e=>e.destruct())},n.renderView=function(){var e=this;e.nodes.container=cm.node("article",{classes:["page","page--shop"]},e.nodes.sectionWrapper=cm.node("section",{classes:["tpl__section","tpl__section--shop-wrapper","has-mobile-overlap"]},cm.node("div",{classes:"section__gradient"}),cm.node("div",{classes:"inner"},e.nodes.sectionHeader=cm.node("section",{classes:["tpl__section","tpl__section--shop-header","is-box","has-padding-large-adaptive"]},cm.node("div",{classes:"inner"},cm.node("div",{classes:["section__title","section__title--adaptive"],innerHTML:e.msg("title")}
1))),e.nodes.sectionIntro=cm.node("section",{classes:["tpl__section","tpl__section--shop-intro","is-box","has-padding-large-adaptive"]},cm.node("div",{classes:"inner"},cm.node("hgroup",{classes:["section__title","section__title--adaptive"],innerHTML:e.msg("intro.title")}),cm.node("div",{classes:"section__entry",innerHTML:e.msg("intro.description")}))))),e.nodes.sectionItems=cm.node("section",{classes:["tpl__section","tpl__section--shop-items","is-box","has-padding-bottom-adaptive"]},cm.node("div",{classes:"inner"},e.nodes.menuContainer=cm.node("div",{classes:"section__buttons"},e.nodes.menuHolder=cm.node("div",{classes:"inner"})),e.nodes.categoryHolder=cm.node("div",{classes:"section__entry"})))),e.params.showFeatured&&(e.views.featured=e.renderFeaturedView({container:e.nodes.sectionHeader,insertMethod:"insertAfter"}))},n.renderViewModel=function(){let t=this;a.prototype.renderViewModel.apply(t,arguments),cm.getConstructor(t.params.request.constructor,e=>{t.components.request=new e(cm.merge(t.params.request.constructorParams,{events:{onSuccess:t.render
1Success.bind(t),onError:t.renderError.bind(t)},overlayParams:{theme:"transparent",container:t.nodes.categoryHolder}}))})},n.renderSuccess=function(e,t){let n=this;var a=n.msgObject("categories");n.data={},cm.forEach(a,(e,t)=>{n.data[t]={name:t,title:e,items:[]}}),cm.forEach(t.data,e=>{cm.isEmpty(e.category)&&(e.category="default"),n.data[e.category]||(n.data[e.category]={name:e.category,title:App.capitalize(e.category),items:[]}),n.data[e.category].items.push(e)}),n.views.menu=n.renderMenuSectionView(n.data,{container:n.nodes.menuHolder}),n.views.sections=n.renderSectionsView(n.data,{container:n.nodes.categoryHolder}),n.setMenu("all","initial")},n.renderError=function(e,t){this.views.empty=this.renderEmptyView({container:this.nodes.container})},n.FEATURED_BRANDS=[],n.renderFeaturedView=function(e){let n=this,a={nodes:{},featured:{},params:cm.merge({container:cm.node("div"),insertMethod:"appendChild"},e)};return a.nodes.container=cm.node("section",{classes:["tpl__section","tpl__section--shop-featured","is-box","has-padding-bottom-adaptive"]},a.nodes.holder=cm.node("div",{classes:"inner"})),cm.forEach(n.FEATURED_BRANDS,({data:e,params:t})=>{a.featured[e.id]=n.renderSectionItemView(cm.merge({company:n.msgParse("featured.title",{name:e.name}),aboutUs:n.msg("featured.description"),button:n.msg("featured.button")},e),cm.merge({container:a.nodes.holder},t))}),1<cm.getLength(a.featured)&&n.renderScrollView(a),cm[a.params.insertMethod](a.nodes.container,a.params.container),a},n.renderScrollView=function(t){let n=this;cm.getConstructor(n.params.sectionScroll.constructor,e=>{n.components.sectionScroll=new e(cm.merge(n.params.sectionScroll.constructorParams,{container:t.nodes.holder})),cm.forEach(t.featured,e=>{n.components.sectionScroll.addColumn(e.nodes.container)}),n.components.sectionScroll.observe()})},n.renderMenuSectionView=function(e,t){let n=this,a={data:e,nodes:{},params:cm.merge({renderSkeleton:!1,container:cm.node("div")},t)};return cm.clearNode(a.params.container),a.params.renderSkeleton?n.renderMenuSkeleton(a):(a.data=Object.values(a.data).filter(e=>"all"===e.name||!cm.isEmpty(e.items)),a.items=a.data.map(e=>({name:e.name,label:e.title,activeClasses:["active","selected"],modifiers:["toggle-hero"],role:"radio",checked:!1,callback:()=>n.setMenu(e.name)})),a.buttons=Application.Buttons.renderContainer({container:a.params.container,classes:["pull-inline","align-center"],modifiers:["flex","toggle-hero"],items:a.items,role:"radiogroup",ariaLabel:n.msg("menu.title"),scrollable:!0}),n.addEvent("onRedraw",()=>a.buttons.redraw())),a},n.renderMenuSkeleton=function(t){t.nodes.container=cm.node("div",{classes:"section__links","aria-hidden":"true"},t.nodes.holder=cm.node("ul",{classes:"is-horizontal"})),cm.forEach(5,()=>{var e=cm.node("li",Application.embedTextSkeleton({classes:["color--accent-border"],length:cm.rand(6,12)}));cm.appendChild(e,t.nodes.holder)}),cm.appendChild(t.nodes.container,t.params.container)},n.renderMenuItemView=function(e,t){let n=this,a={data:e,nodes:{},params:cm.merge({container:cm.node("div")},t)};return a.nodes.container=cm.node("li",a.nodes.link=cm.node("a",{href:Router.getURL("shop",a.data.name),"data-no-route":"true"},a.data.title)),cm.click.add(a.nodes.link,e=>{cm.preventDefault(e);e=n.sections[a.data.name];e&&cm.scrollTo(e.nodes.container,window,{duration:n.params.scrollDuration})}),cm.appendChild(a.nodes.container,a.params.container),a},n.setMenu=function(n,e){var t=this.views.menu;t&&(cm.scrollTo(this.nodes.sectionItems,window,{behavior:"smooth",direction:"up",duration:this.params.scrollDuration}),t.buttons.toggleItems(n,{scroll:"initial"!==e}),cm.forEach(this.sections,(e,t)=>{t=n===("all"===n?n:t);e.nodes.container.setAttribute("aria-hidden",!t),cm.toggleClass(e.nodes.container,"is-hidden",!t),cm.onSchedule(()=>cm.removeClass(e.nodes.container,"is-transparent"))}))},n.renderSectionsView=function(e,t){let n=this,a={data:e,params:cm.merge({container:cm.node("div")},t)};return cm.forEach(a.data,function(e){cm.isEmpty(e.items)||(n.sections[e.name]=n.renderSectionView(e,{c
1ontainer:a.params.container}))}),a},n.renderSectionView=function(e,t){let n=this,a={nodes:{},items:{},data:cm.merge({items:[]},e),params:cm.merge({container:cm.node("div")},t)};return a.nodes.container=cm.node("section",{classes:["tpl__section","tpl__section--shop-item","has-padding-adaptive","is-hidden","is-transparent"],"aria-hidden":"true"},cm.node("div",{classes:"inner"},Application.Views.embedAnchor(a.data.name),cm.node("h2",{classes:["section__title","section__title--adaptive"]},a.data.title),a.nodes.holder=cm.node("div",{classes:"section__items"}))),a.data.items=cm.arraySort(a.data.items,"company","asc-locale"),cm.forEach(a.data.items,e=>{a.items[e.name]=n.renderSectionItemView(e,{container:a.nodes.holder})}),cm.appendChild(a.nodes.container,a.params.container),a},n.renderSectionItemView=function(e,t){let n=this,a={nodes:{},data:e,params:cm.merge({hue:null,classes:[],titleTag:"h5",titleClasses:[],descriptionTag:"p",descriptionClasses:[],container:cm.node("div")},t)};return a.company=a.data.dba||a.data.company,a.url=a.data.linkToProfessionalPage||a.data.website?.[0]||App._env.licensifyUrl,a.classes=["app__shop-item",...a.params.classes],a.nodes.container=cm.node("article",{classes:"app__shop-article"},a.nodes.card=cm.node("a",{classes:a.classes,target:"_blank",rel:"noopener",href:App.getHref(a.url)},a.nodes.image=cm.node("div",{classes:"item__image"}),cm.node("div",{classes:"item__content"},cm.node(a.params.titleTag,{classes:a.params.titleClasses},a.company),cm.node(a.params.descriptionTag,{classes:a.params.descriptionClasses},a.data.aboutUs)))),n.renderSectionItemLogo(a.data,{container:a.nodes.image}),cm.isEmpty(a.data.button)||(a.nodes.button=cm.node("div",{classes:"item__button"},Application.Buttons.embed({modifiers:["hero-border"],label:a.data.button,icons:{after:"chevronRight"},role:"presentation",tabindex:-1})),cm.appendChild(a.nodes.button,a.nodes.card)),cm.setCSSVariable("--color-hue",a.params.hue||App.stringHashHue(a.data.id||a.company),a.nodes.card),a.tickingHandler=cm.ticking(),cm.addEvent(a.nodes.container,"pointermove",e=>{cm.isMotionReduced()||"mouse"!==e.pointerType||a.tickingHandler(()=>n.onSectionItemMove(a,e))}),cm.appendChild(a.nodes.container,a.params.container),a},n.renderSectionItemLogo=function(e,t){e={data:e,nodes:{},params:cm.merge({classes:["is-contain"],modifiers:["shop-item"],maxwidth:256,container:cm.node("div"),insertMethod:"appendChild"},t)};return cm.isEmpty(e.data.logo)&&e.params.classes.push("is-blank"),e.image=Application.Images.render({classes:e.params.classes,modifiers:e.params.modifiers,image:e.data.logo?.original,blank:App.getPath("common.img","svg/sandbox.svg"),alt:e.company,imageDataset:{pinNopin:"true"},onLoad:e=>{e.nodes.img.naturalWidth===e.nodes.img.naturalHeight&&cm.addClass(e.nodes.container,"is-square")}}),e.nodes=e.image.nodes,cm[e.params.insertMethod](e.nodes.container,e.params.container),e},n.renderEmptyView=function(e){e={nodes:{},params:cm.merge({container:cm.node("div")},e)};return e.nodes.container=cm.node("section",{classes:["tpl__section","tpl__section--shop-items","is-box"]},cm.node("div",{classes:"inner"},cm.node("div",{classes:"section__entry"},cm.node("div",{classes:["cm__empty","h6"]},this.msg("empty"))))),cm.appendChild(e.nodes.container,e.params.container),e},n.onSectionItemMove=function(e,t){var n=100/window.innerWidth*.75,t=50-(t.clientX-window.innerWidth/2)*n;cm.setCSSVariable("--position-x",t+"%",e.nodes.card)}}),cm.define("Page.SignIn",{extend:"App.Page",params:{name:"signin",layout:"layout--default",userBox:{constructor:"App.UserLogin",constructorParams:{renderDescription:!1,form:{constructorParams:{renderButtonSpinner:!0,buttonsAlign:"center"}}}}}},function(){App.Page.apply(this,arguments)}),cm.getConstructor("Page.SignIn",function(e,t,n,a){n.onConstructEnd=function(){var e=this.params.route.captures||{};cm.isEmpty(e.token)||cm.isEmpty(e.refresh)||this.components.userBox.login(e),this.components.userBox.focus()},n.renderView=function(){this.nodes.container=cm.node("article",{classes:["page","page--signin"]},cm.node("section",{classes:["tpl__section","tpl__section--signin","is-box"]},cm.node("div",{classes:"inner"},cm.node("h1",{classes:"section__title"},this.msg("title")),this.nodes.holder=cm.node("div",{classes:"section__entry"})))),this.renderLinksSection()},n.renderViewModel=function(){let t=this;a.prototype.renderViewModel.apply(t,arguments),cm.getConstructor(t.params.userBox.constructor,function(e){t.components.userBox=new e(cm.merge(t.params.userBox.constructorParams,{container:t.nodes.holder}))})},n.renderLinksSection=function(){this.nodes.links=Application.Sections.renderLinks({sectionModifiers:["sign-links"],listClasses:["is-horizontal","is-adaptive"],container:this.nodes.container,items:[{label:this.msg("actions.reset"),link:Router.getURL("user.reset"),noRoute:!0,callback:e=>{cm.preventDefault(e),UserHelper.openResetBox()}},{label:this.msg("actions.register"),link:Router.getURL("signup"),noRoute:!0,callback:e=>{cm.preventDefault(e),UserHelper.openRegisterBox()}},{label:this.msg("actions.report"),link:Router.getURL("contact"),noRoute:!0,callback:e=>{cm.preventDefault(e),UserHelper.openReportBox()}}]})}}),cm.define("Page.SignupEnthusiast",{extend:"App.Page",params:{name:"signup-enthusiast",layout:"layout--default",loginRoute:"signup.welcome",returnRoute:null,userHelper:{constructor:"App.UserHelper"},signup:{constructor:"App.UserSignupEnthusiast",constructorParams:{pendingReturnRoute:"index",returnButton:{classes:["is-wide","is-wrap"],modifiers:["desktop-xxlarge"],noRoute:!1}}},welcomePage:{constructor:"Page.SignupWelcome"}}},function(){App.Page.apply(this,arguments)}),cm.getConstructor("Page.SignupEnthusiast",function(e,t,n,a){n.onValidateParams=function(){var e=this.params.route.data;cm.isEmpty(e)||cm.isEmpty(e.returnRoute)||(this.params.returnRoute=e.returnRoute)},n.renderView=function(){this.nodes.container=cm.node("article",{classes:["page","page--signup-e
1nthusiast"]}),this.renderLinksSection()},n.renderViewModel=function(){let t=this;a.prototype.renderViewModel.apply(t,arguments),cm.find(t.params.userHelper.constructor,null,null,e=>{t.components.userHelper=e}),cm.getConstructor(t.params.signup.constructor,e=>{t.components.signup=new e(cm.merge(t.params.signup.constructorParams,{container:t.nodes.container,embedStructure:"prepend",events:{onSuccess:t.signupResponse.bind(t)}}))})},n.renderLinksSection=function(){let t=this;t.nodes.links=Application.Sections.renderLinks({sectionModifiers:["sign-links"],listClasses:["is-vertical","is-adaptive"],container:t.nodes.container,items:[{label:t.msg("actions.login"),link:Router.getURL("signin"),noRoute:!0,callback:e=>{cm.preventDefault(e),t.components.userHelper.openLoginBox()}},{label:t.msg("actions.report"),link:Router.getURL("contact"),noRoute:!0,callback:e=>{cm.preventDefault(e),t.components.userHelper.openReportBox()}}]})},n.signupResponse=function(e,t){let a=this;cm.getConstructor(a.params.welcomePage.constructor,(e,t,n)=>{n.storageWrite("returnRoute",a.params.returnRoute)}),Application.User.login(t,a.params.loginRoute)}}),cm.define("Page.Signup",{extend:"App.Page",params:{name:"signup",layout:"layout--default",userHelper:{constructor:"App.UserHelper"},userBox:{constructor:"App.UserRegister",constructorParams:{}}}},function(){App.Page.apply(this,arguments)}),cm.getConstructor("Page.Signup",function(e,t,n,a){n.renderView=function(){this.nodes.container=cm.node("article",{classes:"page page--signup"},cm.node("section",{classes:["tpl__section","tpl__section--signin","is-box"]},cm.node("div",{classes:"inner"},cm.node("h1",{classes:"section__title"},this.msg("title")),this.nodes.holder=cm.node("div",{classes:"section__entry"})))),this.renderLinksSection()},n.renderViewModel=function(){let t=this;a.prototype.renderViewModel.apply(t,arguments),cm.find(t.params.userHelper.constructor,null,null,function(e){t.components.userHelper=e}),cm.getConstructor(t.params.userBox.constructor,function(e){t.components.userBox=new e(cm.merge(t.params.userBox.constructorParams,{container:t.nodes.holder}))})},n.renderLinksSection=function(){let t=this;t.nodes.links=Application.Sections.renderLinks({sectionModifiers:["sign-links"],listClasses:["is-vertical"],container:t.nodes.container,items:[{label:t.msg("actions.login"),link:Router.getURL("signin"),noRoute:!0,callback:e=>{cm.preventDefault(e),t.components.userHelper.openLoginBox()}},{label:t.msg("actions.report"),link:Router.getURL("contact"),noRoute:!0,callback:e=>{cm.preventDefault(e),t.components.userHelper.openReportBox()}}]})}}),cm.define("Page.SignupIndividual",{extend:"App.Page",params:{name:"signup-individual",layout:"layout--default",loginRoute:"signup.profile",returnRoute:null,userHelper:{constructor:"App.UserHelper"},signup:{constructor:"App.UserSignupIndividual",constructorParams:{pendingReturnRoute:"index",returnButton:{classes:["is-wide","is-wrap"],modifiers:["desktop-xxlarge"],noRoute:!1}}},welcomePage:{constructor:"Page.SignupWelcome"}}},function(){App.Page.apply(this,arguments)}),cm.getConstructor("Page.SignupIndividual",function(e,t,n,a){n.onValidateParams=function(){var e=this.params.route.data;cm.isEmpty(e)||cm.isEmpty(e.returnRoute)||(this.params.returnRoute=e.returnRoute)},n.renderView=function(){this.nodes.container=cm.node("article",{classes:["page","page--signup-individual"]}),this.renderLinksSection()},n.renderViewModel=function(){let t=this;a.prototype.renderViewModel.apply(t,arguments),cm.find(t.params.userHelper.constructor,null,null,e=>{t.components.userHelper=e}),cm.getConstructor(t.params.signup.constructor,e=>{t.components.signup=new e(cm.merge(t.params.signup.constructorParams,{container:t.nodes.container,embedStructure:"prepend",registrationOther:{data:{clientId:App._env.clientId}},events:{onSuccess:t.signupResponse.bind(t)}}))})},n.renderLinksSection=function(){let t=this;t.nodes.links=Application.Sections.renderLinks({sectionModifiers:["sign-links"],listClasses:["is-vertical","is-adaptive"],container:t.nodes.container,items:[{label:t.msg("actions.login"),link:Router.getURL("signin"),noRoute:!0,callback:e=>{cm.preventDefault(e),t.components.userHelper.openLoginBox()}},{label:t.msg("actions.report"),link:Router.getURL("contact"),noRoute:!0,callback:e=>{cm.preventDefault(e),t.components.userHelper.openReportBox()}}]})},n.signupResponse=function(e,t){let a=this;cm.getConstructor(a.params.welcomePage.constructor,(e,t,n)=>{n.storageWrite("returnRoute",a.params.returnRoute)}),Application.User.login(t,a.params.loginRoute)}}),cm.define("Page.SignupInternational",{extend:"App.Page",params:{name:"signup-other",layout:"layout--default",userHelper:{constructor:"App.UserHelper"},signup:{constructor:"App.UserSignupOther",constructorParams:{pendingReturnRoute:"index",returnButton:{classes:["is-wide","is-wrap"],modifiers:["desktop-xxlarge"],noRoute:!1}}}}},function(){App.Page.apply(this,arguments)}),cm.getConstructor("Page.SignupInternational",function(e,t,n,a){n.renderView=function(){this.nodes.container=cm.node("article",{classes:["page","page--signup-other"]}),this.renderLinksSection()},n.renderViewModel=function(){let t=this;a.prototype.renderViewModel.apply(t,arguments),cm.find(t.params.userHelper.constructor,null,null,e=>{t.components.userHelper=e}),cm.getConstructor(t.params.signup.constructor,e=>{t.components.signup=new e(cm.merge(t.params.signup.constructorParams,{container:t.nodes.container,embedStructure:"prepend",registrationOther:{data:{clientId:App._env.clientId}}}))})},n.renderLinksSection=function(){let t=this;
1Application.User.isAuthorized()||(t.nodes.links=Application.Sections.renderLinks({sectionModifiers:["sign-links"],listClasses:["is-vertical"],container:t.nodes.container,items:[{label:t.msg("actions.login"),link:Router.getURL("signin"),noRoute:!0,callback:e=>{cm.preventDefault(e),t.components.userHelper.openLoginBox()}},{label:t.msg("actions.report"),link:Router.getURL("contact"),noRoute:!0,callback:e=>{cm.preventDefault(e),t.components.userHelper.openReportBox()}}]}))}}),cm.define("Page.SignupProfile",{extend:"App.Page",params:{name:"signup-profile",layout:"layout--default",redrawOnRender:"full",formConstructor:"Form.ProfileSocial",formParams:{}}},function(){App.Page.apply(this,arguments)}),cm.getConstructor("Page.SignupProfile",function(e,t,n,a){n.onConstructStart=function(){var e=this;e.profileData=Application.userGetProfile(),e.renderSkipHandler=e.renderSkip.bind(e),e.renderResponseHandler=e.renderResponse.bind(e),e.renderErrorHandler=e.renderError.bind(e)},n.renderView=function(){this.nodes.container=cm.node("article",{class:"page page--signup-profile"},cm.node("section",{class:"tpl__section tpl__section--signup-title is-box"},cm.node("div",{class:"inner"},cm.node("h1",{class:"section__title"},this.msg("title")),cm.node("div",{class:"section__entry",innerHTML:this.msg("description")}))),cm.node("section",{class:"tpl__section tpl__section--signup-form is-box"},cm.node("div",{class:"inner"},this.nodes.formHolder=cm.node("div",{class:"section__entry"}))))},n.renderViewModel=function(){var t=this;a.prototype.renderViewModel.apply(t,arguments),cm.getConstructor(t.params.formConstructor,function(e){t.components.form=new e(cm.merge(t.params.formParams,{container:t.nodes.formHolder,data:t.profileData,events:{onSkip:t.renderSkipHandler,onSuccess:t.renderResponseHandler,onError:t.renderErrorHandler}}))})},n.renderSkip=function(){Application.setRoute("signup.welcome")},n.renderResponse=function(e,t){Application.User.setProfile(t),Application.setRoute("signup.welcome")},n.renderError=function(){}}),cm.define("Page.SignupSalon",{extend:"App.Page",params:{name:"signup-salon",layout:"layout--default",loginRoute:"signup.welcome",returnRoute:null,userHelper:{constructor:"App.UserHelper"},signup:{constructor:"App.UserSignupSalon",constructorParams:{pendingReturnRoute:"index",returnButton:{classes:["is-wide","is-wrap"],modifiers:["desktop-xxlarge"],noRoute:!1}}},welcomePage:{constructor:"Page.SignupWelcome"}}},function(){App.Page.apply(this,arguments)}),cm.getConstructor("Page.SignupSalon",function(e,t,n,a){n.onValidateParams=function(){var e=this.params.route.data;cm.isEmpty(e)||cm.isEmpty(e.returnRoute)||(this.params.returnRoute=e.returnRoute)},n.renderView=function(){this.nodes.container=cm.node("article",{classes:["page","page--signup-salon"]}),this.renderLinksSection()},n.renderViewModel=function(){let t=this;a.prototype.renderViewModel.apply(t,arguments),cm.find(t.params.userHelper.constructor,null,null,e=>{t.components.userHelper=e}),cm.getConstructor(t.params.signup.constructor,e=>{t.components.signup=new e(cm.merge(t.params.signup.constructorParams,{container:t.nodes.container,embedStructure:"prepend",registrationOther:{data:{clientId:App._env.clientId}},events:{onSuccess:t.signupResponse.bind(t)}}))})},n.renderLinksSection=function(){let t=this;t.nodes.links=Application.Sections.renderLinks({sectionModifiers:["sign-links"],listClasses:["is-vertical","is-adaptive"],container:t.nodes.container,items:[{label:t.msg("actions.login"),link:Router.getURL("signin"),noRoute:!0,callback:e=>{cm.preventDefault(e),t.components.userHelper.openLoginBox()}},{label:t.msg("actions.report"),link:Router.getURL("contact"),noRoute:!0,callback:e=>{cm.preventDefault(e),t.components.userHelper.openReportBox()}}]})},n.signupResponse=function(e,t){let a=this;cm.getConstructor(a.params.welcomePage.constructor,(e,t,n)=>{n.storageWrite("returnRoute",a.params.returnRoute)}),Application.User.login(t,a.params.loginRoute)}}),cm.define("Page.SignupStudent",{extend:"App.Page",params:{name:"signup-student",layout:"layout--default",loginRoute:"signup.welcome",returnRoute:null,userHelper:{constructor:"App.UserHelper"},signup:{constructor:"App.UserSignupStudent",constructorParams:{pendingReturnRoute:"index",returnButton:{classes:["is-wide","is-wrap"],modifiers:["desktop-xxlarge"],noRoute:!1}}},welcomePage:{constructor:"Page.SignupWelcome"}}},function(){App.Page.apply(this,arguments)}),cm.getConstructor("Page.SignupStudent",function(e,t,n,a){n.onValidateParams=function(){var e=this.params.route.data;cm.isEmpty(e)||cm.isEmpty(e.returnRoute)||(this.params.returnRoute=e.returnRoute)},n.renderView=function(){this.nodes.container=cm.node("article",{classes:["page","page--signup-student"]}),this.renderLinksSection()},n.renderViewModel=function(){let t=this;a.prototype.renderViewModel.apply(t,arguments),cm.find(t.params.userHelper.constructor,null,null,e=>{t.components.userHelper=e}),cm.getConstructor(t.params.signup.constructor,e=>{t.components.signup=new e(cm.merge(t.params.signup.constructorParams,{container:t.nodes.container,embedStructure:"prepend",registrationOther:{data:{clientId:App._env.clientId}},events:{onSuccess:t.signupResponse.bind(t)}}))})},n.renderLinksSection=function(){let t=this;t.nodes.links=Application.Sections.renderLinks({sectionModifiers:["sign-links"],listClasses:["is-vertical","is-adaptive"],container:t.nodes.container,items:[{label:t.msg("actions.login"),link:Router.getURL("signin"),noRoute:!0,callback:e=>{cm.preventDefault(e),t.components.userHelper.openLoginBox()}},{label:t.msg("actions.report"),link:Router.getURL("contact"),noRoute:!0,callback:e=>{cm.preventDefault(e),t.components.userHelper.openReportBox()}}]})},n.signupResponse=function(e,t){let a=this;cm.getConstructor(a.params.welcomePage.constructor,(e,t,n)=>{n.storageWrite("returnRoute",a.params.returnRoute)}),Application.User.login(t,a.params.loginRoute)}}),cm.define("Page.SignupWelcome",{extend:"App.Page",params:{name:"signup-welcome",layout:"layout--default",returnRoute:"user.home"}},function(){App.Page.apply(this,arguments)}),cm.getConstructor("Page.SignupWelcome",function(e,t,n,a){n.onValidateParams=function(){var e=this.storageRead("returnRoute");cm.isEmpty(e)||(this.params.returnRoute=e,this.storageClear("returnRoute"))},n.renderView=function(){var e="pending"===Application.userGetProfile().status?this.msg("pending"):this.msg("success");this.nodes.container=cm.node("article",{classes:["page","page--signup-welcome"]},cm.node("section",{classes:"tpl__section tpl__section--signup-title is-box"},cm.node("div",{classes:"inner"},cm.node("h1",{classes:"section__title"},this.msg("title")),cm.node("div",{classes:"section__entry",innerHTML:e}))),cm.node("section",{classes:"tpl__section tpl__section--buttons is-box"},cm.node("div",{classes:"inner"},cm.node("div",{classes:"section__entry"},cm.node("div",{classes:"pt__buttons pull-center"},cm.node("div",{classes:"inner"}
1,this.nodes.button=cm.node("a",{class:"button button--desktop-xxlarge is-wide",href:Router.getURL(this.params.returnRoute),innerHTML:this.msg("button")})))))))}}),cm.define("Page.SignupRenewIndividual",{extend:"App.Page",params:{name:"signup-renew-individual",layout:"layout--default",returnRoute:"user.home",userHelper:{constructor:"App.UserHelper"},signup:{constructor:"App.UserSignupRenewIndividual",constructorParams:{pendingReturnRoute:"index",returnButton:{classes:["is-wide","is-wrap"],modifiers:["desktop-xxlarge"],noRoute:!1}}}}},function(){App.Page.apply(this,arguments)}),cm.getConstructor("Page.SignupRenewIndividual",function(e,t,n,a){n.onConstructStart=function(){this.userData={}},n.onValidateParams=function(){this.userData=Application.storageGet("renew",!0),cm.isEmpty(this.userData)||cm.isEmpty(this.userData.returnRoute)||(this.params.returnRoute=this.userData.returnRoute)},n.render=function(){var e;if(cm.isEmpty(this.userData))return e={access:Application.User.isAuthorized()?"unauthorized":"authorized",code:1003},Router.summon("error",null,{data:e});a.prototype.render.apply(this,arguments)},n.renderView=function(){this.nodes.container=cm.node("article",{classes:["page","page--signup-renew"]}),this.renderLinksSection()},n.renderViewModel=function(){let t=this;a.prototype.renderViewModel.apply(t,arguments),cm.find(t.params.userHelper.constructor,null,null,e=>{t.components.userHelper=e}),cm.getConstructor(t.params.signup.constructor,e=>{t.components.signup=new e(cm.merge(t.params.signup.constructorParams,{container:t.nodes.container,embedStructure:"prepend",verification:{data:t.userData},events:{onSuccess:t.signupResponse.bind(t)}}))})},n.renderLinksSection=function(){this.nodes.links=Application.Sections.renderLinks({sectionModifiers:["sign-links"],listClasses:["is-vertical","is-adaptive"],container:this.nodes.container,items:[{label:this.msg("actions.report"),link:Router.getURL("contact"),noRoute:!0,callback:this.openReportBox.bind(this)}]})},n.openReportBox=function(e){cm.preventDefault(e);e={user:{name:Application.userGetProfileName(this.userData),email:this.userData.email}};this.components.userHelper.openReportBox({data:e})},n.signupResponse=function(e,t){Application.User.login(t,this.params.returnRoute)}}),cm.define("Page.SignupRenewInternational",{extend:"App.Page",params:{name:"signup-renew-international",layout:"layout--default",userHelper:{constructor:"App.UserHelper"},signup:{constructor:"App.UserSignupRenewInternational",constructorParams:{pendingReturnRoute:"index",returnButton:{classes:["is-wide","is-wrap"],modifiers:["desktop-xxlarge"],noRoute:!1}}}}},function(){App.Page.apply(this,arguments)}),cm.getConstructor("Page.SignupRenewInternational",function(e,t,n,a){n.onConstructStart=function(){this.userData={}},n.onValidateParams=function(){this.userData=Application.storageGet("renew",!0)},n.render=function(){var e;if(cm.isEmpty(this.userData))return e={access:Application.User.isAuthorized()?"unauthorized":"authorized",code:1003},Router.summon("error",null,{data:e});a.prototype.render.apply(this,arguments)},n.renderView=function(){this.nodes.container=cm.node("article",{classes:["page","page--signup-renew"]}),this.renderLinksSection()},n.renderViewModel=function(){let t=this;a.prototype.renderViewModel.apply(t,arguments),cm.find(t.params.userHelper.constructor,null,null,e=>{t.components.userHelper=e}),cm.getConstructor(t.params.signup.constructor,e=>{t.components.signup=new e(cm.merge(t.params.signup.constructorParams,{container:t.nodes.container,embedStructure:"prepend",registrationOther:{data:t.userData}}))})},n.renderLinksSection=function(){this.nodes.links=Application.Sections.renderLinks({sectionModifiers:["sign-links"],listClasses:["is-vertical","is-adaptive"],container:this.nodes.container,items:[{label:this.msg("actions.report"),link:Router.getURL("contact"),noRoute:!0,callback:this.openReportBox.bind(this)}]})},n.openReportBox=function(e){cm.preventDefault(e);e={user:{name:Application.userGetProfileName(this.userData),email:this.userData.email}};this.components.userHelper.openReportBox({data:e})}}),cm.define("Page.SignupRenewSalon",{extend:"App.Page",params:{name:"signup-renew-salon",layout:"layout--default",returnRoute:"user.home",userHelper:{constructor:"App.UserHelper"},signup:{constructor:"App.UserSignupRenewSalon",constructorParams:{pendingReturnRoute:"index",returnButton:{classes:["is-wide","is-wrap"],modifiers:["desktop-xxlarge"],noRoute:!1}}}}},function(){App.Page.apply(this,arguments)}),cm.getConstructor("Page.SignupRenewSalon",function(e,t,n,a){n.onConstructStart=function(){this.userData={}},n.onValidateParams=function(){this.userData=Application.storageGet("renew",!0),cm.isEmpty(this.userData?.returnRoute)||(this.params.returnRoute=this.userData.returnRoute)},n.render=function(){var e;if(cm.isEmpty(this.userData))return e={access:Application.User.isAuthorized()?"unauthorized":"authorized",code:1003},Router.summon("error",null,{data:e});a.prototype.render.apply(this,arguments)},n.renderView=function(){this.nodes.container=cm.node("article",{classes:["page","page--signup-renew"]}),this.renderLinksSection()},n.renderViewModel=function(){let t=this;a.prototype.renderViewModel.apply(t,arguments),cm.find(t.params.userHelper.constructor,null,null,e=>{t.components.userHelper=e}),cm.getConstructor(t.params.signup.constructor,e=>{t.components.signup=new e(cm.merge(t.params.signup.constructorParams,{container:t.nodes.container,embedStructure:"prepend",verification:{data:t.userData},events:{onSuccess:t.signupResponse.bind(t)}}))})},n.renderLinksSection=function(){this.nodes.links=Application.Sections.renderLinks({sectionModifiers:["sign-links"],listClasses:["is-vertical","is-adaptive"],container:this.nodes.container,items:[{label:this.msg("actions.report"),link:Router.getURL("contact"),noRoute:!0,callback:this.openReportBox.bind(this)}]})},n.openReportBox=function(e){cm.preventDefault(e);e={user:{name:Application.userGetProfileName(this.userData),email:this.userData.email}};this.components.userHelper.openReportBox({data:e})},n.signupResponse=function(e,t){Application.User.login(t,this.params.returnRoute)}}),cm.define("Page.UserConversations",{extend:"App.Page",params:{name:"user-conversations",layout:["layout--default-clean","layout--user-flow-layout"],redrawOnRender:!0,minHeight:300,profileRequest:{constructor:"App.UserRequest",constructorParams:{showLoader:!0,autoSend:!1}},conversations:{constructor:"App.Conversations",constructorParams:{renderTitle:"mobile"}}}},function(){App.Page.apply(this,arguments)});cm.getConstructor("Page.UserConversations",function(e,t,n,a){n.onConstructStart=function(){this.views={},this.isPublic=!1,this.isMe=!1,this.userID=null,this.profileData=null},n.onValidateParams=function(){this.params.route.captures&&this.params.route.captures.id&&(this.userID=this.params.route.captures.id),this.isMe=Application.User.isAuthorized()&&this.userID===Application.userGetID(),this.isPublic=!this.isMe},n.onRedraw=function(){this.redrawLayoutView()},n.renderView=function(){this.nodes.container=cm.node("article",{classes:["page","page--user-conversations"]},this.nodes.titleSection=cm.node("section",{classes:["tpl__section","tpl__section--conversations-title","is-box","has-padding-adaptive","media--on-desktop"]},this.nodes.titleHolder=cm.node("div",{classes:"inner"},cm.node("div",{classes:["section__title","section__title--navigation"]},cm.node("div",{classes:["section__action","media--on-desktop"]},Application.User.embedHomeAction()),cm.node("h1",{classes:"section__label"},this.msg("title")),cm.node("div",{classes:["section__action","media--on-desktop"]})))),this.nodes.contentSection=cm.node("section",{classes:["tpl__section","tpl__section--conversations","is-box","has-padding-bottom-adaptive"]},this.nodes.contentHolder=cm.node("div",{classes:"inner"}))),this.views.layout=this.renderLayoutView({container:this.nodes.contentHolder})},n.renderViewModel=function(){a.prototype.renderViewModel.apply(this,arguments),this.userID?this.profileRequest():this.views.conversations=this.renderConversationView(null,{container:this.views.layout.nodes.holder})},n.renderLayoutView=function(e){e={nodes:{},params:cm.merge({container:cm.node("div")},e)};
1return e.nodes.container=cm.node("section",{classes:["tpl__box","tpl__box--conversations","has-overlay"]},e.nodes.holder=cm.node("div",{classes:"inner"})),cm.appendChild(e.nodes.container,e.params.container),e},n.redrawLayoutView=function(){var e=this.views.layout,t=cm.getPageSize(),n=cm.getRect(e.nodes.container);let a=t.winHeight-(t.scrollTop+n.top);cm.isBreakpoint("tabletUp")&&(a-=parseFloat(cm.getCSSVariable("--block-indent--adaptive"))),cm.setCSSVariable("--page-conversations--height",Math.max(this.params.minHeight,a)+"px",e.nodes.container),this.components.conversation?.redraw()},n.renderConversationView=function(e,t){let n=this,a={data:e,nodes:{},params:cm.merge({container:cm.node("div")},t)};return cm.getConstructor(n.params.conversations.constructor,function(e){n.components.conversations=new e(cm.merge(n.params.conversations.constructorParams,{container:a.params.container,data:a.data,events:{onSet:(e,t)=>{Router.set("user.conversation",null,{processRoute:!1,pushState:!1,replaceState:!0,urlParams:{id:t.id}})},onReset:()=>{Router.set("user.conversations",null,{processRoute:!1,pushState:!1,replaceState:!0,urlParams:{id:null}})}}}))}),a},n.profileRequest=function(){let t=this;cm.getConstructor(t.params.profileRequest.constructor,function(e){t.components.profileRequest=new e(cm.merge(t.params.profileRequest.constructorParams,{data:{id:t.userID},overlayParams:{container:t.views.layout.nodes.holder},events:{onSuccess:t.profileRequestSuccess.bind(t),onError:t.profileRequestError.bind(t)}})),t.components.profileRequest.send()})},n.profileRequestSuccess=function(e,t){if(this.profileData=t.data,cm.isEmpty(this.profileData))return Application.summonRoute("error",null,{data:this.msgObject("400")});this.views.conversations=this.renderConversationView(this.profileData,{container:this.views.layout.nodes.holder}),this.redraw()},n.profileRequestError=function(e,t){t=t.target.status.toString();let n=this.msgObject(t);cm.isEmpty(n)&&(n=this.msgObject("400")),Application.summonRoute("error",null,{data:n})}}),cm.define("Page.UserDashboard",{extend:"App.Page",params:{name:"user-dashboard",layout:["layout--default-clean","layout--mobile-overlap"],profileRequest:{constructor:"App.ProfileRequest",constructorParams:{promise:!0,showLoader:!1,autoSend:!1}},specialityRequest:{constructor:"App.SpecialityRequest",constructorParams:{promise:!0,showLoader:!1,autoSend:!1}},questionaryRequest:{enable:"dev",constructor:"App.QuestionaryRequest",constructorParams:{promise:!0,showLoader:!1,autoSend:!1}},share:{constructor:"App.ShareContainer",constructorParams:{}},preferences:{constructor:"App.UserPreferencesContainer",constructorParams:{}},coverForm:{constructor:"Form.ProfileCoverContainer",constructorParams:{}},avatarForm:{constructor:"Form.ProfileAvatarContainer",constructorParams:{}},photoForm:{constructor:"Form.UserPhotoContainer",constructorParams:{}},promo:{enable:!0,constructor:"App.DashboardPromo",constructorParams:{}},wizard:{enable:!0,constructor:"App.DashboardWizard",constructorParams:{}},sectionScroll:{constructor:"App.SectionScroll",constructorParams:{}},blogRequest:{constructor:"App.Request",constructorParams:{showLoader:!1,autoSend:!0,responseKey:null,ajax:{url:App._api.blog_posts.list,type:"json",method:"GET",params:{limit:9,filter:"featured=true",order:"-date"}}}}}},function(){App.Page.apply(this,arguments)}),cm.getConstructor("Page.UserDashboard",function(e,t,n,a){n.onConstructStart=function(){this.views={},this.profileData=null,this.questionaryData=null,this.specialityData=null,this.specialityList={}},n.onValidateParams=function(){"dev"===this.params.questionaryRequest.enable&&(this.params.questionaryRequest.enable=Application.checkDebugAccess())},n.onDestructEnd=function(){cm.forEach(this.components,e=>e.destruct())},n.renderView=function(){this.nodes.container=cm.node("article",{classes:["page","page--user-dashboard"]}),this.views.headerSkeleton=this.renderHeaderSkeletonView({container:this.nodes.container})},n.renderViewModel=function(){let t=this,n=[];a.prototype.renderViewModel.apply(t,arguments),cm.getConstructor(t.params.profileRequest.constructor,e=>{t.components.profileRequest=new e(cm.merge(t.params.profileRequest.constructorParams,{events:{onSuccess:t.profileRequestSuccess.bind(t),onError:t.profileRequestError.bind(t)}})),n.push(t.components.profileRequest.send())}),cm.getConstructor(t.params.specialityRequest.constructor,e=>{t.components.specialityRequest=new e(cm.merge(t.params.specialityRequest.constructorParams,{events:{onSuccess:t.specialityRequestSuccess.bind(t)}})),n.push(t.components.specialityRequest.send())}),t.params.questionaryRequest.enable&&cm.getConstructor(t.params.questionaryRequest.constructor,e=>{t.components.questionaryRequest=new e(cm.merge(t.params.questionaryRequest.constructorParams,{events:{onSuccess:t.questionaryRequestSuccess.bind(t)}})),n.push(t.components.questionaryRequest.send())}),Promise.allSettled(n).catch(t.renderPromiseError.bind(t)).finally(t.renderPromiseResponse.bind(t))},n.renderHeaderSkeletonView=function(e){e={nodes:{},params:cm.merge({container:cm.node("div"),insertMethod:"appendChild"},e)};return e.params.container.setAttribute("aria-busy","true"),e.nodes.container=cm.node("section",{classes:["tpl__section","tpl__section--dashboard","tpl__section--dashboard-header","tpl__section--dashboard-header-skeleton","has-mobile-overlap"],"aria-hidden":"true"},cm.node("div",{classes:"section__gradient"}),cm.node("div",{classes:"inner"},cm.node("section",{classes:["tpl__section","tpl__section--dashboard-title","is-box","has-padding-adaptive"]},e.nodes.inner=cm.node("div",{classes:"inner"},cm.node("hgroup",{classes:["section__columns","section__column--title"]},cm.node("div",{classes:["section__column","section__column--title"]},cm.node("h3",Application.embedTextSkeleton({classes:["color--third"],length:cm.rand(12,24)})),cm.node("h1",{classes:"h2",title:this.msg("title")},Application.embedTextSkeleton({classes:["color--third"],length:cm.rand(24,40)}))),cm.node("div",{classes:["section__column","section__column--avatar"]},Application.User.embedAvatar(null,{modifiers:["dashboard"],alt:this.msg("skeleton.avatar"),renderSkeleton:!0}))))))),cm[e.params.insertMethod](e.nodes.container,e.params.container),e},n.removeHeaderSkeletonView=function(){var e=this.views.headerSkeleton;e&&(cm.remove(e.nodes.container),e.params.container.setAttribute("aria-busy","false"))},n.renderLayoutView=function(){let e=this;
1var t={nodes:{},params:{container:e.nodes.container}};return e.removeHeaderSkeletonView(),e.views.header=e.renderHeaderView(t.params),e.views.resources=e.renderResourcesView(t.params),e.views.blog=e.renderBlogView(t.params),cm.onSchedule(()=>{cm.removeClass(e.views.promo?.nodes.container,"is-transparent"),cm.removeClass(e.views.wizard?.nodes.container,"is-transparent"),cm.removeClass(e.views.resources?.nodes.container,"is-transparent"),cm.removeClass(e.views.blog?.nodes.container,"is-transparent")}),t},n.renderHeaderView=function(e){e={nodes:{},actions:[],params:cm.merge({container:cm.node("div"),insertMethod:"appendChild"},e)};return e.nodes.container=cm.node("section",{classes:["tpl__section","tpl__section--dashboard","tpl__section--dashboard-header","has-mobile-overlap"]},cm.node("div",{classes:"section__gradient"}),e.nodes.inner=cm.node("div",{classes:"inner"})),this.views.title=this.renderTitleView({container:e.nodes.inner}),this.params.promo.enable&&(this.views.promo=this.renderPromoView({container:e.nodes.inner})),this.params.wizard.enable&&Application.User.isBeautician()&&(this.views.wizard=this.renderWizardView({container:e.nodes.inner})),cm[e.params.insertMethod](e.nodes.container,e.params.container),e},n.renderTitleView=function(e){e={nodes:{},actions:[],params:cm.merge({container:cm.node("div"),insertMethod:"insertFirst"},e)};return e.nodes.container=cm.node("section",{classes:["tpl__section","tpl__section--dashboard-title","is-box","has-padding-adaptive"]},e.nodes.inner=cm.node("div",{classes:"inner"},cm.node("div",{classes:"section__columns"},cm.node("hgroup",{classes:["section__column","section__column--title"]},cm.node("h3",this.getTitleGreeting()),Application.User.embedName(this.profileData.data,{tagName:"h1",classes:["h2"],modifiers:["profile","dashboard"],fit:!0,showTitle:!0,renderBadge:!0,renderHiring:!0})),cm.node("div",{classes:["section__column","section__column--avatar"]},Application.User.embedAvatar(this.profileData.data,{modifiers:["dashboard"],size:"profile"})),e.nodes.actions=cm.node("div",{classes:["section__column","section__column--actions"]})))),this.renderTitleActions(e),cm[e.params.insertMethod](e.nodes.container,e.params.container),e},n.getTitleGreeting=function(){var e=this.msgObject("greetings"),t=Application.User.getRole(),t=e[t]?t:"individual",n=(new Date).getHours(),e=e[t][n<=5?"night":n<=11?"morning":n<=17?"afternoon":"evening"];return e[Math.floor(Math.random()*e.length)]},n.renderTitleActions=function(t){let n=this,a={container:t.nodes.actions,classes:["button-white","is-compact"],icons:{classes:["medium"]}};t.actions.push("profile"),t.nodes.buttonPreferences=Application.Buttons.embed(cm.merge(a,{label:n.msg("actions.profile"),icons:{before:"member-border"},link:Router.getURL("user.profile.me")})),n.profileData.isPublic&&cm.getConstructor(n.params.share.constructor,e=>{t.actions.push("share"),t.nodes.buttonShare=Application.Buttons.embed(cm.merge(a,{label:n.msg("actions.share"),icons:{before:"share"}})),n.components.share=new e(cm.merge(n.params.share.constructorParams,{node:t.nodes.buttonShare,data:n.profileData.data}))}),t.actions.push("photo"),t.nodes.buttonPreferences=Application.Buttons.embed(cm.merge(a,{label:n.msg("actions.photo"),icons:{before:"apertura-border"},link:Router.getURL("user.gallery"),noRoute:!0,ariaHasPopup:"dialog",callback:()=>n.openPreferences("photo")})),t.actions.push("preferences"),t.nodes.buttonPreferences=Application.Buttons.embed(cm.merge(a,{label:n.msg("actions.preferences"),icons:{before:"gear-border"},link:Router.getURL("user.settings"),noRoute:!0,ariaHasPopup:"dialog",callback:()=>n.openPreferences("initial")}))},n.renderPromoView=function(e){let t=this,n={nodes:{},actions:[],params:cm.merge({append:!0,container:cm.node("div"),insertMethod:"appendChild"},e)};return n.nodes.container=cm.node("section",{classes:["tpl__section","tpl__section--dashboard-promo","has-padding-bottom-adaptive","is-box","is-transparent"]},n.nodes.inner=cm.node("div",{classes:"inner"},cm.node("h2",{classes:["section__title","h7","h7-sm","is-uppercase"]},t.msg("promo.title")))),cm.getConstructor(t.params.promo.constructor,e=>{t.components.promo=new e(cm.merge(t.params.promo.constructorParams,{container:n.nodes.inner,questionary:{enable:!cm.isEmpty(t.questionaryData),data:t.questionaryData},events:{onEmpty:()=>{n.params.append=!1,cm.remove(n.nodes.container)}}}))}),n.params.append&&cm[n.params.insertMethod](n.nodes.container,n.params.container),n},n.renderWizardView=function(e){let t=this,n={nodes:{},actions:[],params:cm.merge({container:cm.node("div"),insertMethod:"appendChild"},e)};return n.nodes.container=cm.node("section",{classes:["tpl__section","tpl__section--dashboard-wizard","is-box","is-transparent","has-padding-large-adaptive"]},n.nodes.inner=cm.node("div",{classes:"inner"},cm.node("h2",{classes:"section__title"},t.msg("wizard.title")))),cm.getConstructor(t.params.wizard.constructor,e=>{t.components.wizard=new e(cm.merge(t.params.wizard.constructorParams,{container:n.nodes.inner}))}),cm[n.params.insertMethod](n.nodes.container,n.params.container),n},n.renderResourcesView=function(e){let t=this,n={nodes:{},actions:[],params:cm.merge({container:cm.node("div"),insertMethod:"appendChild"},e)};return n.nodes.container=cm.node("section",{classes:["tpl__section","tpl__section--dashboard-resources","has-padding-large-adaptive","
1is-box","is-transparent"]},cm.node("div",{classes:"section__gradient"}),n.nodes.inner=cm.node("div",{classes:"inner"},cm.node("div",{classes:["section__title","section__title--read"]},cm.node("h2",{classes:"section__label"},t.msg("resources.title")),cm.node("div",{classes:"section__action"},Application.Buttons.embed(cm.merge(t.params.backLink,{label:t.msg("resources.read"),modifiers:["editable"],link:Router.getURL("pro-resources"),icons:{after:"chevronRight"}})))))),n.nodes.holder=Application.Sections.embedProResources({classes:[],entryClasses:["section__list__column"]}),cm.getConstructor(t.params.sectionScroll.constructor,e=>{t.components.resourcesScroll=new e(cm.merge(t.params.sectionScroll.constructorParams,{container:n.nodes.inner,modifiers:["resources"],nodes:{holder:n.nodes.holder}})),t.components.resourcesScroll.observe()}),cm[n.params.insertMethod](n.nodes.container,n.params.container),n},n.renderBlogView=function(e){let n=this,a={nodes:{},actions:[],params:cm.merge({container:cm.node("div"),insertMethod:"appendChild"},e)};return a.nodes.container=cm.node("section",{classes:["tpl__section","tpl__section--dashboard-blog","has-padding-large-adaptive","is-box","is-transparent"]},cm.node("div",{classes:"section__gradient"}),a.nodes.inner=cm.node("div",{classes:"inner"},cm.node("div",{classes:["section__title","section__title--read"]},cm.node("h2",{classes:"section__label"},n.msg("blog.title")),cm.node("div",{classes:"section__action"},Application.Buttons.embed(cm.merge(n.params.backLink,{label:n.msg("blog.read"),modifiers:["editable"],link:Router.getURL("blog"),icons:{after:"chevronRight"}})))))),cm.getConstructor(n.params.sectionScroll.constructor,e=>{n.components.blogScroll=new e(cm.merge(n.params.sectionScroll.constructorParams,{container:a.nodes.inner,modifiers:["blog-posts"]})),a.skeleton=n.renderBlogPosts(6,{container:n.components.blogScroll.getHolder(),renderSkeleton:!0}),n.components.blogScroll.observe()}),cm.getConstructor(n.params.blogRequest.constructor,e=>{n.components.blogRequest=new e(cm.merge(n.params.blogRequest.constructorParams,{events:{onSuccess:(e,t)=>{n.components.blogScroll.unobserve(),cm.forEach(a.skeleton.nodes,e=>cm.remove(e)),a.posts=n.renderBlogPosts(t.data,{container:n.components.blogScroll.getHolder()}),n.components.blogScroll.observe()}}}))}),cm[a.params.insertMethod](a.nodes.container,a.params.container),a},n.renderBlogPosts=function(e,n){let a={nodes:[],data:e,params:cm.merge({container:cm.node("div"),renderSkeleton:!1},n)};return cm.forEach(a.data,e=>{var t=cm.node("li",{classes:["section__list__column","is-transparent"]});Application.renderPostCard(e,{container:t,classes:["tpl__style--border-shadow"],modifiers:["vertical","card","dashboard"],renderSkeleton:a.params.renderSkeleton,titleTagName:"h4",titleSize:["h4"],titleCount:2,showAbstract:!1}),a.nodes.push(t),cm.appendChild(t,n.container)}),a},n.renderPromiseResponse=function(){let t=this;cm.isEmpty(t.profileData)||(cm.getConstructor(t.params.preferences.constructor,e=>{t.components.preferences=new e(cm.merge(t.params.preferences.constructorParams,{data:t.profileData.data,fieldsData:{speciality:t.specialityData},events:{onEditableSuccess:t.profileEditableSuccess.bind(t)}}))}),cm.getConstructor(t.params.coverForm.constructor,e=>{t.components.coverForm=new e(cm.merge(t.params.coverForm.constructorParams,{data:t.profileData.data,events:{onSuccess:t.profileEditableSuccess.bind(t)}}))}),cm.getConstructor(t.params.avatarForm.constructor,e=>{t.components.avatarForm=new e(cm.merge(t.params.avatarForm.constructorParams,{data:t.profileData.data,events:{onSuccess:t.profileEditableSuccess.bind(t)}}))}),cm.getConstructor(t.params.photoForm.constructor,e=>{t.components.photoForm=new e(cm.merge(t.params.photoForm.constructorParams,{data:t.profileData.data,fieldsData:{speciality:t.specialityData},events:{onSuccess:t.galleryEditableSuccess.bind(t)}}))}),t.views.layout=t.renderLayoutView(),t.redraw("frame"))},n.renderPromiseError=function(e){cm.errorLog({type:"error",name:t,message:e})},n.specialityRequestSuccess=function(e,t){this.specialityData=t.data,this.specialityList=Application.User.convertSpecialityToList(this.specialityData)},n.questionaryRequestSuccess=function(e,t){this.questionaryData=t.data},n.profileRequestSuccess=function(e,t){this.profileData=Application.User.validateProfile(t.data,{populateData:!1}),Application.User.setProfile(this.profileData.data)},n.profileRequestError=function(e,t){t=t.target.status.toString();let n=this.msgObject(t);cm.isEmpty(n)&&(n=this.msgObject("400")),Application.summonRoute("error",null,{data:n})},n.profileEditableSuccess=function(){Application.refresh()},n.galleryEditableSuccess=function(){Router.set("user.gallery")},n.openPreferences=function(e){if("avatar"===e)this.components.avatarForm?.open();
1else if("cover"===e)this.components.coverForm?.open();else{if("photo"!==e)return this.components.preferences?.openTab(e),this;this.components.photoForm?.open()}}}),cm.define("Page.UserFavorites",{extend:"App.Page",params:{name:"user-favorites",layout:["layout--default-clean","layout--favorites"],redrawOnRender:"full",overlay:{constructor:"Com.Overlay",constructorParams:{position:"absolute",removeOnClose:!0,destructOnRemove:!0,showContent:!1,lazy:!0,theme:"secondary"}},tabset:{constructor:"App.Tabset",constructorParams:{name:"favorites",className:["is-content-light","is-tabs-sticky"],adaptive:!1,toggleOnHashChange:!0,setTabsHash:!0,showMenu:!1}},favorite:{constructor:"App.UserFavoriteButton",constructorParams:{renderLabel:!1,type:"icon"}},photoGallery:{constructor:"App.GalleryLikes",constructorParams:{editable:{enable:!1}}},tagsGallery:{constructor:"App.GalleryTags",constructorParams:{editable:{enable:!0}}},peopleRequest:{constructor:"App.Request",constructorParams:{promise:!0,showLoader:!1,autoSend:!1,successOnEmptyData:!0,responseKey:null,responseErrorsKey:"message",ajax:{url:App._api.me.favorite.list,type:"json",method:"GET",params:{limit:0,order:"profile.firstname"}},overlayParams:{theme:"light"}}},specialityRequest:{constructor:"App.SpecialityRequest",constructorParams:{promise:!0,showLoader:!1,autoSend:!1}}}},function(){App.Page.apply(this,arguments)}),cm.getConstructor("Page.UserFavorites",function(e,t,n,a){n.onConstructStart=function(){this.views={},this.peopleData=null,this.specialityData=null,this.specialityList={}},n.onDestructEnd=function(){this.components.overlay?.destruct(),this.components.peopleRequest?.destruct(),this.components.specialityRequest?.destruct()},n.renderView=function(){this.nodes.container=cm.node("article",{classes:["page","page--user-favorites"]},this.nodes.titleSection=cm.node("section",{classes:["tpl__section","tpl__section--favorites-title","is-box","has-padding-adaptive"]},this.nodes.titleHolder=cm.node("div",{classes:"inner"},cm.node("div",{classes:["section__title","section__title--navigation"]},cm.node("div",{classes:["section__action","media--on-desktop"]},Application.User.embedHomeAction()),cm.node("h1",{classes:"section__label"},this.msg("title")),cm.node("div",{classes:["section__action","media--on-desktop"]})))),this.nodes.contentSection=cm.node("section",{classes:["tpl__section","tpl__section--favorites","is-box","has-padding-adaptive"]},this.nodes.contentHolder=cm.node("div",{classes:"inner"})))},n.renderViewModel=function(){a.prototype.renderViewModel.apply(this,arguments),this.renderTabset()},n.renderTabset=function(){let t=this,n=[];n.push({id:"photos",title:t.msg("tabs.photos"),callback:e=>{t.views.photos=t.renderPhotosView({container:e.tab.inner})}}),n.push({id:"people",title:t.msg("tabs.people"),callback:e=>{t.views.people=t.renderPeopleView({container:e.tab.inner})}}),Application.User.isBeautician()&&n.push({id:"tags",title:t.msg("tabs.tags"),notifications:"tag",hooks:{notifications:"user.notifications.tag"},callback:e=>{t.views.tags=t.renderTagsView({container:e.tab.inner})}}),cm.getConstructor(t.params.tabset.constructor,e=>{t.components.tabset=new e(cm.merge(t.params.tabset.constructorParams,{container:t.nodes.contentHolder,active:"photos",items:n,events:{onTabChangeStart:e=>{App.isMobile()&&!e.isInitial&&cm.scrollTo(t.nodes.contentHolder,window,{behavior:"smooth",direction:"up",duration:e.getParams("animateDuration")})}}}))})},n.renderPhotosView=function(e){let t=this;if(t.views.photos)return t.views.photos;let n={nodes:{},users:[],params:cm.merge({container:cm.node("div")},e)};return n.nodes.gallerySection=cm.node("section",{classes:"tpl__section tpl__section--gallery-grid"},n.nodes.galleryHolder=cm.node("div",{classes:"inner"})),cm.getConstructor(t.params.photoGallery.constructor,e=>{t.components.photoGallery=new e(cm.merge(t.params.photoGallery.constructorParams,{strings:t.msgObject("photos"),container:n.nodes.galleryHolder}))}),cm.appendChild(n.nodes.gallerySection,n.params.container),n},n.renderTagsView=function(e){let t=this;if(t.views.tags)return t.views.tags;let n={nodes:{},users:[],params:cm.merge({container:cm.node("div")},e)};return n.nodes.gallerySection=cm.node("section",{classes:"tpl__section tpl__section--gallery-grid"},n.nodes.galleryHolder=cm.node("div",{classes:"inner"})),cm.getConstructor(t.params.tagsGallery.constructor,e=>{t.components.tagsGallery=new e(cm.merge(t.params.tagsGallery.constructorParams,{strings:t.msgObject("tags"),container:n.nodes.galleryHolder,buttonContainer:n.nodes.galleryButtonHolder}))}),cm.appendChild(n.nodes.gallerySection,n.params.container),n},n.renderPeopleView=function(e){let n=this;if(n.views.people)return n.views.people;let t={nodes:{},users:[],params:cm.merge({container:cm.node("div")},e)};return cm.getConstructor(n.params.overlay.constructor,e=>{n.components.overlay=new e(cm.merge(n.params.overlay.constructorParams,{container:t.params.container}))}),cm.getConstructor(n.params.specialityRequest.constructor,e=>{n.components.specialityRequest=new e(cm.merge(n.params.specialityRequest.constructorParams,{events:{onSuccess:(e,t)=>n.specialityRequestResponse(t.data)}}))}),cm.getConstructor(n.params.peopleRequest.constructor,e=>{n.components.peopleRequest=new e(cm.merge(n.params.peopleRequest.constructorParams,{events:{onSuccess:(e,t)=>n.peopleRequestResponse(t.data),onError:(e,t)=>
1n.peopleRequestResponse(t.message)}}))}),Promise.allSettled([n.components.specialityRequest.send(),n.components.peopleRequest.send()]).catch(()=>n.renderPeopleError(t,n.peopleData)).finally(()=>n.renderPeopleList(t,n.peopleData)),t},n.specialityRequestResponse=function(e){this.specialityData=e,this.specialityList=Application.User.convertSpecialityToList(this.specialityData)},n.peopleRequestResponse=function(e){this.peopleData=e},n.renderPeopleError=function(e,t){this.components.overlay.close(),t=cm.isString(t)?t:this.msgParse("server_error"),e.nodes.empty=cm.node("div",{classes:["cm__empty","h6"]},t),cm.clearNode(e.params.container),cm.appendChild(e.nodes.empty,e.params.container)},n.renderPeopleList=function(t,e){let n=this;if(n.components.overlay.close(),cm.isEmpty(e))return n.renderPeopleError(t,n.msg("people.empty"));t.nodes.container=cm.node("div",{classes:["app__cards-grid","app__cards-grid--favorites"]}),cm.forEach(e,e=>{e={data:e};e.card=Application.User.renderDetailedCard(e.data,{tagName:"article",container:t.nodes.container,classes:["has-background","has-canvas--desktop"],modifiers:["favorites"],address:{render:!0},speciality:{render:!0,list:n.specialityList},licenses:{render:!0},editable:{enable:!0,content:n.embedFavoriteAction(e)}}),t.users.push(e)}),cm.clearNode(t.params.container),cm.appendChild(t.nodes.container,t.params.container)},n.embedFavoriteAction=function(t){let n=this,a=cm.node("div");return cm.getConstructor(n.params.favorite.constructor,e=>{t.component=new e(cm.merge(n.params.favorite.constructorParams,{container:a,data:t.data}))}),a}}),cm.define("Page.UserGallery",{extend:"App.Page",params:{name:"user-gallery",layout:["layout--default-clean","layout--gallery","layout--portfolio"],profileRequest:{constructor:"App.ProfileRequest",constructorParams:{promise:!0,showLoader:!1,autoSend:!1}},specialityRequest:{constructor:"App.SpecialityRequest",constructorParams:{promise:!0,showLoader:!1,autoSend:!1}},overlay:{constructor:"Com.Overlay",constructorParams:{position:"absolute",removeOnClose:!0,destructOnRemove:!0,showContent:!1,lazy:!0,theme:"secondary"}},gallery:{constructor:"App.GalleryIndex",constructorParams:{user:{markPrivate:!1},editable:{enable:!0},create:{enable:!0},list:{constructorParams:{ajax:{url:App._api.me.photos}}}}}}},function(){App.Page.apply(this,arguments)}),cm.getConstructor("Page.UserGallery",function(e,t,n,a){n.onConstructStart=function(){this.profileData=null,this.specialityData=null,this.specialityList={}},n.onDestructEnd=function(){cm.forEach(this.components,e=>e.destruct())},n.renderView=function(){let e=this;e.nodes.container=cm.node("div",{classes:["page","page--gallery"]},e.nodes.titleSection=cm.node("section",{classes:["tpl__section","tpl__section--gallery-title","is-box","has-padding-adaptive"]},e.nodes.titleHolder=cm.node("div",{classes:"inner"},cm.node("div",{classes:["section__title","section__title--navigation"]},cm.node("div",{classes:["section__action"]},Application.User.embedHomeAction({classes:["media--on-desktop"]})),cm.node("h1",{classes:"section__label"},e.msg("title")),cm.node("div",{classes:["section__action","pull-right"]},Application.Buttons.embed({label:e.msg("actions.add"),modifiers:["editable"],icons:{before:"plus",classes:["small"]},ariaHasPopup:"dialog",callback:()=>e.components.gallery?.create()}))))),e.nodes.gallerySection=cm.node("section",{classes:["tpl__section","tpl__section--gallery","is-box","has-padding-bottom-adaptive"]},e.nodes.galleryHolder=cm.node("div",{classes:"inner"})))},n.renderViewModel=function(){let t=this;a.prototype.renderViewModel.apply(t,arguments),cm.getConstructor(t.params.overlay.constructor,e=>{t.components.overlay=new e(cm.merge(t.params.overlay.constructorParams,{container:t.nodes.galleryHolder}))}),cm.getConstructor(t.params.profileRequest.constructor,e=>{t.components.profileRequest=new e(cm.merge(t.params.profileRequest.constructorParams,{events:{onSuccess:t.profileRequestSuccess.bind(t),onError:t.profileRequestError.bind(t)}}))}),cm.getConstructor(t.params.specialityRequest.constructor,e=>{t.components.specialityRequest=new e(cm.merge(t.params.specialityRequest.constructorParams,{events:{onSuccess:t.specialityRequestSuccess.bind(t)}}))}),Promise.allSettled([t.components.specialityRequest.send(),t.components.profileRequest.send()]).catch(t.renderPromiseError.bind(t)).finally(t.renderPromiseResponse.bind(t))},n.renderPromiseResponse=function(){let n=this;n.components.overlay.close(),cm.isEmpty(n.profileData)||cm.getConstructor(n.params.gallery.constructor,e=>{n.components.gallery=new e(cm.merge(n.params.gallery.constructorParams,{container:n.nodes.galleryHolder,editable:{fieldsData:{speciality:n.specialityData}},events:{onEditableSuccess:(e,t)=>n.afterGalleryEditableSuccess(t)}}))})},n.renderPromiseError=function(e){this.components.overlay.close(),cm.errorLog({type:"error",name:t,message:e})},n.specialityRequestSuccess=function(e,t){this.specialityData=t.data,this.specialityList=Application.User.convertSpecialityToList(this.specialityData)},n.profileRequestSuccess=function(e,t){this.profileData=Application.User.validateProfile(t.data,{populateData:!1})},n.profileRequestError=function(e,t){t=t.target.status.toString();let n=this.msgObject(t);cm.isEmpty(n)&&(n=this.msgObject("400")),Application.summonRoute("error",null,{data:n})},n.afterGalleryEditableSuccess=function(e){"create"===e&&(this.profileData.data.photos++,this.components.gallery.request()),"delete"===e&&this.profileData.data.photos--,["create","delete"].includes(e)&&Ap
1plication.User.updateProfile({photos:this.profileData.data.photos})}}),cm.define("Page.UserProfile",{extend:"App.Page",params:{name:"user-profile",layout:["layout--default-clean","layout--mobile-clean","layout--profile"],scrollEvent:!0,share:{constructor:"App.ShareContainer",constructorParams:{}},empty:{classes:["cm__empty","h7"]},map:{constructor:"App.DirectoryViewContainer",constructorParams:{}},tabset:{constructor:"App.Tabset",constructorParams:{name:"profile",className:["is-content-light","is-tabs-sticky"],adaptive:!1,toggleOnHashChange:!1,showMenu:!1}},specialityRequest:{constructor:"App.SpecialityRequest",constructorParams:{promise:!0,showLoader:!1,autoSend:!1}},profileRequests:{me:{constructor:"App.ProfileRequest",constructorParams:{promise:!0,showLoader:!1,autoSend:!1}},user:{constructor:"App.UserRequest",constructorParams:{promise:!0,showLoader:!1,autoSend:!1}}},preferences:{constructor:"App.UserPreferencesContainer",constructorParams:{}},conversations:{constructor:"App.ConversationsContainer",constructorParams:{}},coverForm:{constructor:"Form.ProfileCoverContainer",constructorParams:{}},avatarForm:{constructor:"Form.ProfileAvatarContainer",constructorParams:{}},favorite:{constructor:"App.UserFavoriteButton",constructorParams:{}},licenses:{constructor:"App.UserLicensesBox",constructorParams:{}},talents:{constructor:"App.UserTalentsBox",constructorParams:{}},employment:{constructor:"App.UserEmploymentBox",constructorParams:{}},bookingServices:{constructor:"App.UserBookingServicesList",constructorParams:{}},galleries:{me:{constructor:"App.GalleryIndex",constructorParams:{user:{markPrivate:!1},list:{constructorParams:{ajax:{url:App._api.me.photos}}}}},user:{constructor:"App.GalleryIndex",constructorParams:{list:{constructorParams:{ajax:{url:App._api.photos.list,params:{"filter=user":"{id}"}}}}}},beautician:{constructorParams:{columns:1,rows:5}}}}},function(){App.Page.apply(this,arguments)}),cm.getConstructor("Page.UserProfile",function(e,t,n,a){n.onConstructStart=function(){this.views={},this.isMe=!1,this.isMeBrand=!1,this.specialityData=null,this.specialityList={},this.requestParams={},this.profileData=null,this.isTabsView=null},n.onConstructComplete=function(){var e;this.isMeBrand&&(e=cm.merge(this.msgObject("brandError"),{button:Application.Buttons.embed({label:this.msg("brandError.button"),classes:["is-wide"],modifiers:["desktop-xxlarge"],link:Router.getURL("external.dashboard",null,{route:["signin",Application.userGetToken(),Application.userGetRefreshToken()].join("/")})})}),Application.summonRoute("error",null,{data:e}))},n.onValidateParams=function(){var e=this,t=(e.requestParams=e.params.route.captures,e.isMe=Application.User.isMe(e.requestParams),e.isMeBrand=e.isMe&&Application.User.isBrand(),e.params.profileRequest=e.isMe?e.params.profileRequests.me:e.params.profileRequests.user,e.params.gallery=e.isMe?e.params.galleries.me:e.params.galleries.user,e.isMe?e.messageObject("me"):e.messageObject("public"));e.setMessages(t)},n.onDestructEnd=function(){cm.forEach(this.components,e=>e.destruct())},n.renderView=function(){this.nodes.container=cm.node("article",{classes:["page","page--user-profile"]},this.nodes.contentSection=cm.node("section",{classes:["tpl__section","tpl__section--profile","is-box"]},this.nodes.feedHolder=cm.node("div",{classes:"inner"}))),this.views.skeletonTitle=this.renderSkeletonTitleView({container:this.nodes.container,insertMethod:"insertFirst"})},n.renderViewModel=function(){let t=this;a.prototype.renderViewModel.apply(t,arguments),t.isMeBrand||(cm.getConstructor(t.params.specialityRequest.constructor,e=>{t.components.specialityRequest=new e(cm.merge(t.params.specialityRequest.constructorParams,{events:{onSuccess:t.specialityRequestSuccess.bind(t)}}))}),cm.getConstructor(t.params.profileRequest.constructor,e=>{t.components.profileRequest=new e(cm.merge(t.params.profileRequest.constructorParams,{data:{id:t.requestParams.shortname||t.requestParams.id},events:{onSuccess:t.profileRequestSuccess.bind(t),onError:t.profileRequestError.bind(t)}}))}),Promise.allSettled([t.components.specialityRequest.send(),t.components.profileRequest.send()]).catch(t.renderPromiseError.bind(t)).finally(t.renderPromiseResponse.bind(t)))},n.renderSkeletonTitleView=function(e){e={nodes:{},params:cm.merge({container:cm.node("div"),insertMethod:"appendChild"},e)};
1return e.nodes.container=cm.node("section",{classes:["tpl__section","tpl__section--profile-title","is-box"]},e.nodes.inner=cm.node("div",{classes:"inner"},cm.node("div",{classes:"section__cover"},Application.User.embedCover(null,{modifiers:["profile"],alt:this.msg("skeleton.cover"),renderSkeleton:!0})),cm.node("div",{classes:"section__columns"},cm.node("div",{classes:["section__column","section__column--title"]},cm.node("h1",{classes:"h2",title:this.msg("title")},Application.embedTextSkeleton({length:cm.rand(24,40)}))),cm.node("div",{classes:["section__column","section__column--avatar"]},Application.User.embedAvatar(null,{modifiers:["profile"],alt:this.msg("skeleton.avatar"),renderSkeleton:!0}))))),cm[e.params.insertMethod](e.nodes.container,e.params.container),e},n.removeSkeletonTitleView=function(){this.views.skeletonTitle&&cm.remove(this.views.skeletonTitle.nodes.container)},n.renderLayoutView=function(){let e=this,t={nodes:{},title:{container:e.nodes.container,insertMethod:"insertFirst"},params:{container:e.nodes.feedHolder}};return e.setDocumentTitle(e.profileData.name),e.removeSkeletonTitleView(),e.views.title=e.renderTitleView(t.title),e.profileData.isBeautician?(cm.addClass(e.nodes.contentSection,"is-beautician"),e.addEvent("onRedraw",()=>e.redrawLayout(t))):(cm.addClass(e.nodes.contentSection,"is-enthusiast"),e.renderGalleryLayout({container:t.params.container})),t},n.redrawLayout=function(e){var t=this;e=e||t.views.layout,cm.isBreakpoint("desktopUp")?cm.isBoolean(t.isTabsView)&&!t.isTabsView||(t.isTabsView=!1,t.views.tabset&&cm.remove(t.views.tabset.nodes.container),t.views.content?t.redrawContent(t.views.content,{container:e.params.container}):t.views.content=t.renderContentView({container:e.params.container}),t.redraw("full",{self:!1})):cm.isBoolean(t.isTabsView)&&t.isTabsView||(t.isTabsView=!0,t.views.content&&cm.remove(t.views.content.nodes.container),t.views.gallery&&t.components.gallery.toggleCreateActionVisibility(!1),t.views.tabset?t.redrawTabset(t.views.tabset,{container:e.params.container}):t.views.tabset=t.renderTabsetView({container:e.params.container}),t.redraw("full",{self:!1}))},n.renderTitleView=function(e){e={nodes:{},params:cm.merge({container:cm.node("div"),insertMethod:"appendChild"},e),classes:["tpl__section","tpl__section--profile-title","is-box"]};return e.nodes.container=cm.node("section",{classes:e.classes},e.nodes.inner=cm.node("div",{classes:"inner"},e.nodes.coverHolder=cm.node("div",{classes:"section__cover"}),cm.node("div",{classes:"section__columns"},e.nodes.titleHolder=cm.node("div",{classes:["section__column","section__column--title"]},Application.User.embedName(this.profileData.data,{tagName:"h1",classes:["h2"],modifiers:["profile"],fit:!0,showTitle:!0,renderBadge:!0,renderHiring:!0})),e.nodes.avatarHolder=cm.node("div",{classes:["section__column","section__column--avatar"]}),e.nodes.actionsHolder=cm.node("div",{classes:["section__column","section__column--actions","is-empty"]})))),e.cover=this.renderTitleCoverView({container:e.nodes.coverHolder}),e.avatar=this.renderTitleAvatarView({container:e.nodes.avatarHolder}),e.actions=this.renderTitleActionsView({container:e.nodes.actionsHolder}),this.profileData.isBeautician?(cm.addClass(e.nodes.container,"is-beautician"),e.about=this.renderTitleAboutView({container:e.nodes.inner})):cm.addClass(e.nodes.container,"is-enthusiast"),cm[e.params.insertMethod](e.nodes.container,e.params.container),e},n.renderTitleCoverView=function(e){let t=this,n={nodes:{},coverForm:t.params.coverForm,params:cm.merge({container:cm.node("div")},e)};return n.coverData={modifiers:["profile"],controls:[],container:n.params.container},t.profileData.isMe&&cm.getConstructor(n.coverForm.constructor,e=>{n.nodes.coverButton=Application.Images.embedIcon({icon:"edit",title:t.msg("actions.editCover"),modifiers:["image-tool"],role:"button"}),n.coverForm.component=new e(cm.merge(n.coverForm.constructorParams,{node:n.nodes.coverButton,data:t.profileData.data,events:{onSuccess:t.profileEditableSuccess.bind(t)}})),n.coverData.controls.push(n.nodes.coverButton)}),n.cover=Application.User.renderCover(t.profileData.data,n.coverData),n},n.renderTitleAvatarView=function(e){let t=this,n={nodes:{},avatarForm:t.params.avatarForm,params:cm.merge({container:cm.node("div")},e)};return n.avatarData={modifiers:["profile"],size:"profile",controls:[],container:n.params.container},t.profileData.isMe&&cm.getConstructor(n.avatarForm.constructor,e=>{n.nodes.avatarButton=Application.Images.embedIcon({icon:"edit",title:t.msg("actions.editAvatar"),modifiers:["image-tool"],role:"button"}),n.avatarForm.component=new e(cm.merge(n.avatarForm.constructorParams,{node:n.nodes.avatarButton,data:t.profileData.data,events:{onSuccess:t.profileEditableSuccess.bind(t)}})),n.avatarData.controls.push(n.nodes.avatarButton)}),n.avatar=Application.User.renderAvatar(t.profileData.data,n.avatarData),n},n.renderTitleActionsView=function(e){e={nodes:{},actions:[],params:cm.merge({container:cm.node("div")},e)};
1return e.nodes.container=cm.node("div",{classes:["pt__buttons","pull-justify"]},e.nodes.holder=cm.node("div",{classes:"inner"})),Application.User.isAuthorized()?this.profileData.isMe?this.renderMyTitleActions(e):this.renderPublicTitleActions(e):this.renderCommonTitleActions(e),0<e.actions.length&&(cm.appendChild(e.nodes.container,e.params.container),cm.removeClass(e.params.container,"is-empty")),e},n.renderCommonTitleActions=function(t,n){let a=this;n=cm.merge({renderLabel:!0},n),cm.getConstructor(a.params.share.constructor,e=>{t.actions.push("share"),t.nodes.buttonShare=Application.Buttons.embed({label:n.renderLabel?a.msg("actions.share.label"):null,title:a.msg("actions.share.title"),icons:{classes:["medium"],before:"share"},classes:["is-compact"],modifiers:["border"],container:t.nodes.holder}),a.components.share=new e(cm.merge(a.params.share.constructorParams,{node:t.nodes.buttonShare,data:a.profileData.data}))})},n.renderMyTitleActions=function(e){let t=this;t.profileData.isPublic||(e.actions.push("hidden"),e.nodes.buttonHidden=Application.Buttons.embed({label:t.msg("actions.hidden.label"),title:t.msg("actions.hidden.title"),icons:{classes:["large","outset-medium"],before:"hidden"},classes:["button-disabled","is-compact"],container:e.nodes.holder})),t.profileData.isPublic&&t.renderCommonTitleActions(e),e.actions.push("preferences"),e.nodes.buttonPreferences=Application.Buttons.embed({label:t.msg("actions.editPreferences.label"),title:t.msg("actions.editPreferences.title"),icons:{classes:["medium"],before:"gear-border"},link:Router.getURL("user.settings"),noRoute:!0,classes:["button-primary","is-compact"],container:e.nodes.holder,ariaHasPopup:"dialog",callback:()=>t.openPreferences("initial")})},n.renderPublicTitleActions=function(t){let n=this,a="allow"===n.profileData.data.sendMeMessage,s=n.profileData.isBeautician;a&&s&&cm.addClass(t.nodes.container,"pull-justify-auto"),n.renderCommonTitleActions(t,{renderLabel:!(a&&s)}),a&&cm.getConstructor(n.params.conversations.constructor,e=>{t.actions.push("conversation"),t.nodes.buttonDirect=Application.Buttons.embed({label:n.msg("actions.conversation.label"),title:n.msg("actions.conversation.title"),icons:{classes:["medium"],before:"message-border"},link:Router.getURL("user.conversation",null,{id:n.profileData.data.id}),noRoute:!0,classes:["button-primary","is-compact"],container:t.nodes.holder}),n.components.conversations=new e(cm.merge(n.params.conversations.constructorParams,{node:t.nodes.buttonDirect,data:n.profileData.data}))}),s&&cm.getConstructor(n.params.favorite.constructor,e=>{t.actions.push("favorite"),n.components.favorite=new e(cm.merge(n.params.favorite.constructorParams,{container:t.nodes.holder,insertMethod:"insertFirst",data:n.profileData.data,renderLabel:!(a&&s),tooltip:{constructorParams:{align:1<t.actions.length?"underTopLeft":"underTopRight"}}}))})},n.renderTitleAboutView=function(e){e={nodes:{},fields:[],contacts:[],params:cm.merge({container:cm.node("div")},e)};return e.nodes.container=cm.node("div",{classes:"section__entry"}),e.nodes.about=cm.node("div",{classes:"section__about"}),cm.isEmpty(e.fields)||cm.appendChild(e.nodes.about,e.nodes.container),this.renderTitleSocialLinks(e),cm.isEmpty(e.contacts)||cm.appendChild(e.nodes.contacts,e.nodes.container),cm.isEmpty(e.fields)&&cm.isEmpty(e.contacts)||cm.appendChild(e.nodes.container,e.params.container),e},n.renderTitleSocialLinks=function(n){let a=this;n.nodes.contacts=cm.node("div",{classes:"section__contacts"},n.nodes.icons=cm.node("ul"));cm.forEach({email:"email",mobile:"profile.mobile"},(e,t)=>{a.profileData.isMe&&!a.profileData.privacy?.[e]||a.renderField(n.contacts,{name:e,type:"link",view:"node",label:"profile."+t,link:{type:t,classes:["app__icon-link","app__icon-link--social"]},icon:{icon:t,classes:["is-border","size-field","inset-medium"]},tagName:"li",modifiers:[],container:n.nodes.icons})});cm.forEach({facebook:"https://facebook.com/{name}",twitter:"https://x.com/{name}",instagram:"https://instagram.com/{name}",youtube:"https://youtube.com/@{name}",pinterest:"https://pinterest.com/{name}",snapchat:"https://snapchat.com/add/{name}",tumblr:"https://{name}.tumblr.com/"},(e,t)=>{a.renderField(n.contacts,{name:"profile."+t,type:"link",view:"node",link:{type:"linkMap",target:"_blank",map:e,classes:["app__icon-link","app__icon-link--social"]},icon:{icon:t,classes:["is-border","size-field","inset-medium"]},tagName:"li",modifiers:[],container:n.nodes.icons})}),6<n.contacts.length&&cm.addClass(n.nodes.contacts,"is-shrinks-sm")}
1,n.renderTabsetView=function(e){let n=this,a={nodes:{},tabs:[],content:{},params:cm.merge({container:cm.node("div")},e)};return a.nodes.container=cm.node("div",{classes:"com__tabset__holder"}),a.tabs.push({id:"about",title:n.msg("tabs.about"),callback:e=>{a.content[e.id]=n.renderAboutTabLayout({container:e.tab.inner})}}),(n.profileData.isMe||n.profileData.isEmploymentCounterparty||0<n.profileData.data.workers)&&a.tabs.push({id:"employment",title:n.msg("tabs.employment"),callback:e=>{a.content[e.id]=n.renderEmploymentTabLayout({container:e.tab.inner})}}),a.tabs.push({id:"gallery",title:n.msg("tabs.gallery"),callback:e=>{a.content[e.id]=n.renderGalleryTabLayout({container:e.tab.inner})}}),cm.getConstructor(n.params.tabset.constructor,e=>{n.components.tabset=new e(cm.merge(n.params.tabset.constructorParams,{container:a.nodes.container,active:"about",items:a.tabs,events:{onTabChangeStart:e=>{App.isMobile()&&!e.isInitial&&cm.scrollTo(a.nodes.container,window,{behavior:"smooth",direction:"up",duration:e.getParams("animateDuration")})},onTabShowStart:(e,t)=>n.redrawTabsetContent(a,t.id)}}))}),cm.appendChild(a.nodes.container,a.params.container),a},n.redrawTabset=function(e,t){e=e||this.views.tabset,t=cm.merge({container:cm.node("div")},t),cm.appendChild(e.nodes.container,t.container),this.components.tabset.refresh()},n.redrawTabsetContent=function(e,n){cm.forEach(e.content,(e,t)=>{cm.isFunction(e.redraw)&&e.redraw(n===t)})},n.renderAboutTabLayout=function(e){e={nodes:{},params:cm.merge({container:cm.node("div")},e)};return this.renderSidebarLayout({container:e.params.container}),e},n.renderEmploymentTabLayout=function(e){e={nodes:{},params:cm.merge({container:cm.node("div")},e)};return this.renderEmploymentLayout({container:e.params.container}),e},n.renderGalleryTabLayout=function(e){let t=this;e={nodes:{},params:cm.merge({container:cm.node("div")},e)};return t.renderFeedLayout({container:e.params.container}),e.redraw=e=>{t.components.gallery.toggleSuspension(e).toggleCreateActionVisibility(e)},e},n.renderContentView=function(e){e={nodes:{},params:cm.merge({container:cm.node("div")},e)};return e.nodes.container=cm.node("div",{classes:"section__columns"},e.nodes.sidebarColumn=cm.node("aside",{classes:["section__column","section__column--sidebar"]},e.nodes.sidebar=e.nodes.sidebarHolder=cm.node("div",{classes:"section__sidebar"})),e.nodes.feedColumn=e.nodes.feedHolder=cm.node("div",{classes:["section__column","section__column--gallery"]})),this.redrawSidebarHelper(e),this.redrawContent(e,{container:e.params.container}),e},n.redrawContent=function(e,t){e=e||this.views.content,t=cm.merge({container:cm.node("div")},t),this.renderSidebarLayout({container:e.nodes.sidebarHolder}),this.renderFeedLayout({container:e.nodes.feedHolder}),cm.appendChild(e.nodes.container,t.container)},n.redrawSidebarHelper=function(e){App.scrollSidebarHelper(this,e.nodes.sidebarColumn,e.nodes.sidebar)},n.renderSidebarLayout=function(e){var t=this;e=cm.merge({container:cm.node("div")},e),cm.isBreakpoint("desktopDown")&&(t.views.biography||(t.views.biography=t.renderBiographyView()),t.profileData.isMe||t.views.biography?.hasContent)&&cm.insertFirst(t.views.biography.nodes.container,e.container,!1),"salon"===t.profileData.role&&(t.views.talents||(t.views.talents=t.renderTalentsView()),t.profileData.isMe||t.views.talents?.hasContent)&&cm.insertFirst(t.views.talents.nodes.container,e.container,!1),cm.isBreakpoint("desktopUp")?(t.views.employmentSlider||(t.views.employmentSlider=t.renderEmploymentSliderView()),(t.profileData.isMe||t.views.employmentSlider?.hasContent)&&cm.appendChild(t.views.employmentSlider.nodes.container,e.container,!1)):t.views.employmentSlider&&cm.remove(t.views.employmentSlider.nodes.container),t.views.workingDetails||(t.views.workingDetails=t.renderWorkingDetailsView()),(t.profileData.isMe||t.views.workingDetails?.hasContent)&&cm.appendChild(t.views.workingDetails.nodes.container,e.container,!1),t.views.workingHours||(t.views.workingHours=t.renderWorkingHoursView()),(t.profileData.isMe||t.views.workingHours?.hasContent)&&cm.appendChild(t.views.workingHours.nodes.container,e.container,!1),t.views.bookingServices||(t.views.bookingServices=t.renderBookingServicesView()),(t.profileData.isMe||t.views.bookingServices?.hasContent)&&cm.appendChild(t.views.bookingServices.nodes.container,e.container,!1),t.views.licenses||(t.views.licenses=t.renderLicensesView()),(t.profileData.isMe||t.views.licenses?.hasContent)&&cm.appendChild(t.views.licenses.nodes.container,e.container,!1)},n.renderBiographyView=function(e){let t=this;e={nodes:{},fields:[],hasContent:!1,params:cm.merge({container:cm.node("div")},e)};
1return e.nodes.container=cm.node("section",{classes:["tpl__box","tpl__box--profile","tpl__box--biography"]},e.nodes.inner=cm.node("div",{classes:"inner"},e.nodes.title=cm.node("div",{classes:"tpl__box__title"},cm.node("h3",{classes:["label"]},t.msg("about.title"))),e.nodes.holder=cm.node("div",{classes:"tpl__box__content"}))),t.renderField(e.fields,{name:"profile.biography",view:"node",tagName:"p",modifiers:[],adaptive:!1,container:e.nodes.holder}),cm.isEmpty(e.fields)||(e.hasContent=!0,cm.addClass(e.nodes.container,"has-content")),t.profileData.isMe&&(cm.addClass(e.nodes.title,"is-editable"),e.nodes.button=Application.Buttons.embed({label:t.msg("actions.edit"),title:t.msg("about.edit"),icons:{classes:["size-field-half"],before:"edit"},link:Router.getURL("user.settings","working-details"),noRoute:!0,modifiers:["editable","editable-gap"],container:e.nodes.title,ariaHasPopup:"dialog",callback:()=>t.openPreferences("working-details")}),e.hasContent||(e.nodes.empty=cm.node("div",{classes:t.params.empty.classes,innerHTML:t.msg("about.empty")}),cm.appendChild(e.nodes.empty,e.nodes.holder))),(e.hasContent||t.profileData.isMe)&&cm.appendChild(e.nodes.container,e.params.container),e},n.renderTalentsView=function(e){let t=this,n={nodes:{},hasContent:!0,params:cm.merge({container:cm.node("div")},e)};return n.nodes.container=cm.node("section",{classes:["tpl__box","tpl__box--profile","tpl__box--profile-talents"]},n.nodes.inner=cm.node("div",{classes:"inner"},n.nodes.title=cm.node("div",{classes:"tpl__box__title"},cm.node("h3",{classes:"label"},t.msg("talents.title"))),n.nodes.content=cm.node("div",{classes:["tpl__box__content","is-hidden"]}),n.nodes.actions=cm.node("div",{classes:["tpl__box__actions","is-canvas","is-status","is-hidden"]}))),cm.getConstructor(t.params.talents.constructor,e=>{t.components.talents=new e(cm.merge(t.params.talents.constructorParams,{container:n.nodes.content,actionsContainer:n.nodes.actions,data:t.profileData.data,events:{onEmpty:e=>{n.hasContent=!1,cm.removeClass(n.nodes.container,"has-content"),cm.remove(n.nodes.container)},onContentRender:(e,t)=>{n.hasContent=!0,cm.addClass(n.nodes.container,"has-content"),cm.removeClass(n.nodes.content,"is-hidden")},onActionRender:(e,t)=>{cm.removeClass(n.nodes.actions,"is-hidden")}}}))}),t.profileData.isMe&&(cm.addClass(n.nodes.title,"is-editable"),n.nodes.action=Application.Buttons.embed({container:n.nodes.title,modifiers:["editable","editable-gap"],label:t.msg("actions.manage"),title:t.msg("talents.manage"),icons:{classes:["size-field-half"],before:"edit"},link:Router.getURL("user.settings",t.msg("talents.preferences")),noRoute:!0,ariaHasPopup:"dialog",callback:()=>t.openPreferences(t.msg("talents.preferences"))})),(n.hasContent||t.profileData.isMe)&&cm.appendChild(n.nodes.container,n.params.container),n},n.renderEmploymentSliderView=function(e){let t=this,n={nodes:{},hasBox:!0,hasContent:!1,params:cm.merge({container:cm.node("div")},e)};return n.nodes.container=cm.node("section",{classes:["tpl__box","tpl__box--profile","tpl__box--profile-employment"]},n.nodes.inner=cm.node("div",{classes:"inner"},n.nodes.title=cm.node("div",{classes:"tpl__box__title"},cm.node("h3",{classes:"label"},t.msg("employment.title"))),n.nodes.content=cm.node("div",{classes:"tpl__box__content"}),n.nodes.actions=cm.node("div",{classes:["tpl__box__actions","is-canvas","is-status","is-hidden","is-transparent"]}))),cm.getConstructor(t.params.employment.constructor,e=>{t.components.employment=new e(cm.merge(t.params.employment.constructorParams,{container:n.nodes.content,actionsContainer:n.nodes.actions,contentType:"slider",empty:t.params.empty,data:t.profileData.data,fieldsData:{speciality:t.specialityData},overlay:{container:n.nodes.box},events:{onEmpty:e=>{cm.removeClass(n.nodes.container,"has-content"),t.profileData.isMe||(cm.addClass(n.nodes.content,"is-hidden"),e.hasAction())||
1(n.hasContent=!1,cm.remove(n.nodes.container))},onListRender:(e,t)=>{cm.addClass(n.nodes.container,"has-content"),cm.removeClass(n.nodes.content,"is-hidden"),cm.toggleClass(n.nodes.content,"is-message","message"===t)},onActionRender:(e,t)=>{cm.removeClass(n.nodes.actions,"is-hidden"),cm.onSchedule(()=>cm.removeClass(n.nodes.actions,"is-transparent"))}}})),t.components.employment.hasContent()&&(n.hasContent=!0,cm.addClass(n.nodes.container,"has-content"))}),t.profileData.isMe&&(cm.addClass(n.nodes.title,"is-editable"),n.nodes.button=Application.Buttons.embed({container:n.nodes.title,modifiers:["editable","editable-gap"],label:t.msg("actions.manage"),title:t.msg("employment.manage"),icons:{classes:["size-field-half"],before:"edit"},link:Router.getURL("user.settings",t.msg("employment.preferences")),noRoute:!0,ariaHasPopup:"dialog",callback:()=>t.openPreferences(t.msg("employment.preferences"))})),(n.hasContent||t.profileData.isMe)&&cm.appendChild(n.nodes.container,n.params.container),n},n.renderEmploymentView=function(e){let n=this,a={nodes:{},hasBox:!0,hasContent:!0,params:cm.merge({container:cm.node("div")},e)};return a.nodes.container=cm.node("div",{classes:"tpl__wrapper"},a.nodes.box=cm.node("section",{classes:["tpl__box","tpl__box--profile","tpl__box--profile-employment","has-content"]},a.nodes.inner=cm.node("div",{classes:"inner"},a.nodes.content=cm.node("div",{classes:"tpl__box__content"}),a.nodes.actions=cm.node("div",{classes:["tpl__box__actions","is-hidden","is-transparent"]}))),a.nodes.holder=cm.node("div",{classes:"tpl__wrapper"})),cm.getConstructor(n.params.employment.constructor,e=>{n.components.employment=new e(cm.merge(n.params.employment.constructorParams,{container:a.nodes.content,actionsContainer:a.nodes.actions,contentContainer:a.nodes.holder,contentType:"list",data:n.profileData.data,fieldsData:{speciality:n.specialityData},overlay:{container:a.nodes.box},events:{onEmpty:e=>{cm.addClass(a.nodes.content,"is-hidden"),n.profileData.isMe||e.hasAction()||cm.remove(a.nodes.box)},onListRender:(e,t)=>{cm.addClass(a.nodes.content,"is-hidden"),n.profileData.isMe||e.hasAction()||cm.remove(a.nodes.box),n.profileData.isMe&&!e.hasAction()&&(cm.removeClass(a.nodes.actions,"is-hidden"),cm.onSchedule(()=>cm.removeClass(a.nodes.actions,"is-transparent")))},onActionRender:(e,t)=>{cm.removeClass(a.nodes.actions,"is-hidden"),cm.onSchedule(()=>cm.removeClass(a.nodes.actions,"is-transparent"))}}}))}),n.profileData.isMe&&(cm.addClass(a.nodes.actions,"is-editable"),a.nodes.action=Application.Buttons.embed({container:a.nodes.actions,classes:["is-box","media--desktop-down"],modifiers:["editable","editable-card"],label:n.msg("employment.manage"),icons:{classes:["is-round","large","inset-field-half"],before:"edit"},link:Router.getURL("user.settings",n.msg("employment.preferences")),noRoute:!0,ariaHasPopup:"dialog",callback:()=>n.openPreferences(n.msg("employment.preferences"))})),(a.hasContent||n.profileData.isMe)&&cm.appendChild(a.nodes.container,a.params.container),a},n.renderWorkingDetailsView=function(e){let t=this;e={nodes:{},fields:[],hasContent:!1,params:cm.merge({container:cm.node("div")},e)};return e.nodes.container=cm.node("section",{classes:["tpl__box","tpl__box--profile"]},e.nodes.inner=cm.node("div",{classes:"inner"},e.nodes.title=cm.node("div",{classes:"tpl__box__title"},cm.node("h3",{classes:["label"]},t.msg("workingDetails.title"))),e.nodes.holder=cm.node("div",{classes:"tpl__box__content"}))),t.renderField(e.fields,{render:"tech"===t.profileData.role,name:"profile.school",container:e.nodes.holder}),t.renderField(e.fields,{render:"tech"===t.profileData.role,name:"profile.occupation",container:e.nodes.holder}),t.renderField(e.fields,{name:"profile.address",label:"workingDetails.address",type:"address",container:e.nodes.holder}),t.renderField(e.fields,{name:"speciality",label:"profile.speciality",type:"speciality",container:e.nodes.holder}),cm.isEmpty(e.fields)||(e.hasContent=!0,cm.addClass(e.nodes.container,"has-content")),t.profileData.isMe&&(cm.addClass(e.nodes.title,"is-editable"),e.nodes.button=Application.Buttons.embed({container:e.nodes.title,modifiers:["editable","editable-gap"],label:t.msg("actions.edit"),title:t.msg("workingDetails.edit"),icons:{classes:["size-field-half"],before:"edit"},link:Router.getURL("user.settings","working-details"),noRoute:!0,ariaHasPopup:"dialog",callback:()=>t.openPreferences("working-details")}),e.hasContent||(e.nodes.empty=cm.node("div",{classes:t.params.empty.classes,innerHTML:t.msg("workingDetails.empty")}),cm.appendChild(e.nodes.empty,e.nodes.holder))),(e.hasContent||t.profileData.isMe)&&cm.appendChild(e.nodes.container,e.params.container),e},n.renderWorkingHoursView=function(e){let a=this,s={nodes:{},fields:[],hasContent:!1,hasWorkingHours:!1,params:cm.merge({container:cm.node("div")},e)};return cm.isEmpty(a.profileData.data.workinghours)||(s.workingHours=cm.clone(a.profileData.data.workinghours),s.hasWorkingHours=s.workingHours.some(e=>e.status)),s.nodes.container=cm.node("section",{classes:["tpl__box","tpl__box--profile","tpl__box--working-hours"]},s.nodes.inner=cm.node("div",{classes:"inner"},s.nodes.title=cm.node("div",{classes:"tpl__box__title"},cm.node("h3",{classes:["label"]},a.msg("workingHours.title"))),s.nodes.holder=cm.node("div",{classes:"tpl__box__content"}))),s.hasWorkingHours&&(s.hasContent=!0,cm.addClass(s.nodes.container,"has-content"),s.nodes.calendar=cm.node("div",{classes:"app__user-working-hours"}),cm.appendChild(s.nodes.calendar,s.nodes.holder),cm.forEach(App._config.user.w
1orkingHours,(t,e)=>{var n=s.workingHours.find(e=>e.day===t);a.renderField(s.fields,{data:n,name:"day",label:cm._strings.daysShort[e],title:cm._strings.days[e],type:"working-hours",modifiers:[],container:s.nodes.calendar})})),a.profileData.isMe&&(cm.addClass(s.nodes.title,"is-editable"),s.nodes.button=Application.Buttons.embed({container:s.nodes.title,modifiers:["editable","editable-gap"],label:a.msg("actions.edit"),title:a.msg("actions.editWorkingHours"),icons:{classes:["size-field-half"],before:"edit"},link:Router.getURL("user.settings","working-hours"),noRoute:!0,ariaHasPopup:"dialog",callback:()=>a.openPreferences("working-hours")}),s.hasContent||(s.nodes.empty=cm.node("div",{classes:a.params.empty.classes,innerHTML:a.msg("workingHours.empty")}),cm.appendChild(s.nodes.empty,s.nodes.holder))),(s.hasContent||a.profileData.isMe)&&cm.appendChild(s.nodes.container,s.params.container),s},n.renderBookingServicesView=function(e){let t=this,n={nodes:{},hasContent:!1,params:cm.merge({container:cm.node("div")},e)};return n.hasBookingServices=cm.isArray(t.profileData.data.bookingServices)&&t.profileData.data.bookingServices.some(e=>!cm.isEmpty(e)),n.nodes.container=cm.node("section",{classes:["tpl__box","tpl__box--profile"]},n.nodes.inner=cm.node("div",{classes:"inner"},n.nodes.title=cm.node("div",{classes:"tpl__box__title"},cm.node("h3",{classes:["label"]},t.msg("bookingServices.title"))),n.nodes.holder=cm.node("div",{classes:"tpl__box__content"}))),n.hasBookingServices&&(n.hasContent=!0,cm.addClass(n.nodes.container,"has-content"),cm.getConstructor(t.params.bookingServices.constructor,e=>{t.components.bookingServices=new e(cm.merge(t.params.bookingServices.constructorParams,{container:n.nodes.holder,data:t.profileData.data}))}
1)),t.profileData.isMe&&(cm.addClass(n.nodes.title,"is-editable"),n.nodes.button=Application.Buttons.embed({label:t.msg("actions.edit"),title:t.msg("actions.editBookingServices"),icons:{classes:["size-field-half"],before:"edit"},link:Router.getURL("user.settings","booking-services"),noRoute:!0,modifiers:["editable","editable-gap"],container:n.nodes.title,ariaHasPopup:"dialog",callback:()=>t.openPreferences("booking-services")}),n.hasContent||(n.nodes.empty=cm.node("div",{classes:t.params.empty.classes,innerHTML:t.msg("bookingServices.empty")}),cm.appendChild(n.nodes.empty,n.nodes.holder))),(n.hasContent||t.profileData.isMe)&&cm.appendChild(n.nodes.container,n.params.container),n},n.renderLicensesView=function(e){let t=this,n={nodes:{},hasContent:!1,params:cm.merge({container:cm.node("div")},e)};return n.nodes.container=cm.node("section",{classes:["tpl__box","tpl__box--profile"]},n.nodes.inner=cm.node("div",{classes:"inner"},n.nodes.title=cm.node("div",{classes:"tpl__box__title"},cm.node("h3",{classes:["label"]},t.msg("licenses.title"))),n.nodes.holder=cm.node("div",{classes:"tpl__box__content"}))),cm.isEmpty(t.profileData.data.licenses)&&cm.isEmpty(t.profileData.data.nceaLicenses)||(n.hasContent=!0,cm.addClass(n.nodes.container,"has-content"),cm.getConstructor(t.params.licenses.constructor,e=>{t.components.licenses=new e(cm.merge(t.params.licenses.constructorParams,{container:n.nodes.holder,data:t.profileData.data}))}
1)),t.profileData.isMe&&(cm.addClass(n.nodes.title,"is-editable"),n.nodes.button=Application.Buttons.embed({label:t.msg("actions.edit"),title:t.msg("actions.editLicenses"),icons:{classes:["size-field-half"],before:"edit"},link:Router.getURL("user.settings","professional-credentials"),noRoute:!0,modifiers:["editable","editable-gap"],container:n.nodes.title,ariaHasPopup:"dialog",callback:()=>t.openPreferences("professional-credentials")}),n.hasContent||(n.nodes.empty=cm.node("div",{classes:t.params.empty.classes,innerHTML:t.msg("licenses.empty")}),cm.appendChild(n.nodes.empty,n.nodes.holder))),(n.hasContent||t.profileData.isMe)&&cm.appendChild(n.nodes.container,n.params.container),n},n.renderField=function(e,t){let n=this,a={nodes:{},fields:e,params:cm.merge({render:!0,data:null,name:null,label:null,title:null,type:"default",view:"box",icon:null,link:{type:null,href:null,target:"_self",map:null,classes:[]},tagName:"div",classes:[],modifiers:["profile"],container:cm.node("div")},t)};if(a.data=(cm.isEmpty(a.params.data)?n.profileData:a.params).data,a.label=n.msg(a.params.label||a.params.name),a.originValue=cm.reducePath(a.params.name,a.data),a.classes=cm.merge([],a.params.classes),cm.forEach(a.params.modifiers,e=>{a.classes.push("pt__field--"+e)}),a.params.render&&a.originValue&&!cm.isEmpty(a.originValue)){switch(a.params.type){case"speciality":a._speciality=Application.User.renderSpeciality(a.originValue,{speciality:n.specialityList}),a.value=a._speciality.nodes.container;break;case"working-hours":a.data.status?(a.classes.push("is-active"),a._from=cm.parseFormatDateTime(a.data.open,"%H:%i","%g:%i<span>%a</span>"),a._to=cm.parseFormatDateTime(a.data.close,"%H:%i","%g:%i<span>%a</span>"),a.value=[cm.node("div",{title:n.msg("workingHours.from"),innerHTML:a._from}),cm.node("div",{title:n.msg("workingHours.to"),innerHTML:a._to})]):(a.classes.push("is-disabled"),a.value=cm.node("div",{title:n.msg("workingHours.na")},"â"));break;case"country":a.value=Application.Intl.getCountryName(a.originValue);break;case"state":a.value=Application.Intl.getStateName("usa",a.originValue);break;case"address":cm.isEmpty(a.data.profile.latitude)||"0"===a.data.profile.latitude||cm.isEmpty(a.data.profile.longitude)||"0"===a.data.profile.longitude?a.value=a.originValue:(a.value=cm.node("a",{role:"button",tabindex:0},a.originValue),cm.getConstructor(n.params.map.constructor,e=>{n.components.map=new e(cm.merge(n.params.map.constructorParams,{node:a.value,data:n.profileData.data}))}
1));break;case"link":switch(a.originValue=a.originValue.trim().replace(/^@/,""),a.params.link.type){case"email":a.link=App.getEmailHref(a.originValue);break;case"mobile":a.link=App.getPhoneHref(a.originValue);break;case"linkMap":/^(http|https):/.test(a.originValue)?a.link=a.originValue:a.link=cm.fillVariables(a.params.link.map,{name:a.originValue});break;default:a.link=a.params.link.href}a.value=cm.node("a",{classes:a.params.link.classes,href:a.link,target:a.params.link.target,rel:"noopener",title:a.label});break;default:a.value=a.originValue}switch(a.params.view){case"plain":a.nodes.container=a.value;break;case"node":a.nodes.container=cm.node(a.params.tagName,a.value);break;default:a.nodes.container=cm.node("dl",{classes:["pt__field","is-text"]},a.nodes.label=cm.node("dt",a.label),a.nodes.value=cm.node("dd",a.value))}return cm.isEmpty(a.params.title)||(a.nodes.label?a.nodes.label.title=a.params.title:a.nodes.container.title=a.params.title),"inline"===a.params.view&&a.classes.push("is-flex"),"box"===a.params.view&&a.classes.push("is-box"),cm.addClass(a.nodes.container,a.classes),cm.isEmpty(a.params.icon)||(a.nodes.icon=Application.Images.renderIcon(cm.merge(a.params.icon,{title:a.label,ariaHidden:!0,container:a.value}))),cm.appendChild(a.nodes.container,a.params.container),a.fields&&a.fields.push(a),a}},n.renderFeedLayout=function(e){var t=this;e=cm.merge({container:cm.node("div")},e),cm.isBreakpoint("desktopUp")&&(t.views.biography||(t.views.biography=t.renderBiographyView()),t.profileData.isMe||t.views.biography?.hasContent)&&cm.insertFirst(t.views.biography.nodes.container,e.container,!1),t.views.gallery||(t.views.gallery=t.renderGalleryView()),t.views.gallery?.hasContent&&(cm.appendChild(t.views.gallery.nodes.container,e.container,!1),t.components.gallery.toggleCreateActionVisibility(!0))},n.renderGalleryLayout=function(e){e=cm.merge({container:cm.node("div")},e),this.views.gallery||(this.views.gallery=this.renderGalleryView()),this.views.gallery?.hasContent&&(cm.appendChild(this.views.gallery.nodes.container,e.container,!1),this.components.gallery.toggleCreateActionVisibility(!0))},n.renderGalleryView=function(e){let n=this,t={nodes:{},items:[],hasContent:!0,params:cm.merge({container:cm.node("div")},e)};return t.nodes.container=cm.node("div",{classes:["tpl__wrapper"]},t.nodes.gallerySection=cm.node("section",{classes:["tpl__section","tpl__section--gallery"]},t.nodes.feedHolder=cm.node("div",{classes:"inner"}))),cm.getConstructor(n.params.gallery.constructor,e=>{n.components.gallery=new e(cm.merge(n.params.gallery.constructorParams,{container:t.nodes.feedHolder,editable:{enable:n.profileData.isMe,fieldsData:{speciality:n.specialityData}},create:{enable:n.profileData.isMe},list:{constructorParams:{ajax:{variables:{id:n.profileData.data.id}}}},events:{onEditableSuccess:(e,t)=>n.afterGalleryEditableSuccess(t)}}))}),cm.appendChild(t.nodes.container,t.params.container),t},n.afterGalleryEditableSuccess=function(e){"create"===e&&(this.profileData.data.photos++,this.components.gallery.request()),"delete"===e&&this.profileData.data.photos--,["create","delete"].includes(e)&&Application.User.updateProfile({photos:this.profileData.data.photos})},n.renderEmploymentLayout=function(e){e=cm.merge({container:cm.node("div")},e),this.views.employment||(this.views.employment=this.renderEmploymentView()),(this.profileData.isMe||this.views.employment?.hasContent)&&cm.insertFirst(this.views.employment.nodes.container,e.container,!1)},n.renderPromiseResponse=function(){let t=this;var e;cm.isEmpty(t.profileData)||(cm.isEmpty(t.profileData.data.shortname)||Router.setURL(t.profileData.route,null,{replaceLocation:!0}),e=t.messageObject(t.profileData.role),t.setMessages(e),t.profileData.isBeautician&&(t.params.gallery=cm.merge(t.params.gallery,t.params.galleries.beautician)),t.profileData.isMe&&cm.getConstructor(t.params.preferences.constructor,e=>{t.components.preferences=new e(cm.merge(t.params.preferences.constructorParams,{data:t.profileData.data,fieldsData:{speciality:t.specialityData},events:{onEditableSuccess:t.profileEditableSuccess.bind(t)}}))}),t.views.layout=t.renderLayoutView(),t.redraw("frame"))},n.renderPromiseError=function(e){cm.errorLog({type:"error",name:t,message:e})},n.specialityRequestSuccess=function(e,t){this.specialityData=t.data,this.specialityList=Application.User.convertSpecialityToList(this.specialityData)},n.profileRequestSuccess=function(e,t){if(this.profileData=Application.User.validateProfile(t.data,{populateData:!1}),this.profileData.isBrand)return Application.summonRoute("error",null,{data:this.msgObject("404")});this.profileData.isMe&&Application.User.setProfile(this.profileData.data)},n.profileRequestError=function(e,t){t=t.target.status.toString();let n=this.msgObject(t);cm.isEmpty(n)&&(n=this.msgObject("400")),Application.summonRoute("error",null,{data:n})},n.profileEditableSuccess=function(){Application.refresh()},n.openPreferences=function(e){var t;if("avatar"===e)(t=this.views.title?.avatar)&&t.avatarForm.component.open();else if("cover"===e)(t=this.views.title?.cover)&&t.coverForm.component.open();else{if("photo"!==e)return this.components.preferences?.openTab(e),this;this.setTab("gallery"),this.components.gallery?.create()}},n.setTab=function(e){if(this.isTabsView)return this.components.tabset?.set(e),this}}),cm.define("Page.UserReset",{extend:"App.Page",params:{name:"user-reset",layout:"layout--default",userHelper:{constructor:"App.UserHelper"},resetBox:{constructor:"App.UserReset",constructorParams:{returnRoute:"index",returnButton:{classes:["is-wide","is-wrap"],modifiers:["desktop-xxlarge"],noRoute:!1}}}}},function(){App.Page.apply(this,arguments)}),cm.getConstructor("Page.UserReset",function(e,t,n,a){n.onConstructEnd=function(){this.components.resetBox&&this.components.resetBox.focus()},n.renderView=function(){this.nodes.container=cm.node("article",{classes:["page","page--user-reset"]},cm.node("section",{classes:["tpl__section","tpl__section--user-reset","is-box"]},cm.node("div",{classes:"inner"},cm.node("h1",{classes:"section__title"},this.msg("title")),this.nodes.holder=cm.node("div",{classes:"section__entry"})))),this.renderLinksSection()},n.renderViewModel=function(){let t=this;a.prototype.renderViewModel.apply(t,arguments),cm.find(t.params.userHelper.constructor,null,null,function(e){t.components.userHelper=e}),cm.getConstructor(t.params.resetBox.constructor,function(e){t.components.resetBox=new e(cm.merge(t.params.resetBox.constructorParams,{container:t.nodes.holder,strings:t.msgObject("box")}))})},n.renderLinksSection=function(){let t=this;t.nodes.links=Application.Sections.renderLinks({sectionModifiers:["sign-links"],listClasses:["is-vertical"],container:t.nodes.container,items:[{label:t.msg("actions.report"),link:Router.getURL("contact"),noRoute:!0,callback:e=>{cm.preventDefault(e),t.components.userHelper.openReportBox()}}]})}}),cm.define("Page.UserResetCode",{extend:"App.Page",params:{name:"user-reset-code",layout:"layout--default",returnRoute:"user.home",returnButton:{render:!0,classes:["is-wide","is-wrap"],modifiers:["desktop-xxlarge"],noRoute:!0},form:{constructor:"Form.ResetPassword",constructorParams:{}}}},function(){App.Page.apply(this,arguments)}),cm.getConstructor("Page.UserResetCode",function(e,t,n,a){n.onConstructEnd=function(){this.components.form&&this.components.form.focus()},n.renderView=function(){this.nodes.container=cm.node("div",{classes:"page page--user-reset"},cm.node("section",{classes:"tpl__section tpl__section--signup-title is-box"},cm.node("div",{classes:"inner"},cm.node("h1",{classes:"section__title"},this.msg("title")))),this.nodes.formSection=cm.node("section",{classes:"tpl__section tpl__section--signup-form is-box"},cm.node("div",{classes:"inner"},this.nodes.formHolder=cm.node("div",{classes:"section__entry"}))),this.nodes.messageSection=cm.node("section",{classes:"tpl__section tpl__section--signup-title is-box is-hidden"},cm.node("div",{classes:"inner"},cm.node("div",{classes:"section__entry",innerHTML:this.msg("success.description")}))),this.nodes.buttonsSection=cm.node("section",{classes:"tpl__section tpl__section--buttons is-box is-hidden"},cm.node("div",{classes:"inner"},cm.node("div",{classes:"section__entry"},cm.node("div",{classes:"pt__buttons pull-center"},this.nodes.returnButtonHolder=cm.node("div",{classes:"inner"})))))),this.renderLinksSection()},n.renderViewModel=function(){let t=this;a.prototype.renderViewModel.apply(t,arguments),cm.getConstructor(t.params.form.constructor,function(e){t.components.form=new e(cm.merge(t.params.form.constructorParams,{container:t.nodes.formHolder,data:t.params.route.captures,events:{onSuccess:t.renderResponse.bind(t)}}))})},n.renderResponse=function(){let t=this;
1t.params.returnButton.render&&(cm.remove(t.nodes.returnButton),t.nodes.returnButton=Application.Buttons.embed(cm.merge(t.params.returnButton,{label:t.msg("actions.login"),link:Router.getURL("signin"),container:t.nodes.returnButtonHolder,callback:e=>{cm.preventDefault(e),UserHelper.openLoginBox({returnRoute:t.params.returnRoute})}}))),cm.addClass(t.nodes.formSection,"is-hidden"),cm.removeClass(t.nodes.messageSection,"is-hidden"),cm.removeClass(t.nodes.buttonsSection,"is-hidden")},n.renderLinksSection=function(){this.nodes.links=Application.Sections.renderLinks({sectionModifiers:["sign-links"],listClasses:["is-vertical"],container:this.nodes.container,items:[{label:this.msg("actions.report"),link:Router.getURL("contact"),noRoute:!0,callback:e=>{cm.preventDefault(e),UserHelper.openReportBox()}}]})}}),cm.define("Page.UserSettings",{extend:"App.Page",params:{name:"user-preferences",layout:["layout--default-clean","layout--user-flow-layout"],redrawOnRender:!0,minHeight:300,profileRequest:{constructor:"App.ProfileRequest",constructorParams:{promise:!0,showLoader:!1,autoSend:!1}},specialityRequest:{constructor:"App.SpecialityRequest",constructorParams:{promise:!0,showLoader:!1,autoSend:!1}},overlay:{constructor:"Com.Overlay",constructorParams:{position:"absolute",removeOnClose:!0,destructOnRemove:!0,showContent:!1,lazy:!0,theme:"light"}},preferences:{constructor:"App.UserPreferences",constructorParams:{tabset:{constructorParams:{toggleOnHashChange:!0,renderTitle:"mobile"}}}}}},function(){App.Page.apply(this,arguments)}),cm.getConstructor("Page.UserSettings",function(e,t,n,a){n.onConstructStart=function(){this.views={},this.profileData=null,this.specialityData=null,this.specialityList={}},n.onRedraw=function(){this.redrawLayoutView()},n.onDestructEnd=function(){cm.forEach(this.components,e=>e.destruct())},n.renderView=function(){this.nodes.container=cm.node("article",{classes:["page","page--user-conversations"]},this.nodes.titleSection=cm.node("section",{classes:["tpl__section","tpl__section--preferences-title","is-box","has-padding-adaptive","media--on-desktop"]},this.nodes.titleHolder=cm.node("div",{classes:"inner"},cm.node("div",{classes:["section__title","section__title--navigation"]},cm.node("div",{classes:["section__action","media--on-desktop"]},Application.User.embedHomeAction()),cm.node("h1",{classes:"section__label"},this.msg("title")),cm.node("div",{classes:["section__action","media--on-desktop"]})))),this.nodes.contentSection=cm.node("section",{classes:["tpl__section","tpl__section--preferences","is-box","has-padding-bottom-adaptive"]},this.nodes.contentHolder=cm.node("div",{classes:"inner"}))),this.views.layout=this.renderLayoutView({container:this.nodes.contentHolder})},n.renderViewModel=function(){let t=this;a.prototype.renderViewModel.apply(t,arguments),cm.getConstructor(t.params.overlay.constructor,e=>{t.components.overlay=new e(cm.merge(t.params.overlay.constructorParams,{container:t.nodes.contentHolder}))}),cm.getConstructor(t.params.profileRequest.constructor,e=>{t.components.profileRequest=new e(cm.merge(t.params.profileRequest.constructorParams,{events:{onSuccess:t.profileRequestSuccess.bind(t),onError:t.profileRequestError.bind(t)}}))}),cm.getConstructor(t.params.specialityRequest.constructor,e=>{t.components.specialityRequest=new e(cm.merge(t.params.specialityRequest.constructorParams,{events:{onSuccess:t.specialityRequestSuccess.bind(t)}}))}),Promise.allSettled([t.components.specialityRequest.send(),t.components.profileRequest.send()]).catch(t.renderPromiseError.bind(t)).finally(t.renderPromiseResponse.bind(t))},n.renderLayoutView=function(e){e={nodes:{},params:cm.merge({container:cm.node("div")},e)};return e.nodes.container=cm.node("section",{classes:["tpl__box","tpl__box--preferences","has-overlay"]},e.nodes.holder=cm.node("div",{classes:"inner"})),cm.appendChild(e.nodes.container,e.params.container),e},n.redrawLayoutView=function(){var e=this.views.layout,t=cm.getPageSize(),n=cm.getRect(e.nodes.container);let a=t.winHeight-(t.scrollTop+n.top);cm.isBreakpoint("tabletUp")&&(a-=parseFloat(cm.getCSSVariable("--block-indent--adaptive"))),cm.setCSSVariable("--page-preferences--height",Math.max(this.params.minHeight,a)+"px",e.nodes.container)},n.renderPreferencesView=function(e,t){let n=this,a=n.views.layout,s={data:e,nodes:{},params:cm.merge({container:cm.node("div")},t)};return cm.getConstructor(n.params.preferences.constructor,e=>{n.components.preferences=new e(cm.merge(n.params.preferences.constructorParams,{container:s.params.container,data:n.profileData.data,fieldsData:{speciality:n.specialityData},events:{onTabChangeStart:()=>{cm.scrollTo(a.nodes.container,a.nodes.container,{top:0,duration:n.components.preferences?.getTabset()?.getParams("animateDuration"),behavior:"smooth"})}}}))}),s},n.renderPromiseResponse=function(){this.components.overlay.close(),cm.isEmpty(this.profileData)||(this.views.preferences=this.renderPreferencesView(this.profileData,{container:this.views.layout.nodes.holder}),this.redraw())},n.renderPromiseError=function(e){this.components.overlay.close(),cm.errorLog({type:"error",name:t,message:e})},n.specialityRequestSuccess=function(e,t){this.specialityData=t.data,this.specialityList=Application.User.convertSpecialityToList(this.specialityData)},n.profileRequestSuccess=function(e,t){this.profileData=Application.User.validateProfile(t.data,{populateData:!1})},n.profileRequestError=function(e,t){t=t.target.status.toString();let n=this.msgObject(t);cm.isEmpty(n)&&(n=this.msgObject("400")),Application.summonRoute("error",null,{data:n})}}),cm.define("Page.UserUnsubscribe",{extend:"App.Page",params:{name:"user-unsubscribe",layout:"layout--default",form:{constructor:"Form.UserUnsubscribe",constructorParams:{}}}},function(){App.Page.apply(this,arguments)}),cm.getConstructor("Page.UserUnsubscribe",function(e,t,n,a){n.renderView=function(){var e=this;e.nodes.container=cm.node("div",{classes:"page page--user-reset"},e.nodes.titleSection=cm.node("section",{classes:"tpl__section tpl__section--signup-title is-box"},cm.node("div",{classes:"inner"},cm.node("h1",{classes:"section__title"},e.msg("title")),cm.node("div",{classes:"section__entry",innerHTML:e.msg("description")}))),e.nodes.formSection=cm.node("section",{classes:"tpl__section tpl__section--signup-form is-box"},cm.node("div",{classes:"inner"},e.nodes.formHolder=cm.node("div",{classes:"section__entry"}))),e.nodes.messageSection=cm.node("section",{classes:"tpl__section tpl__section--signup-title is-box is-hidden"},cm.node("div",{classes:"inner"},cm.node("h1",{classes:"section__title"},e.msg("title")),cm.node("div",{classes:"section__entry",innerHTML:e.msg("success.description")})))),e.renderLinksSection()},n.renderViewModel=function(){let t=this;a.prototype.renderViewModel.apply(t,arguments),cm.getConstructor(t.params.form.constructor,e=>{t.components.form=new e(cm.merge(t.params.form.constructorParams,{container:t.nodes.formHolder,data:t.params.route.captures,events:{onSuccess:t.renderResponse.bind(t),onError:t.renderError.bind(t)}}))})},n.renderResponse=function(){cm.addClass(this.nodes.titleSection,"is-hidden"),cm.addClass(this.nodes.formSection,"is-hidden"),cm.removeClass(this.nodes.messageSection,"is-hidden")},n.renderError=function(){this.components.form.clearNotification(),this.components.form.renderNotification({label:this.msg("error.message"),type:"danger"})},n.renderLinksSection=function(){this.nodes.links=Application.Sections.renderLinks({sectionModifiers:["sign-links"],listClasses:["is-vertical"],container:this.nodes.container,items:[{label:this.msg("actions.report"),link:Router.getURL("contact"),noRoute:!0,callback:e=>{cm.preventDefault(e),UserHelper.openReportBox()}}]})}}),cm.define("Page.VerifyLicense",{extend:"App.Page",params:{name:"verify-license",imagePath:null,returnRoute:"verify-license",userHelper:{constructor:"App.UserHelper"}}},function(){App.Page.apply(this,arguments)}),cm.getConstructor("Page.VerifyLicense",function(e,t,n,a){n.onConstructStart=function(){this.views={}},n.onGetLESSVariables=function(){this.params.imagePath||(this.params.imagePath=cm.getLESSVariable("PageVerifyLicense-PathJSImages",this.params.imagePath))},n.onRedraw=function(){var e=Template.getHeaderDimensions("height"),t=Template.getFooterDimensions("height");this.views.intro.nodes.container.style.paddingTop=e+"px",this.views.intro.nodes.container.style.paddingBottom=cm.getPageSize("winWidth")<=cm._config.screenTabletPortrait?"":t+"px"},n.renderView=function(){this.nodes.container=cm.node("div",{classes:["page","page--verify-license"]}),this.views.intro=this.renderIntroView({container:this.nodes.container}),this.views.demo=this.renderDemoView({container:this.views.intro.nodes.demo}
1)},n.renderIntroView=function(e){var t=this,e={nodes:{},params:cm.merge({container:cm.node("div")},e)};return e.nodes.container=cm.node("section",{classes:["tpl__section","tpl__section--verify","tpl__section--verify-intro","is-box"]},cm.node("div",{classes:"inner"},cm.node("div",{classes:"section__content"},cm.node("h1",{classes:"section__title pull-center"},t.msg("title")),cm.node("div",{classes:"section__entry"},cm.node("div",{classes:"pt__columns pt__columns--verify is-adaptive"},cm.node("div",{classes:"inner"},cm.node("div",{classes:"column column--entry"},cm.node("div",{classes:"section__entry",innerHTML:t.msg("intro.description")})),cm.node("div",{classes:"column column--image"},e.nodes.demo=cm.node("div",{classes:"section__image"}))))),cm.node("div",{classes:"section__buttons pull-center"},e.nodes.registerButton=Application.Buttons.embed({label:t.msg("intro.signup"),classes:["button","button--border-gradient"],icons:{after:"chevronRight"}}),cm.node("p",{classes:"is-small"},cm.textNode(t.msg("intro.signin_label")),e.nodes.loginButton=cm.node("a",{innerHTML:t.msg("intro.signin")})))))),cm.addEvent(e.nodes.registerButton,"click",e=>{cm.preventDefault(e),t.components.userHelper.openRegisterBox({returnRoute:t.params.returnRoute})}),cm.addEvent(e.nodes.loginButton,"click",e=>{cm.preventDefault(e),t.components.userHelper.openLoginBox({returnRoute:t.params.returnRoute})}),cm.appendChild(e.nodes.container,e.params.container),e},n.renderDemoView=function(e){e={nodes:{},params:cm.merge({container:cm.node("div")},e)};return e.nodes.container=Application.Images.embed({image:[this.params.imagePath,"form.png"].join("/"),srcset:[[[this.params.imagePath,"form.png"].join("/"),"1x"],[[this.params.imagePath,"[email protected]"].join("/"),"2x"]],alt:this.msg("demo.title"),classes:["is-adaptive","pull-center"]}),cm.appendChild(e.nodes.container,e.params.container),e},n.renderViewModel=function(){var t=this;a.prototype.renderViewModel.apply(t,arguments),cm.find(t.params.userHelper.constructor,null,null,function(e){t.components.userHelper=e})}}),cm.define("Page.VerifyLicenseSalon",{extend:"App.Page",params:{name:"verify-license",imagePath:null,statesRequest:{constructor:"App.StatesRequest",constructorParams:{autoSend:!1,showLoader:!0,overlayParams:{appendMode:"insertFirst"}}},formConstructor:"Form.LicenseSearchSalon",formParams:{},supportFormConstructor:"App.Support",supportFormParams:{formParams:{buttonsAlign:"justify"}}}},function(){App.Page.apply(this,arguments)}),cm.getConstructor("Page.VerifyLicenseSalon",function(e,t,n,a){n.onConstructStart=function(){this.states={},this.manualStates=[],this.renderLicensesHandler=this.renderLicenses.bind(this),this.renderErrorHandler=this.renderError.bind(this)},n.onGetLESSVariables=function(){this.params.imagePath||(this.params.imagePath=cm.getLESSVariable("PageVerifyLicense-PathJSImages",this.params.imagePath))},n.onRedraw=function(){var e=Template.getHeaderDimensions("height"),t=Template.getFooterDimensions("height"),e=cm.getPageSize("winWidth")>cm._config.screenTabletPortrait?`calc(100vh - ${e+t}px)`:"",t=cm.getPageSize("winWidth")>cm._config.screenTabletPortrait?`calc(var(--block-indent--small) + ${t}px)`:"";cm.setCSSVariable("--page-verify-license--min-height",e,this.nodes.container),cm.setCSSVariable("--grecaptcha-badge--bottom",t,this.nodes.container)},n.renderView=function(){var e=this;e.nodes.container=cm.node("div",{classes:"page page--verify-license"},e.nodes.topSection=cm.node("section",{classes:"tpl__section tpl__section--verify is-box"},cm.node("div",{classes:"inner"},cm.node("div",{classes:"section__content"},cm.node("h1",{classes:"section__title pull-center"},e.msg("title")),cm.node("div",{classes:"section__entry pull-center",innerHTML:e.msg("descr")})),e.nodes.toggleHolder=cm.node("div",{classes:"section__buttons"}),e.nodes.formHolder=cm.node("div",{classes:"section__form"}))),e.nodes.messageContainer=cm.node("section",{classes:"tpl__section tpl__section--sidebar tpl__section--verify-noresults is-box is-hidden"},cm.node("div",{classes:"inner"},e.nodes.messageContentHolder=cm.node("div",{classes:"section__content"}),e.nodes.messageSidebarHolder=cm.node("div",{classes:"section__sidebar"})))),Application.Buttons.renderContainer({container:e.nodes.toggleHolder,modifiers:["flex","toggle-bordered"],classes:["pull-justify"],role:"tablist",items:[{name:"individual",label:e.msg("tabs.individual"),link:Router.getURL("verify-license.technician"),modifiers:["toggle"],classes:["is-compact"],role:"tab",selected:!1},{name:"salon",label:e.msg("tabs.salon"),link:Router.getURL("verify-license.salon"),modifiers:["toggle"],classes:["is-compact"],role:"tab",selected:!0}]}),e.nodes.messageSidebarContainer=e.renderMessageSidebarView(),cm.appendChild(e.nodes.messageSidebarContainer,e.nodes.messageSidebarHolder)},n.renderViewModel=function(){let t=this;a.prototype.renderViewModel.apply(t,arguments),cm.getConstructor(t.params.statesRequest.constructor,function(e){t.components.statesRequest=new e(cm.merge(t.params.statesRequest.constructorParams,{overlayParams:{container:t.nodes.topSection}
1,events:{onSuccess:t.renderStatesResponse.bind(t)}})),t.components.statesRequest.send()}),cm.getConstructor(t.params.formConstructor,function(e){t.components.form=new e(cm.merge(t.params.formParams,{container:t.nodes.formHolder,overlayParams:{container:t.nodes.topSection}})),t.components.form.addEvent("onSuccess",t.renderLicensesHandler),t.components.form.addEvent("onError",t.renderErrorHandler)}),cm.getConstructor(t.params.supportFormConstructor,function(e){t.components.supportForm=new e(cm.merge(t.params.supportFormParams,{container:t.nodes.messageSidebar.formHolder}))})},n.renderStatesResponse=function(e,t){cm.isEmpty(t.data)||(this.states=t.data.strings["signup-licenseno"],this.manualStates=t.data["manual-states"])},n.renderMessageSidebarView=function(){var e={};return(this.nodes.messageSidebar=e).container=cm.node("div",{classes:"tpl__sidebar"},cm.node("div",{classes:"inner"},cm.node("div",{classes:"tpl__sidebar__block tpl__sidebar__block--image tpl__sidebar__block--image"},e.formHolder=cm.node("div",{classes:"block__content"})))),e.container},n.renderMessage=function(e){var t=this.components.form.get("send");this.components.supportForm.reset(),this.components.supportForm.set({details:cm.stringifyJSON(t)}),cm.clearNode(this.nodes.messageContentHolder),cm.isFunction(e)&&e(t),cm.removeClass(this.nodes.messageContainer,"is-hidden")},n.renderError=function(e,t){let n=this;n.nodes.results&&n.nodes.results.container&&cm.remove(n.nodes.results.container),403===t.response?.statusCode?n.components.form.renderError(t.errors,t.message):(n.components.form.clearError(),n.renderMessage(function(e){cm.inArray(n.manualStates,e.state)?n.renderOffStates(e):n.renderNoResults(e)}))},n.renderAttention=function(){let t=this;t.renderMessage(function(e){cm.appendChild(cm.node("h3",{classes:"section__title"},t.msg("notfound.title")),t.nodes.messageContentHolder),cm.appendChild(cm.node("div",{classes:"section__entry",innerHTML:t.msg("notfound.descr")}),t.nodes.messageContentHolder)})},n.renderOffStates=function(e){e=Application.Intl.getStateName("usa",e.state);cm.appendChild(cm.node("h3",{classes:"section__title"},this.msg("offstates.title")),this.nodes.messageContentHolder),cm.appendChild(cm.node("div",{classes:"section__entry",innerHTML:cm.strReplace(this.msg("offstates.descr"),{"%state%":e})}),this.nodes.messageContentHolder),cm.scrollTo(this.nodes.messageContainer,window,{duration:cm._config.animDurationLong})},n.renderNoResults=function(e){cm.appendChild(cm.node("h3",{classes:"section__title"},this.msg("noresults.title")),this.nodes.messageContentHolder),cm.appendChild(cm.node("div",{classes:"section__entry",innerHTML:this.msg("noresults.descr")}),this.nodes.messageContentHolder),cm.scrollTo(this.nodes.messageContainer,window,{duration:cm._config.animDurationLong})},n.renderLicenses=function(e,t){let n=this,a={items:[]};n.nodes.results&&n.nodes.results.container&&cm.remove(n.nodes.results.container),(n.nodes.results=a).container=cm.node("section",{classes:"tpl__section tpl__section--verify-results is-box is-hidden"},a.inner=cm.node("div",{classes:"inner"},a.holder=cm.node("div",{classes:"section__entry app__cards-grid app__cards-grid--verify"}))),cm.forEach(t,function(e){e=n.renderLicensesItem(e);cm.appendChild(e,a.holder)}),cm.insertAfter(a.container,n.nodes.topSection),cm.removeClass(a.container,"is-hidden",!0),n.renderAttention(),cm.scrollTo(a.container,window,{duration:cm._config.animDurationLong})},n.renderLicensesItem=function(e){var t={},n=cm.isEmpty(e.expired)?"":cm.parseFormatDate(e.expired,cm._config.dateTimeFormat,"%m-%d-%Y");return this.nodes.results.items.push(t),t.container=cm.node("div",{classes:"app__card app__card--border app__card--grid is-nowrap"},t.inner=cm.node("div",{classes:"inner"},t.details=cm.node("div",{classes:["card__details","has-delimiters","h7"]}))),cm.isEmpty(e.lastname)||cm.insertFirst(cm.node("h5",{classes:"card__name",title:e.lastname},e.lastname),t.inner),cm.isEmpty(e.number)||cm.appendChild(cm.node("div",{classes:["card__value","card__number"]},e.number),t.details),cm.isEmpty(n)||cm.appendChild(cm.node("div",{classes:["card__value"]},n),t.details),cm.isEmpty(e.status)||cm.appendChild(cm.node("div",{classes:["card__value","card__status",e.status.toLowerCase()]},e.status),t.details),cm.isEmpty(e.type)||cm.appendChild(cm.node("div",{classes:["card__line","h7"]},e.type),t.inner),t.container}}
1),cm.define("Page.VerifyLicenseTechnician",{extend:"App.Page",params:{name:"verify-license",imagePath:null,statesRequest:{constructor:"App.StatesRequest",constructorParams:{autoSend:!1,showLoader:!0,overlayParams:{appendMode:"insertFirst"}}},formConstructor:"Form.LicenseSearch",formParams:{},supportFormConstructor:"App.Support",supportFormParams:{formParams:{buttonsAlign:"justify"}}}},function(){App.Page.apply(this,arguments)}),cm.getConstructor("Page.VerifyLicenseTechnician",function(e,t,n,a){n.onConstructStart=function(){this.states={},this.manualStates=[],this.renderLicensesHandler=this.renderLicenses.bind(this),this.renderErrorHandler=this.renderError.bind(this)},n.onGetLESSVariables=function(){this.params.imagePath||(this.params.imagePath=cm.getLESSVariable("PageVerifyLicense-PathJSImages",this.params.imagePath))},n.onRedraw=function(){var e=Template.getHeaderDimensions("height"),t=Template.getFooterDimensions("height"),e=cm.getPageSize("winWidth")>cm._config.screenTabletPortrait?`calc(100vh - ${e+t}px)`:"",t=cm.getPageSize("winWidth")>cm._config.screenTabletPortrait?`calc(var(--block-indent--small) + ${t}px)`:"";cm.setCSSVariable("--page-verify-license--min-height",e,this.nodes.container),cm.setCSSVariable("--grecaptcha-badge--bottom",t,this.nodes.container)},n.renderView=function(){var e=this;e.nodes.container=cm.node("div",{classes:"page page--verify-license"},e.nodes.topSection=cm.node("section",{classes:"tpl__section tpl__section--verify is-box"},cm.node("div",{classes:"inner"},cm.node("div",{classes:"section__content"},cm.node("h1",{classes:"section__title pull-center"},e.msg("title")),cm.node("div",{classes:"section__entry pull-center",innerHTML:e.msg("descr")})),e.nodes.toggleHolder=cm.node("div",{classes:"section__buttons"}),e.nodes.formHolder=cm.node("div",{classes:"section__form"}))),e.nodes.messageContainer=cm.node("section",{classes:"tpl__section tpl__section--sidebar tpl__section--verify-noresults is-box is-hidden"},cm.node("div",{classes:"inner"},e.nodes.messageContentHolder=cm.node("div",{classes:"section__content"}),e.nodes.messageSidebarHolder=cm.node("div",{classes:"section__sidebar"})))),Application.Buttons.renderContainer({container:e.nodes.toggleHolder,modifiers:["flex","toggle-bordered"],classes:["pull-justify"],role:"tablist",items:[{name:"individual",label:e.msg("tabs.individual"),link:Router.getURL("verify-license.technician"),modifiers:["toggle"],classes:["is-compact"],role:"tab",selected:!0},{name:"salon",label:e.msg("tabs.salon"),modifiers:["toggle"],classes:["is-compact"],role:"tab",selected:!1,link:Router.getURL("verify-license.salon")}]}),e.nodes.messageSidebarContainer=e.renderMessageSidebarView(),cm.appendChild(e.nodes.messageSidebarContainer,e.nodes.messageSidebarHolder)},n.renderViewModel=function(){let t=this;return a.prototype.renderViewModel.apply(t,arguments),cm.getConstructor(t.params.statesRequest.constructor,function(e){t.components.statesRequest=new e(cm.merge(t.params.statesRequest.constructorParams,{overlayParams:{container:t.nodes.topSection}
1,events:{onSuccess:t.renderStatesResponse.bind(t)}})),t.components.statesRequest.send()}),cm.getConstructor(t.params.formConstructor,function(e){t.components.form=new e(cm.merge(t.params.formParams,{container:t.nodes.formHolder,overlayParams:{container:t.nodes.topSection}})),t.components.form.addEvent("onSuccess",t.renderLicensesHandler),t.components.form.addEvent("onError",t.renderErrorHandler)}),cm.getConstructor(t.params.supportFormConstructor,function(e){t.components.supportForm=new e(cm.merge(t.params.supportFormParams,{container:t.nodes.messageSidebar.formHolder}))}),t},n.renderStatesResponse=function(e,t){cm.isEmpty(t.data)||(this.states=t.data.strings["signup-licenseno"],this.manualStates=t.data["manual-states"])},n.renderMessageSidebarView=function(){var e={};return(this.nodes.messageSidebar=e).container=cm.node("div",{classes:"tpl__sidebar"},cm.node("div",{classes:"inner"},cm.node("div",{classes:"tpl__sidebar__block tpl__sidebar__block--image tpl__sidebar__block--image"},e.formHolder=cm.node("div",{classes:"block__content"})))),e.container},n.renderMessage=function(e){var t=this.components.form.get("send");this.components.supportForm.reset(),this.components.supportForm.set({details:cm.stringifyJSON(t)}),cm.clearNode(this.nodes.messageContentHolder),cm.isFunction(e)&&e(t),cm.removeClass(this.nodes.messageContainer,"is-hidden")},n.renderError=function(e,t){let n=this;n.nodes.results&&n.nodes.results.container&&cm.remove(n.nodes.results.container),403===t.response?.statusCode?n.components.form.renderError(t.errors,t.message):(n.components.form.clearError(),n.renderMessage(function(e){cm.inArray(n.manualStates,e.state)?n.renderOffStates(e):n.renderNoResults(e)}))},n.renderAttention=function(){let t=this;t.renderMessage(function(e){cm.appendChild(cm.node("h3",{classes:"section__title"},t.msg("notfound.title")),t.nodes.messageContentHolder),cm.appendChild(cm.node("div",{classes:"section__entry",innerHTML:t.msg("notfound.descr")}),t.nodes.messageContentHolder)})},n.renderOffStates=function(e){e=Application.Intl.getStateName("usa",e.state);cm.appendChild(cm.node("h3",{classes:"section__title"},this.msg("offstates.title")),this.nodes.messageContentHolder),cm.appendChild(cm.node("div",{classes:"section__entry",innerHTML:cm.strReplace(this.msg("offstates.descr"),{"%state%":e})}),this.nodes.messageContentHolder),cm.scrollTo(this.nodes.messageContainer,window,{duration:cm._config.animDurationLong})},n.renderNoResults=function(e){cm.appendChild(cm.node("h3",{classes:"section__title"},this.msg("noresults.title")),this.nodes.messageContentHolder),cm.appendChild(cm.node("div",{classes:"section__entry",innerHTML:this.msg("noresults.descr")}),this.nodes.messageContentHolder),cm.scrollTo(this.nodes.messageContainer,window,{duration:cm._config.animDurationLong})},n.renderLicenses=function(e,t){let n=this,a={items:[]};n.nodes.results&&n.nodes.results.container&&cm.remove(n.nodes.results.container),(n.nodes.results=a).container=cm.node("section",{classes:"tpl__section tpl__section--verify-results is-box is-hidden"},a.inner=cm.node("div",{classes:"inner"},a.holder=cm.node("div",{classes:"section__entry app__cards-grid app__cards-grid--verify"}))),cm.forEach(t,function(e){e=n.renderLicensesItem(e);cm.appendChild(e,a.holder)}),cm.insertAfter(a.container,n.nodes.topSection),cm.removeClass(a.container,"is-hidden",!0),n.renderAttention(),cm.scrollTo(a.container,window,{duration:cm._config.animDurationLong})},n.renderLicensesItem=function(e){var t,n={},a=cm.isEmpty(e.expired)?"":cm.parseFormatDate(e.expired,cm._config.dateTimeFormat,"%m-%d-%Y");return this.nodes.results.items.push(n),n.container=cm.node("div",{classes:"app__card app__card--border app__card--grid is-nowrap"},n.inner=cm.node("div",{classes:"inner"},n.details=cm.node("div",{classes:["card__details","has-delimiters","h7"]}))),cm.isEmpty(e.firstname)&&cm.isEmpty(e.lastname)||(t=cm.join([e.firstname,e.lastname]," "),cm.insertFirst(cm.node("h5",{classes:"card__name",title:t},t),n.inner)),cm.isEmpty(e.number)||cm.appendChild(cm.node("div",{classes:["card__value","card__number"]},e.number),n.details),cm.isEmpty(a)||cm.appendChild(cm.node("div",{classes:["card__value"]},a),n.details),cm.isEmpty(e.status)||cm.appendChild(cm.node("div",{classes:["card__value","card__status",e.status.toLowerCase()]},e.status),n.details),cm.isEmpty(e.type)||cm.appendChild(cm.node("div",{classes:["card__line","h7"]},e.type),n.inner),n.container}}
1),iosPWASplash("//beautyalist.com/img/common/icon-512.png","#ffffff"),cm.getConstructor("Com.Collector",e=>{window.Collector=new e({autoInit:!0}),window.Collector.addEvent("onConstruct",(e,t)=>{Part.Menu(),Part.Autoresize(t.node)})}),cm.onReady(function(){cm.getConstructor("App.Bootstrap",e=>{new e}),window.Collector.construct()}),"serviceWorker"in navigator?window.addEventListener("load",()=>{navigator.serviceWorker.register("//beautyalist.com/service-worker.js?6.26.8").then(e=>{cm.errorLog({type:"success",name:"PWA",message:navigator.serviceWorker.controller?"Service worker checked/updated, scope: "+e.scope:"Service worker registered, scope: "+e.scope})}).catch(e=>{cm.errorLog({type:"error",name:"PWA",message:"Service workers not registered: "+e})})}):cm.errorLog({type:"attention",name:"PWA",message:"Service workers not supported"}),cm.setMessages("App.Application",{actions:{login:"Sign In",register:"Sign Up",switchAccount:"Use Another Account",edit:"Edit",delete:"Delete",remove:"Remove",prev:"Previous",next:"Next"},role:{tech:"Beauty Pro",salon:"Salon",student:"Student"},roleShort:{tech:"Pro",salon:"Salon",student:"Student"},pro:{label:"Pro",title:"Beauty Pro Content"},access:{beautician:{code:1003,title:"Beauty Pro Content",description:'We are excited to share this exclusive content with our professional community. <br class="on-mobile-up">Just sign in below...'}},locations:{visible:"Current visible area",country:"Entire Country",ignored:["Current visible area","Entire Country"]},speciality:{empty:"none"},licenses:{notices:{expire:"License will expire in {#formatnum:{count}} {#plural:{count}|day|days}",expired:"License expired"},ncea:{logo:"NCEA Certified",label:"National Esthetician Certification",date:"Exp. Date {dateShort}",notices:{expire:"Credential will expire in {#formatnum:{count}} {#plural:{count}|day|days}",expired:"Credential expired"}}},user:{actions:{profile:"Profile",dashboard:"For You"}},gallery:{item:{title:"Photo",blurred:"Blurred photo"}},blog:{post:{image:"Post image",blurred:"Blurred image",author:"by {name}",date:"{date}",inactive:{label:"Inactive",title:"Unpublished Post"}}},apps:{appstore:"Apple App Store",googleplay:"Google Play",qr_code:"Get our App via QR Code"},"pro-resources":{"digital-brains":{title:"Digital Brains",description:"Your AI writing assistant for captions, client messages, and content that sounds like youâfaster."},"sparkle-energy":{title:"Sparkle Energy",description:"Get featured in our community spotlight. Share your work, your story, and get seenâno big following required."},"sustainable-beauty-hub":{title:"Sustainable Beauty Hub",description:"Small swaps, big impact. Learn how to green your beauty routine and business with eco-friendly practices that protect our planet."},"fine-free-zone":{title:"Fine-Free Zone",description:"Navigate salon laws and regulations with confidence. Clear answers to your legal questions without the jargon."},"the-safe-chair":{title:"The Safe Chair",description:"Resources for handling tough client situations, boundary-setting, and protecting your wellbeing behind the chair."},"leadership-mode-snapshot":{title:"Leadership Mode Snapshot",description:"Discover your leadership style and get a personalized roadmap to grow your salon culture."}},"barber-section":{"respect-in-the-chair":{title:"Respect in the Chair",subtitle:"Identity",description:"Scripts, posture, and the language that holds your ground when someone tries to take it.",start:'<strong class="h8 is-uppercase">Start with</strong> How respect is earned, not requested'},"barbershop-talk-101":{title:"Barbershop Talk 101",subtitle:"The Room",description:"Conversation as a skill. Redirect scripts, de-escalation, and the social-media era shop.",start:'<strong class="h8 is-uppercase">Start with</strong> What to say when a client goes too deep'},"protecting-your-time":{title:"Protecting Your Time",subtitle:"Time",description:"Deposit scripts, rebook language, and the systems that keep your book full and on time.",start:'<strong class="h8 is-uppercase">Start with</strong> The scripts that cut no-shows in half'}
1,"feedback-without-the-drama":{title:"Feedback Without the Drama",subtitle:"Feedback",description:"Review response templates â Direct, Warm, Brief â and how to get more reviews without begging.",start:'<strong class="h8 is-uppercase">Start with</strong> The review response that wins the next client'},"when-clients-bring-their-problems":{title:"When Clients Bring Their Problems",subtitle:"Burnout",description:"Boundary scripts, emotional-labor tools, and crisis resources for when the chair becomes more than a chair.",start:'<strong class="h8 is-uppercase">Start with</strong> Holding the space without running yourself empty'},"the-real-math-on-your-chair":{title:"The Real Math on Your Chair",subtitle:"Business",description:"Booth vs. commission vs. ownership. Pricing. Membership models. The actual numbers.",start:'<strong class="h8 is-uppercase">Start with</strong> What you actually keep after booth rent'},"running-the-shop":{title:"Running the Shop",subtitle:"Leadership",description:"Mentorship, culture, and the barbershop as a neighborhood institution.",start:'<strong class="h8 is-uppercase">Start with</strong> Setting the tone when you own the shop'},"scripts-templates-checklists":{title:"Scripts, Templates, Checklists",subtitle:"Tools",description:"Price-increase templates. One-liners. Sanitation checklists. Caption banks.",start:'<strong class="h8 is-uppercase">Start with</strong> The price-increase text that doesn\'t lose clients'}}}),cm.setMessages("App.BlogFeatured",{server_error:"{#var:cm._strings.common.server_error}"}),cm.setMessages("App.BlogPosts",{accessBox:{},button:{label:"View All",title:"Explore all posts in this category"},empty:"This category is currently empty. Come back later!",server_error:"{#var:cm._strings.common.server_error}"}),cm.setMessages("App.BlogPostsEmbed",{accessBox:{title:"Hello Gorgeous!",description:'This section is dedicated to our professional audience. <br class="media--on-desktop">Make sure you log in to view the rest of this page along with the rest of our pro-only content.'}}),cm.setMessages("App.BlogPost",{}),cm.setMessages("App.BlogRelated",{title:"You may also like"}),cm.setMessages("App.Calendar",{toolbar:{views:{label:"View",agenda:"Agenda",month:"Month"},date:{label:"Date",prev:{label:"<",title:"Previous month"},next:{label:">",title:"Next month"},month:"Month",year:"Year",months:cm._strings.months},locations:{label:"Location",all:"All Events",us:"US Only"}},months:cm._strings.months,empty:"No events found",server_error:"{#var:cm._strings.common.server_error}"}),cm.setMessages("App.CalendarAgenda",{fields:{date:"When",name:"What",description:"Where",contact:"Contact"},actions:{details:"See details",export:"Add to calendar"}}),cm.setMessages("App.CalendarMonth",{events:{label:["{count} <span>event</span>","{count} <span>events</span>"],show:"Show events",more:"+ {count} more"},calendar:{daysAbbr:cm._strings.daysShort},months:cm._strings.months}),cm.setMessages("App.CalendarEventsContainer",{title:"View Events",title_date:"Events on {date}"}),cm.setMessages("App.ChatGPT",{loading_response:"Loading...",server_error:"{#var:cm._strings.common.server_error}"}),cm.setMessages("App.ChatGPTCategories",{social:{title:"Social Media Presence",post:{label:"Social Media Post",content:"Write what you want the social media post to be about, and indicate the subject and the type of social media outlet."},captions:{label:"Social Media Captions",content:"Write what you want to caption and for what social media outlet."},hashtags:{label:"Hashtags Generator",content:"Write what you want the hashtag to reference and for what social media outlet."}},customer:{title:"Customer Service Helper",response:{label:"Customer Service Response",content:"Write a prompt to write a response to the following problem:"}}}),cm.setMessages("App.ConfirmDialog",{title:"Are you sure you want to proceed?",description:"Do you want to delete <strong>{name}</strong>?",placeholder:["Item","Items"],server_error:"{#var:cm._strings.common.server_error}"}),cm.setMessages("App.ConfirmDialogContainer",{title:"Are you sure you want to proceed?",false:"Cancel",true:"Delete"}),cm.setMessages("App.Conversations",{title:"Conversations",no_conversations:"You do not have any conversations yet",actions:{back:"Conversations"}}),cm.setMessages("App.ConversationsList",{new_conversation:"New conversation",last_message_date:"Last message: {date}",last_message_unread:"New message(s)",server_error:"{#var:cm._strings.common.server_error}"}),cm.setMessages("App.Conversation",{server_error:"{#var:cm._strings.common.server_error}",start_conversation:'Start your conversation with <br class="media--on-mobile"><strong>{name}</strong>',select_conversation:"Select a conversation from the list",new_messages:"New message(s)",conversation_disallow:{by_me:"You do not allow incoming messages",by_user:"<strong>{name}</strong> does not allow incoming messages"},actions:{back:"Back"}}),cm.setMessages("App.ConversationMessage",{updated:"modified"}),cm.setMessages("App.ConversationsContainer",{title:"Send Message"}),cm.setMessages("App.Directory",{error:{title:"NO RESULTS FOUND",description:"No members matching your search criteria."},info:{label:"Member Info"}}),cm.setMessages("App.DirectoryToolbar",{title:"Pro Directory",showResults:"Show results",showFilter:"Show filter",expand:"Expand",collapse:"Collapse",counter:{label:"Members",empty:"No members found",value:"Found {#formatnum:{count}} {#plural:{count}|member|members}"}}),cm.setMessages("App.DirectoryCard",{server_error:"{#var:cm._strings.common.server_error}"}),cm.setMessages("App.DirectoryView",{title:"Working Address"}),cm.setMessages("App.DirectoryViewContainer",{title:"Working Address"}),cm.setMessages("App.FileDropzone",{browse_sign:"Browse",browse_multiple:"Browse",drop_single:"Or drop file here",drop_multiple:"Or drop files here"}),cm.setMessages("App.EntityView",{title:"Entity",actions:{create:"Add",read:"Read",update:"Edit",delete:"Delete",preview:"Open",review:"Review",approve:"Approve",decline:"Decline"},notifications:{list:"List successfully updated!",created:"Item <strong>{name}</strong> successfully created!",updated:"Item <strong>{name}</strong> successfully updated!",deleted:"Item <strong>{name}</strong> successfully deleted!",server_error:"{#var:cm._strings.common.server_error}"},list:{},create:{},update:{},delete:{title:"Are you sure you want to proceed?",description:"You are about to delete item <strong>{name}</strong>.",false:"Cancel",true:"Delete",server_error:"{#var:cm._strings.common.server_error}"},empty:{description:"No items"}}),cm.setStrings("App.FlowLayout",{}),cm.setMessages("App.Gallery",{empty:"No photos uploaded yet",actions:{create:"Upload Photo",update:"Edit Photo",delete:"Delete Photo",download:"Save Photo"},download:{filename:"{title} - {date}.{ext}"},delete:{deleted:"Photo deleted"}}),cm.setMessages("App.GalleryLikes",{actions:{like:"Like",unlike:"Unlike"}}),cm.setMessages("App.GalleryTags",{actions:{approve:"Approve Tag",decline:"Decline Tag"},statuses:{approved:"Approved",declined:"Declined",pending:"Review to approve"}}),cm.setMessages("App.GalleryPopup",{fields:{title:"Photo",date:"Uploaded",speciality:"Speciality",brand:"Brand",technician:"Technician"},confirm:{waiting:"(waiting for approval)",confirmed:"(approved)",canceled:"(declined)"},actions:{update:"Edit Photo"},errors:{deleted:"Photo is deleted",server_error:"{#var:cm._strings.common.server_error}"}}),cm.setMessages("App.GalleryDeleteConfirm",{placeholder:["Photo","Photos"]}),cm.setMessages("App.Gridlist",{fields:{id:"ID",date:"Date",name:"Name",parent:"Parent",email:"Email",status:"Status"}}),cm.setMessages("App.Menu",{index:"Homepage",about:"About Us",directory:"Pro Directory",gallery:"Inspiration","pro-resources":"Pro Resources","barber-section":"The Barber Section",shop:"Pro Brand Partners",verify_license:"Verify License",become_partner:"Become a Partner",legal_notice:"Legal Notice","digital-brains":"Digital Brains",probeautyrelief:"Pandemic Relief Support","for-brands":"For Brands",blog:"Blog",licensify:"For Brands - Licensify",category:{all:"All","real-talk":"Real Talk",beauty:"Beauty",hair:"Hair","make-up":"Make Up",nails:"Nails",skin:"Skin",industry:"Industry",news:"News",events:"Events",products:"Products",business:"Business",marketing:"Marketing",compliance:"Compliance",advice:"Advice",downloads:"Downloads","how-to":"How To","safe-chair":"Safe Chair"},page:{"privacy-policy":"Privacy Policy","image-authenticity-policy":"Image Authenticity Policy","terms-and-conditions":"Terms & Conditions"},product:{book:"The Library"},user:{dashboard:"For You",username:"{username}",profile:"Profile",gallery:"Portfolio",conversations:"Conversations",favorites:"Likes & Favs",settings:"Settings",logout:"Sign Out",login:"Sign In",register:"Sign Up"},actions:{search:"Find Inspiration",headerMenu:"Show navigation menu",userMenu:"Show user menu"}}),cm.setMessages("App.Page",{page_title:"Page",title:"Page"}),cm.setMessages("App.PromoGuestDialog",{title:"Welcome to BeautyAList",actions:{continue:"Continue as Guest",or:"OR",register:"Sign Up Now",login:"Sign in!",loginLabel:"Already have an account?"}}),cm.setMessages("App.PromoLMSDialog",{logo:"Leadership Mode Snapshotâ¢",title:'<h1 class="h4">Discover Your Leadership Mode</h1>',description:"<p>The way you show up shapes your clients, your team, and your day-to-day stress.</p><p>Take the <strong>Leadership Mode Snapshotâ¢</strong>, now on BeautyAList, to see whatâs working, whatâs draining you, and where small shifts can make work feel easier.</p>",action:"Start your snapshot"}),cm.setMessages("App.PromoLMSDialogContainer",{title:"Leadership Mode Snapshotâ¢"}),cm.setMessages("App.RequestList",{}),cm.setMessages("App.Share",{title:"Share Profile",labels:{title:"{username} on {title}",download:"{username} on {title} - QR Code",share:"{username} profile on {title}"},actions:{download:{label:"Save QR Code",title:"Save QR Code Image"},copy:{label:"Copy Profile Link",title:"Copy Profile Link"},share:{label:"Share Profile Link",title:"Share Profile Link"}}}),cm.setMessages("App.ShareContainer",{title:"Share Profile"}),cm.setMessages("App.StatesInfoList",{hints:{manual:"Upload license photo"},fields:{name:"Code",label:"State",hint:"Hint message"}}),cm.setMessages("App.StaticPage",{page_title:"Page"}),cm.setMessages("App.Support",{error_message:"{#var:cm._strings.common.server_error}",success_message:'<h3>Thank you for your inquiry. <br class="media--desktop-down">We will review and get back to you shortly.</h3>'}),cm.setMessages("App.TabsetPanel",{title:"Settings",actions:{back:"Settings"}}),cm.setMessages("App.Template",{header:{index:"Homepage",show_menu:"Show navigation menu",hide_menu:"Hide navigation menu",user:{show_menu:"Show user menu",hide_menu:"Hide user menu"}},footer:{index:"Homepage",copyright:"BeautyAList © {year} Patented API Technology",apps:"Download Our App"}}),cm.setMessages("App.TooltipClipboard",{success:"Copied",failed:"Unable to copy to the clipboard"}),cm.setMessages("App.UserActionButton",{server_error:"{#var:cm._strings.common.server_error}"}),cm.setMessages("App.UserFavoriteButton",{create:{label:"Favorite",title:"Add to Favorites",tooltip:"Added to Favorites"},delete:{label:"Favorite",title:"Remove from Favorites",tooltip:"Removed from Favorites"}}),cm.setMessages("App.UserLikeButton",{create:{label:"Like",title:"Like"},delete:{label:"Liked",title:"Unlike"}}),cm.setMessages("App.UserBookingServices",{title:"Booking Services",actions:{create:"Add Service"},notifications:{list:"Services successfully updated!",created:"Service <strong>{name}</strong> successfully added!",updated:"Service <strong>{name}</strong> successfully updated!",deleted:"Service <strong>{name}</strong> successfully deleted!"},delete:{description:"<strong>You are about to delete booking service.</strong>"},empty:{description:"No booking services added yet"}}),cm.setMessages("App.UserBookingServicesGridlist",{empty:"No booking services added yet",fields:{url:"Link"}}),cm.setMessages("App.UserBookingServicesList",{empty:"Booking services not found",fields:{name:"Book via {name}"}}),cm.setMessages("App.UserEmployment",{actions:{view:"View Profile",conversation:"Send Message"},review:{tech:{title:"Do you work at this Shop/Salon?",description:'<strong>This Salon has sent employment request.</strong><br>Once confirmed/approved - your profile will be shown <br class="on-desktop-up">on Shop/Salon\'s profile page.'},salon:{title:"Does this Beauty Pro work at your Shop/Salon?",description:"<strong>This Beauty Pro has sent employment request.</strong><br>Once confirmed/approved - a person's profile will be shown <br class=\"on-desktop-up\">on your Shop/Salon's profile page."},false:"Decline",true:"Approve"},join:{tech:{title:"Do you work at this Shop/Salon?",description:'<strong>Send a notification to the Salon owner.</strong><br>Once confirmed/approved - your profile will be shown <br class="on-desktop-up">on Shop/Salon\'s profile page.'},salon:{title:"Does this Beauty Pro work at your Shop/Salon?",description:"<strong>Send a notification to Beauty Pro.</strong><br>Once confirmed/approved - a person's profile will be shown <br class=\"on-desktop-up\">on your Shop/Salon's profile page."},false:"Cancel",true:"Confirm"},invite:{tech:{title:"Invite a Shop/Salon",description:"Provide the credentials of the Shop/Salon you want to invite, and we will send a notification on your behalf."}
1,salon:{title:"Invite a Beauty Pro",description:"Provide the credentials of the Beauty Pro you want to invite, and we will send a notification on your behalf."}}}),cm.setMessages("App.UserEmploymentIndividual",{title:"Employment",actions:{create:"Find Your Shop/Salon"},notifications:{created:"{#plural:{count}|Shop/Salon|Shops/Salons} {name} successfully invited!",reviewed:"Shop/Salon <strong>{name}</strong> successfully reviewed!",approved:"Shop/Salon <strong>{name}</strong> successfully approved!",declined:"Shop/Salon <strong>{name}</strong> successfully declined!",deleted:"Shop/Salon <strong>{name}</strong> successfully deleted!"},list:{status:{pending:"Review to approve",pendingRecipient:"Waiting for Shop/Salon approval",declined:"Declined by you",declinedRecipient:"Declined by Shop/Salon",approved:"Approved by you",approvedRecipient:"Approved by Shop/Salon"}},create:{title:"Find a Shop/Salon",description:"Start typing to search for Shops/Salons",empty:"Do not see the Shop/Salon listed on the BeautyAList website yet?"},delete:{description:"<strong>You are about to delete salon.</strong>"},empty:{description:"No employment added yet. To add employment visit the Shop/Salon's profile page and click \"Do you work at this Shop/Salon?\" link. Once confirmed - your profile will be shown under Employees section on Shop/Salon's profile page."}}),cm.setMessages("App.UserEmploymentSalon",{title:"Salon Pros",actions:{create:"Add Pro"},notifications:{created:"{#plural:{count}|Member|Members} {name} successfully invited!",reviewed:"Member <strong>{name}</strong> successfully reviewed!",approved:"Member <strong>{name}</strong> successfully approved!",declined:"Member <strong>{name}</strong> successfully declined!",deleted:"Member <strong>{name}</strong> successfully deleted!"},list:{status:{pending:"Review to approve",pendingRecipient:"Waiting for member approval",declined:"Declined by you",declinedRecipient:"Declined by member",approved:"Approved by you",approvedRecipient:"Approved by member"}},create:{title:"Find a Pro",description:"Start typing to search for Pros",empty:"Do not see the Pro listed on the BeautyAList website?"},delete:{description:"<strong>You are about to delete member.</strong>"},empty:{description:"No employees added yet. To invite employee visit the Pro's profile page and click \"This Pro works at my Salon\" link. Once confirmed - a person's profile will be shown under Employees section on your Shop/Salon's profile page."}}),cm.setMessages("App.UserEmploymentBox",{initiator:{pending:{icon:"pending",tech:"Employment request has been sent",salon:"Employment request has been sent"},yes:{icon:"approve",tech:"You work at this Shop/Salon",salon:"This Pro works at your Shop/Salon"},no:{icon:"decline",tech:"This Shop/Salon declined your request",salon:"This Pro declined your request"}},recipient:{yes:{icon:"approve",tech:"You work at this Shop/Salon",salon:"This Pro works at your Shop/Salon"},no:{icon:"decline",tech:"You declined this Shop/Salon's request",salon:"You declined this Pro's request"}},review:{tech:'Click "<strong>Manage</strong>" to review <strong>{number}</strong> employment {#plural:{count}|request|requests}',salon:'Click "<strong>Manage</strong>" to review <strong>{number}</strong> employment {#plural:{count}|request|requests}'},join:{tech:"I work at this Shop/Salon",salon:"This Pro works at my Shop/Salon"},empty:{tech:"No employment added yet",salon:"No employees added yet"},actions:{viewMore:"View More"},server_error:"{#var:cm._strings.common.server_error_html}"}),cm.setMessages("App.UserEmploymentViewContainer",{salon:{title:"Employees"},tech:{title:"Employment"}}),cm.setMessages("App.UserNCEA",{title:"NCEA Certified credential",actions:{create:"Add / Renew",delete:"Delete Credential"},notifications:{created:"Credential with date <strong>{name}</strong> successfully added!",updated:"Credential with date <strong>{name}</strong> successfully updated!",renewed:"Credential with date <strong>{name}</strong> successfully renewed!",deleted:"Credential with date <strong>{name}</strong> successfully deleted!"},delete:{description:"Do you want to delete credential with date <strong>{name}</strong>?"},empty:{description:"Credentials not found"}}),cm.setMessages("App.UserPreferences",{tabs:{profile:"Account Details",privacy:"Privacy & Visibility",security:"Security",about:"Biography","social-links":"Social Links","working-details":"Experience","working-hours":"Working Hours","booking-services":"Booking Services","professional-credentials":"Professional Credentials",licenses:"Licenses",employees:"Salon Pros",employment:"Employment",integrations:"Integrations",talents:"Looking for Talent"},salon:{tabs:{about:"About Us","working-details":"Salon Details"}}}),cm.setMessages("App.UserPreferencesContainer",{title:"Settings"}),cm.setStrings("App.UserProfessionalCredentials",{title:"Professional Credentials"}),cm.setStrings("App.UserSearch",{title:"Find User",description:"Start typing to search User",empty:"No user found",more:'Many matches detected. Displaying the first {count} results. <br class="on-desktop-up">Consider narrowing your search criteria.',fields:{emailHidden:"Email is hidden"},actions:{pending:"Employment request has sent",join:"Send employment request",invite:"Click here to invite"},server_error:"{#var:cm._strings.common.server_error}"}),cm.setStrings("App.UserSearchContainer",{title:"Find User"}),cm.setStrings("App.UserTalents",{title:"Submissions",actions:{view:"View Profile",conversation:"Send Message"},notifications:{deleted:"Hiring request by <strong>{name}</strong> successfully deleted!"},delete:{description:"<strong>You are about to delete hiring request.</strong>"},submit:{tech:{title:"Do you want to submit your profile?",description:'<strong>This business is hiring!</strong><br>Submit your profile to be reviewed by the business <br class="on-desktop-up">and take the next step in your beauty career.'},false:"Cancel",true:"Confirm"},empty:{description:"No hiring requests have been submitted yet."}}),cm.setStrings("App.UserTalentsComposite",{title:"Looking for Talent"}),cm.setStrings("App.UserTalentsBox",{hiring:"<h5>This business is hiring!</h5><p>Submit your profile to be reviewed by the business and take the next step in your beauty career.</p>",train:"<h5>No experience needed!</h5><p>We're willing to train the right candidate.</p>",disabled:'Click "<strong>Manage</strong>" to enable this option to let beauty professionals know you\'re hiring.',enabled:{visible:{label:"Visible for the visitors of profile",icon:"visible"},hidden:{label:"Your profile is hidden for public",icon:"hidden"}},login:{label:"Sign in or Sign up as Beauty Pro"},submit:{label:"Submit hiring request"},employee:{pending:{icon:"pending",label:"Hiring request has been sent"},yes:{icon:"approve",label:"You work at this Salon"},no:{icon:"decline",label:"This Salon declined your request"}}}),cm.setMessages("App.Video",{play:"Play video",pause:"Pause video"}),cm.setMessages("App.ImagePhotoInput",{errors:{dimensions:"Image dimensions do not meet size requirements"}}),cm.setMessages("App.LocationFilter",{label:"Location:",UNKNOWN_ERROR:"Please select state",ZERO_RESULTS:"Address is wrong"}),cm.setMessages("App.ProductBookPreferences",{label:"Preferences",show:"Toggle preferences menu",hide:"Toggle preferences menu"}),cm.setMessages("App.ProfileFilter",{label:"Name:",default:"Everyone",values:{tech:"Beauty Pros",salon:"Beauty Salons"},suffixes:{tech:"(pros)",salon:"(salons)"},tabs:{profile:"Profile details"}}),cm.setMessages("App.ReCaptcha",{}),cm.setMessages("App.SocialInput",{}),cm.setMessages("App.ToggleButtons",{}),cm.setMessages("App.WorkingHourField",{titles:{open:"Open",close:"Close"}}),cm.setMessages("Form.BlogSearch",{title:"Blog Search",placeholders:["Discover beauty's best-kept secrets. Start your search now!","Find your beauty brilliance - search and unveil glam tips!","Glow up your knowledge! Type, search, and radiate beauty!","Beauty awaits at your fingertips. Search and conquer glam goals!","Unlock beauty insights with a search. Your radiant journey begins here!","Search for glam, find beauty. Your next level awaits!","Ignite beauty brilliance - search now and shine brighter!"],empty:"We're sorry, no results were found for your search query."}),cm.setMessages("Form.BlogSearchContainer",{title:"Blog Search"}),cm.setStrings("Form.Brand",{title:"Brand",title_create:"Add Brand",title_update:"Edit Brand",fields:{title:"Brand name"}}),cm.setStrings("Form.BrandContainer",{title:"Brand",title_create:"Add Brand",title_update:"Edit Brand"}),cm.setMessages("Form.ChatGPT",{title:"Chat GPT",fields:{content:"Enter your message"},send:"Send"}),cm.setMessages("Form.ChatGPTContainer",{title:"Chat GPT",save:"Send"}),cm.setMessages("Form.ChatGPTCategory",{title:"Chat GPT",fields:{content:"Enter your message",tone:{label:"Tone",options:[{value:"formal",text:"Formal"},{value:"informal",text:"Informal"},{value:"professional",text:"Professional"},{value:"casual",text:"Casual"},{value:"humorous",text:"Humorous"},{value:"inspirational",text:"Inspirational"},{value:"persuasive",text:"Persuasive"},{value:"sarcastic",text:"Sarcastic"}]}},send:"Send"}),cm.setMessages("Form.ChatGPTCategoryContainer",{title:"Chat GPT",save:"Send"}),cm.setMessages("Form.Conversation",{title:"Conversation",fields:{message:"Message {username}"},send:"Send"}),cm.setMessages("Form.ConversationContainer",{title:"Conversation",save:"Send"}),cm.setMessages("Form.FaqSearch",{title:"FAQ Search",label:"Search in FAQ",placeholder:"Search for answers - enter your question here!",empty:"We're sorry, no results were found for your search query."}),cm.setMessages("Form.File",{title:"File",title_create:"Add File",title_update:"Edit File",send:"Save",field:{label:"File",hint:"",help:"",placeholder:""},form:{success_message:"File successfully updated!",deleted:"File successfully deleted!"}}),cm.setMessages("Form.FileEmbed",{title:"Upload File",title_create:"Upload File",title_update:"Edit File",fileForm:{field:{label:"File"}}}),cm.setMessages("Form.GalleryFilter",{title:"Gallery Filter",fields:{role:{label:"Role",usa:"US Only",all:"All Users"}}}),cm.setMessages("Form.GalleryFilterContainer",{title:"Gallery Filter"}),cm.setMessages("Form.GlamGrowthGateway",{title:"GlamGrowth Gateway",fields:{description:"What I do",ventures:"What I would like help with"},send:"Submit"}),cm.setMessages("Form.GlamGrowthGatewayContainer",{title:"GlamGrowth Gateway",save:"Submit"}),cm.setMessages("Form.LicenseSearch",{title:"Verify License",first_name:"First name",last_name:"Last name",state:"State",license_number:"License number",confirm:'I agree to the <a href="%terms-and-conditions%" target="_blank">terms & conditions</a>',send:"Verify",or:"OR",step1:"Select state",step2:"Enter license details",overlay:{content:"Your license is being verified.<br>Please do not refresh screen or go back."},errors:{lastname:"Last name required in order to proceed.",lastname_or_licence
1no:"Last name OR License number required in order to proceed.",captcha:"Error verifying reCAPTCHA, please try again."}}),cm.setMessages("Form.LicenseSearchSalon",{title:"Verify Salon License",business_name:"Business name",state:"State",license_number:"License number",confirm:'I agree to the <a href="%terms-and-conditions%" target="_blank">terms & conditions</a>',send:"Verify",or:"OR",step1:"Select state",step2:"Enter license details",overlay:{content:"Your license is being verified.<br>Please do not refresh screen or go back."},errors:{businessname:"Business name required in order to proceed.",businessname_or_licenceno:"Business name OR License number required in order to proceed.",captcha:"Error verifying reCAPTCHA, please try again."}}),cm.setMessages("Form.MembersSearchFilter",{title:"Members Search",fields:{firstname:"First name",lastname:"Last name",businessname:"Business name",address:"Address",location:{icon:"Search",geoIcon:"Use your current location"},role:{label:"Role",options:[{value:"",text:"Everyone"},{value:"tech",text:"Pros"},{value:"salon",text:"Salons"}]}}}),cm.setMessages("Form.MembersSearchFilterContainer",{title:"Members Search"}),cm.setMessages("Form.ProductBookPreferences",{title:"Book Preferences",fields:{fontSize:"Text Size"}}),cm.setStrings("Form.ProductBook",{title:"Product Book",send:"Purchase The Book"}),cm.setStrings("Form.ProductEducationVideos",{title:"Education Videos",send:"Purchase the Complete Course"}),cm.setMessages("Form.ProfileTechnician",{title:"Account Details",fields:{firstname:"First name",lastname:"Last name",nickname:"Nickname",email:"Email",country:"Country",mobile:"Mobile",birthday:"Birthday",shortname:{label:"Shortname",icon:"Copy Profile Link",errors:{too_short:"Shortname should be at least %count% characters.",too_long:"Shortname should be less than %count% characters."}},password:"New Password",repeatPassword:"Repeat Password"},groups:{birthday:{label:"Birthday",description:"Let us celebrate YOU on your bday! We will make sure to make you feel extra pampered and loved by sending a special something on your big day!"},slug:{label:"Custom URL",description:"Create a personalized link for your profile by entering a unique URL slug. This makes sharing your profile easier and enhances its appearance."},password:{label:"Change Password"},delete:{label:"Delete Profile",button:"I want to delete my BeautyAList profile"}},form:{success_message:"Account details successfully updated"}}),cm.setMessages("Form.ProfileTechnicianContainer",{title:"Edit Account Details"}),cm.setMessages("Form.ProfileSalon",{title:"Account Details",fields:{businessname:"Business name",nickname:"Nickname",email:"Email",country:"Country",mobile:"Mobile",birthday:"Anniversary of your opening",shortname:{label:"Shortname",icon:"Copy Profile Link",errors:{too_short:"Shortname should be at least %count% characters.",too_long:"Shortname should be less than %count% characters."}},password:"New Password",repeatPassword:"Repeat Password"},groups:{birthday:{label:"Anniversary of your opening",description:"Running a salon is hard; pausing to celebrate is harder. Tell us the day you first opened and let BeautyAList be your cheerleader. On every anniversary weâll spotlight your profile, send perks, and a reminder that youâre still incredible."},slug:{label:"Custom URL",description:"Create a personalized link for your profile by entering a unique URL slug. This makes sharing your profile easier and enhances its appearance."},password:{label:"Change Password"},delete:{label:"Delete Profile",button:"I want to delete my BeautyAList profile"}},form:{success_message:"Account details successfully updated"}}),cm.setMessages("Form.ProfileSalonContainer",{title:"Edit Account Details"}),cm.setMessages("Form.ProfileEnthusiast",{title:"Account Details",fields:{firstname:"First name",lastname:"Last name",nickname:"Nickname",email:"Email",state:"State",birthday:"Birthday"},groups:{birthday:{label:"Birthday",description:"Let us celebrate YOU on your bday! We will make sure to make you feel extra pampered and loved by sending a special something on your big day!"},delete:{label:"Delete Profile",button:"I want to delete my BeautyAList profile"}},form:{success_message:"Account details successfully updated"}}),cm.setMessages("Form.ProfileEnthusiastContainer",{title:"Edit Account Details"}),cm.setMessages("Form.ProfileStudent",{title:"Account Details",fields:{firstname:"First name",lastname:"Last name",nickname:"Nickname",email:"Email",school:"School name",schoolWebsite:"School website",birthday:"Birthday"},groups:{birthday:{label:"Birthday",description:"Let us celebrate YOU on your bday! We will make sure to make you feel extra pampered and loved by sending a special something on your big day!"},delete:{label:"Delete Profile",button:"I want to delete my BeautyAList profile"}},form:{success_message:"Account details successfully updated"}}),cm.setMessages("Form.ProfileStudentContainer",{title:"Edit Account Details"}),cm.setMessages("Form.ProfileAvatar",{title:"Upload Avatar",title_create:"Upload Avatar",title_update:"Edit Avatar",fileForm:{field:{label:"Avatar",hint:["Allowed file formats: jpg, png, gif.","Logo image size should be 500x500px."]}}}),cm.setMessages("Form.ProfileAvatarContainer",{title:"Upload Avatar",title_create:"Upload Avatar",title_update:"Edit Avatar"}),cm.setMessages("Form.ProfileBookingServices",{title:"Edit Booking Services",actions:{back:"Back to the services list"}
1,group:{title:"Choose a service you want to add"},field:{placeholder:"Enter link url"},form:{success_message:"Booking services successfully updated"}}),cm.setMessages("Form.ProfileBookingServicesContainer",{title:"Edit Booking Service",title_create:"Add Booking Service",title_update:"Edit Booking Service"}),cm.setMessages("Form.ProfileCover",{title:"Upload Cover",title_create:"Upload Cover",title_update:"Edit Cover",fileForm:{field:{label:"Cover",hint:["Allowed file formats: jpg, png, gif.","Cover image size should be 1800x600px."]}}}),cm.setMessages("Form.ProfileCoverContainer",{title:"Upload Cover",title_create:"Upload Cover",title_update:"Edit Cover"}),cm.setMessages("Form.ProfilePassword",{title:"Change Password",fields:{password:"New Password",repeatPassword:"Repeat Password"},form:{success_message:"Account password successfully updated"}}),cm.setMessages("Form.ProfilePasswordContainer",{title:"Change Password"}),cm.setMessages("Form.ProfilePrivacy",{title:"Privacy & Visibility",fields:{profile:"Make my profile visible for public",email:"Show my email on the public profile",mobile:"Show my mobile number on the public profile",messages:" Allow users to send me messages"},help:{profile:"<p><strong>Caution!</strong> Unclicking \"Make my profile visible to public\" will set your profile to private, which means you won't be visible in the directory, searchable, or featured in the gallery. You'll still be able to use your BeautyAList credentials to access professional products, but others won't be able to find you. If you want to connect with more clients or peers, consider keeping your profile public!</p>"},form:{success_message:"Privacy & visibility successfully updated"}}),cm.setMessages("Form.ProfilePrivacyContainer",{title:"Update Privacy & Visibility"}),cm.setStrings("Form.ProfileProfessionalCredentials",{title:"Credentials",fields:{professionalCredential:"Professional Credential",productCertification:"Product Certification",procedureCertification:"Procedure/Equipment Certification"},form:{success_message:"Professional credential successfully updated"}}),cm.setStrings("Form.ProfileProfessionalCredentialsContainer",{title:"Edit Professional Credentials"}),cm.setMessages("Form.ProfileSocial",{title:"Edit Social",fields:{school:"School attended",certifications:"Certifications",occupation:"Occupation",employment:"Current employment",biography:"Your biography",facebook:"Facebook",instagram:"Instagram",pinterest:"Pinterest",tumblr:"Tumblr",youtube:"YouTube",snapchat:"Snapchat",twitter:"X"},skip:"Skip",form:{success_message:"Social successfully updated"}}),cm.setMessages("Form.ProfileSocialContainer",{title:"Edit Social"}),cm.setMessages("Form.ProfileSocialLinks",{title:"Social Links",fields:{facebook:"Facebook",instagram:"Instagram",pinterest:"Pinterest",tumblr:"Tumblr",youtube:"YouTube",snapchat:"Snapchat",twitter:"X"},form:{success_message:"Social links successfully updated"}}),cm.setMessages("Form.ProfileSocialLinksContainer",{title:"Edit Social Links"}),cm.setStrings("Form.ProfileTalents",{title:"Looking to hire?",description:"<p>Turn on this option to let beauty professionals know you're hiring. Theyâll be able to submit their profiles for your review. You can then browse submissions and start the conversation!</p>",fields:{enable:"I am looking for talent",train:"Willing to train",notes:{label:"Notes",placeholder:"Please include any specific details that beauty professionals might find useful before submitting their application."}},form:{success_message:"Hiring details successfully updated"}}),cm.setStrings("Form.ProfileTalentsContainer",{title:"Looking to hire?"}),cm.setMessages("Form.ProfileIndividualWorkingDetails",{title:"Experience",fields:{biography:"Your biography",school:"School attended",occupation:"Occupation",employment:"Current employment",address:{label:"Working address",hint:"If you do not enter your working address clients will not be able to find you via location feature."},speciality:{label:"Speciality",hint:"Please select up to two specialities.",field:{default:"None"}}},form:{success_message:"Experience successfully updated"}}),cm.setMessages("Form.ProfileSalonWorkingDetails",{title:"Salon Details",fields:{biography:"About Us",address:{label:"Salon Address",hint:"If you do not enter your working address clients will not be able to find you via location feature."},speciality:{label:"Speciality",field:{default:"None"}}},form:{success_message:"Details successfully updated"}}),cm.setMessages("Form.ProfileWorkingHours",{title:"Working Hours",fields:{Monday:"Monday",Tuesday:"Tuesday",Wednesday:"Wednesday",Thursday:"Thursday",Frid
1ay:"Friday",Saturday:"Saturday",Sunday:"Sunday"},form:{success_message:"Working hours successfully updated"}}),cm.setMessages("Form.ProfileWorkingHoursContainer",{title:"Edit Working Hours"}),cm.setMessages("Form.ResetPassword",{title:"Reset Password",send:"Reset Password",fields:{password:"New Password",repeatPassword:"Confirm Password"},error:{message:"The password reset link is invalid or expired.",action:"Generate a new password reset link"}}),cm.setMessages("Form.ResetPasswordContainer",{title:"Reset Password"}),cm.setStrings("Form.UserInvite",{title:"Invite a User",fields:{name:"Name",email:"Email"},form:{success_message:"Invitation successfully sent."}}),cm.setStrings("Form.UserInviteContainer",{title:"Invite a User",save:"Send"}),cm.setStrings("Form.UserNCEA",{title:"Add / Renew NCEA Credential",verification:{title:"Verification",description:"<p>To join our comprehensive beauty directory, which includes professionals with diverse qualifications, please provide your name and NCEA number below.</p>{#msg:App.UserSignupIndividual|verification.disclaimer}"},send:"Search",fields:{name:"First name",lastname:"Last name",date:"Expiration date"},errors:{notFound:'<p class="margin-none"><strong>We weren\'t able to verify your NCEA credential based on your input.</strong></p><p class="margin-none">Our team will be in touch shortly to help.</p><p class="margin-none">To make sure you keep getting these emails, <br class="media--mobile-up">please add <a href="mailto:{email}" target="_blank" rel="noopener">{email}</a> to your address book or whitelist us.</p>'}}),cm.setStrings("Form.UserNCEAContainer",{title:"Add / Renew NCEA Credential"}),cm.setMessages("Form.UserPhoto",{title:"Upload Photo",title_create:"Upload Photo",title_update:"Edit Photo",tabs:{description:"Description",caption:"Watermark"},header:"<h4>Showcase Your Work. Get Discovered.</h4><p>ð Add full details so clients and brands can find you.</p><p>ð Top looks shared on social.</p>",fields:{title:{label:"Name Your Look",placeholder:"e.g., Pink Gradient Gel Mani",hint:"Catchy titles stand out in search."},speciality:{label:"Your Specialty",hint:"Helps match you with the right clients.",options:[{value:"",text:"e.g., Nail Art, Gel Overlay, Sculpted Tips",isPlaceholder:!0,select:!0}]},brand:{label:"Products Used",placeholder:"e.g., ORLY Builder, Maxus Nails",hint:"Brands may feature your work."},technician:{label:"Tag Technician",hint:"Beauty Pros that you marked as favourites are shown here.",options:[{value:"",text:"Please select technician to tag",isPlaceholder:!0,select:!0}]}},fileForm:{field:{label:"Photo"}}}),cm.setMessages("Form.UserPhotoContainer",{title:"Upload Photo",title_create:"Upload Photo",title_update:"Edit Photo",help:'<ul class="tpl__list tpl__list--accent p"><li>Allowed file formats: jpg, png, gif, webp, avif.</li><li>Image size: over 500 pixels width and height.</li><li>Maximum file size: 10 MB.</li></ul>'}),cm.setStrings("Form.UserSearch",{title:"Find User",fields:{firstname:"First name",lastname:"Last name",businessname:"Business name"}}),cm.setStrings("Form.UserSearchContainer",{title:"Find User"}),cm.setStrings("Form.UserUnsubscribe",{title:"Unsubscribe",send:"Unsubscribe"}),cm.setStrings("Form.UserUnsubscribeContainer",{title:"Unsubscribe",save:"Unsubscribe"}),cm.setStrings("Page.AppAuth",{page_title:"Opening App...",title:"Opening BeautyAList App..."}),cm.setStrings("Page.AppExternal",{page_title:"Processing...",title:"Processing..."}),cm.setMessages("Page.Blog",{page_title:"Blog",title:"Our Blog"}),cm.setMessages("Page.BlogCategory",{page_title:"Blog Category",barberCategories:{title:"{#msg:Page.BarberSection|barberCategories.title}",subtitle:"{#msg:Page.BarberSection|barberCategories.subtitle}"}}),cm.setMessages("Page.BlogPost",{page_title:"Blog",sidebar:{share:{title:"Share this post"}},author:{title:"About the author"}}),cm.setMessages("Page.ChatGPT",{page_title:"Digital Brains",title:"Digital Brains",description:'<p class="p-sm-small">Hey there! You know how important it is to have a sizzling social media presence, right? But let\'s be honest; juggling between your profession and managing social media can be a bit of a circus act. Enter Digital Brains, your new AI-powered sidekick! It\'s here to jazz up your social media strategy by suggesting cool content for posts, whipping up captivating captions, and even generating those all-important hashtags. Your content will always be fresh, engaging, and ready to grab eyeballs.</p><p class="p-sm-small">But wait, there\'s more! Digital Brains isn\'t just a social media whizz. It\'s also your virtual customer service rep, answering customer queries promptly and accurately. So, you can focus on doing what you do best - creating beauty magic.</p><p class="p-sm-small">Go ahead and test it out; it\'s time to set the stage for some serious success!</p><p class="p-sm-small"><strong>Ask the digital brain assistant to provide suggestions made just for you, based on what you like and need.</strong></p>',tones:{formal:"Formal tone",informal:"Informal tone",professional:"Professional tone",casual:"Casual tone",humorous:"Humorous tone",inspirational:"Inspirational tone",persuasive:"Persuasive tone",sarcastic:"Sarcastic tone"}}),cm.setMessages("Page.ComingSoon",{page_title:"Members Search",title:"Coming Soon!"}),cm.setMessages("Page.Contact",{page_title:"Contact Us",title:"Contact Us",actions:{register:"Create Account",login:"Sign In"},box:{return_button:"Go to Home Page"}}),cm.setMessages("Page.Directory",{page_title:"Pro Directory",title:"Pro Directory"}),cm.setMessages("Page.Error",{page_title:"404",title:"404. Page does not exist!",login:"Sign In",register:"Sign Up",switchAccount:"Use Another Account",contact:"Report a Problem",home:"Go to Home Page",beautician:function(){return Application.msgObject("access.beautician")},authorized:{description:"Page is not available since you are not authorized."},unauthorized:{description:"Page is not available since you are already authorized."},1404:{title:"404. Page is not available now!",description:"An error has occurred in the requested page. Please try again later."}}),cm.setMessages("Page.Gallery",{page_title:"Inspiration",title:"Inspiration"}),cm.setMessages("Page.Landing",{page_title:App._env.metaTitle,title:"Latest Beauty News and Updates",about:{title:'<h1 class="h1 is-large h1-sm-default text--title">Discover. Connect. Shine.</h1>',description:'<p class="h4 is-regular p-sm">Welcome to BeautyAList, the go-to destination for Glow Getters everywhere. <br class="on-desktop-up">Dive into a place where quality is the norm, and every click brings
1you closer <br class="on-desktop-up">to your next beauty favorite. Let\'s create the future of beauty together.</p>',links:'<h2 class="h4">Get the BeautyAList app</h2><p class="h4 is-regular p-sm">Scan the QR code to get the app or download from the app stores.</p>',button:{label:"Read More",title:"Learn more about us"},image:"BeautyAList"},search:{title:'<h2 class="h1 h2-sm"><strong class="h1 is-x-large h1-sm-default">Search</strong><br>Members Nearby</h2>',description:'<p class="h4 is-regular p-sm">Find and connect with the highest-rated, verified beauty professionals in your area</p>',button:{label:"Search Now"},speciality:{label:"Hair",items:["Men","Kids","Color","Curly Hair","Straight Hair"]}},gallery:{title:'<h2><strong class="h1 is-large h1-sm-default">Find</strong><br>Your Inspiration</h2><p class="h4 is-regular p-sm">Explore beauty in photos by top pros and style innovators</p>',button:{label:"View",title:"Explore our gallery"},photo:"Photo"}}),cm.setMessages("Page.LandingAbout",{page_title:App._env.metaTitle,categories:{hair:"Hair",makeup:"Make Up",nails:"Nails",skin:"Skin"},intro:{title:'<h1 class="h1 is-large h1-sm-default text--title">Discover. Connect. Shine.</h1>',description:'<p class="h4 is-regular p-sm">Welcome to BeautyAList, the go-to destination for Glow Getters everywhere. <br class="on-desktop-up">Dive into a place where quality is the norm, and every click brings you closer <br class="on-desktop-up">to your next beauty favorite. Let\'s create the future of beauty together.</p>',links:'<h2 class="h4">Get the BeautyAList app</h2><p class="h4 is-regular p-sm">Scan the QR code to get the app or download from the app stores.</p>',button:{title:"Explore"},image:"BeautyAList"},discover:{entry:'<h2 class="h1 h2-sm text--title"><strong class="h1 is-x-large h1-sm-default">Discover</strong><br>local gems</h2><p class="h4 is-regular p-sm">Find and connect with the highest-rated, <br>verified beauty professionals in your area.</p>',button:{label:"Search",title:"Search beauty professionals"},map:{title:"Members map",avatar:"Member avatar"}},connect:{entry:'<h2 class="h1 h2-sm text--title"><strong class="h1 is-x-large h1-sm-default">Connect</strong><br>with real results</h2><p class="h4 is-regular p-sm">Forget the guesswork and connect <br class="on-desktop-up">with real beauty professionals whose <br class="on-desktop-up">work speaks volumes â literally.</p><p class="h4 is-regular p-sm">Browse portfolios and discover talents <br class="on-desktop-up">that resonate with your style and needs.</p>',button:{label:"Browse",title:"Browse portfolios"},profile:{title:"Beauty professional's profile",photo:"Beauty professional's gallery",details:"Beauty professional's experience"}},learn:{entry:'<h2 class="h1 h2-sm text--title"><strong class="h1 is-x-large h1-sm-default">Learn</strong><br>from the pros</h2><p class="h4 is-regular p-sm">Our exclusive tutorials, meticulously curated and guided by a team of experienced beauty experts, provide you with invaluable insider knowledge <br class="on-desktop-up">and practical tips straight from the source.</p><p class="h4 is-regular p-sm">Delve deeper into the world of beauty with <br class="on-desktop-up">our comprehensive tutorials designed to <br class="on-desktop-up">enhance your skills and knowledge.</p>',button:{label:"Explore",title:"Explore our blog"}},find:{entry:'<h2 class="text--title"><strong class="h1 is-large h1-sm-default">Find</strong><br>your inspiration</h2><p class="h4 is-regular p-sm">Explore beauty in photos by <br>top pros and style innovators.</p>',button:{label:"View",title:"View our gallery"},photo:"Photo"},welcome:{title:'<h2 class="text--title">Welcome to <br><strong class="h1 is-large h1-sm-default">BeautyAList</strong></h2>',entry:'<p class="h4 is-regular p-sm">So, are you ready to embark on a beauty adventure as limitless as your imagination?</p>',box:{title:'<h2 class="text--title">Sign Up</h2><p class="h4 is-regular p-sm">Create your profile, and become part of a community that celebrates you just as you are.</p>',login:"Already have an account? Sign in!"},avatar:"Member avatar"}}),cm.setMessages("Page.LangSwitch",{page_title:"Language Switch"}),cm.setMessages("Page.Shop",{page_title:"Shop",title:'<h1 class="h2"><strong class="h1">
1Unlock Your Pro Savings</strong> <br>at our partner brands listed below</h1>',empty:"No brand partners were found",intro:{title:'<p class="h7 h7-sm is-uppercase color--accent">How it works</p><h2 class="h2 is-small h4-sm">To gain access to pro products, <br class="media--small-up">our brand partners need to <em>verify you first!</em></h2>',description:'<ol class="p is-large"><li><em>Click a brand below.</em></li><li><em>Register on their site as a "Pro".</em></li><li><em>Use your BeautyAList credentials to register as a verified beauty pro!</em></li></ol>'},featured:{title:"{name} has joined the Pro Network",description:"Enjoy exclusive discounts as a beauty pro!",button:"View Details"},menu:{title:"Brand Categories"},categories:{all:"All",hair:"Hair",lashes:"Lashes",nails:"Nails",skin:"Skin",extensions:"Extensions","beauty-supplies":"Beauty Supplies"}}),cm.setMessages("Page.SignIn",{page_title:"Sign In",title:"Sign In",actions:{reset:"Forgot Password",register:"Create Account",report:"Report a Problem"}}),cm.setMessages("Page.Signup",{page_title:"Sign Up",title:"Create Your Pro-Access",links:{report:"Report a Problem"},description:"<h5>Please let us know, who you are</h5>",actions:{login:"Already have an account? Sign in!",report:"Report a Problem"}}),cm.setMessages("Page.SignupEnthusiast",{page_title:["Future Client","Sign Up"].join(App._config.titleSeparator),title:"Register as Future Client",description:"<p>Please tell us about yourself</p>",actions:{back:"Back to Sign Up",login:"Already have an account? Sign in!",report:"Report a Problem"},errors:{error_login_message:"User successfully registered, but we ran into the problem of logging in."}}),cm.setMessages("Page.SignupIndividual",{page_title:["Beauty Pro","Sign Up"].join(App._config.titleSeparator),actions:{login:"Already have an account? Sign in!",report:"Report a Problem"}}),cm.setMessages("Page.SignupSalon",{page_title:["Beauty Salon","Sign Up"].join(App._config.titleSeparator),actions:{login:"Already have an account? Sign in!",report:"Report a Problem"}}),cm.setMessages("Page.SignupStudent",{page_title:["Student","Sign Up"].join(App._config.titleSeparator),actions:{login:"Already have an account? Sign in!",report:"Report a Problem"}}),cm.setMessages("Page.SignupInternational",{page_title:["Other","Sign Up"].join(App._config.titleSeparator),title:"Sign Up",actions:{login:"Already have an account? Sign in!",report:"Report a Problem"}}),cm.setMessages("Page.SignupProfile",{page_title:["Profile","Sign Up"].join(App._config.titleSeparator),title:"Update Profile",description:"<h5>Please tell us about yourself</h5>"}),cm.setMessages("Page.SignupWelcome",{page_title:["Welcome","Sign Up"].join(App._config.titleSeparator),title:"Thank you for signing up!",pending:"<h5>Thank you for providing us with your professional credentials.<br>Your profile is now set up but with limited capabilities.</h5><h5>Please note that your profile is not complete until we verify the validity of your license.</h5>",success:"<h5>Now you can fully enjoy BeautyAList.</h5>",button:"Let`s Go"}),cm.setMessages("Page.SignupRenewIndividual",{page_title:"Renew License",actions:{report:"Report a Problem"}}),cm.setMessages("Page.SignupRenewSalon",{page_title:"Renew License",actions:{report:"Report a Problem"}}),cm.setMessages("Page.SignupRenewInternational",{page_title:"Renew Professional Status",actions:{report:"Report a Problem"}}),cm.setMessages("Page.UserReset",{page_title:"Reset Password",title:"Reset Password",actions:{report:"Report a Problem"},box:{return_button:"Go to Home Page"}}),cm.setMessages("Page.UserResetCode",{page_title:"Reset Password",title:"Reset Password",actions:{report:"Report a Problem",login:"Sign In"},success:{description:'<h5 class="p-sm">Success! Now you can log in with your new password.</h5>'},403:{page_title:"Reset Password",title:"Reset Password",description:"You cannot change your password while you are currently logged in to your BeautyAList account."}}),cm.setMessages("Page.UserUnsubscribe",{page_title:"Unsubscribe",title:"Unsubscribe",description:'<h5 class="p-sm">Please unsubscribe me from all emails. I understand this will remove me from critical license reminders and access to important free features, which could result in missing key updates and opportunities.</h5>',actions:{report:"Report a Problem"}
1,error:{message:"Unsubscribe link invalid or expired.",action:"Click here to generate a new one."},success:{description:'<h5 class="p-sm">You have successfully unsubscribed!</h5>'}}),cm.setMessages("Page.UserProfile",{me:{page_title:"My Profile",title:"My Profile"},public:{page_title:"User Profile",title:"User Profile"},skeleton:{avatar:"User avatar",cover:"User cover"},actions:{add:"Add",edit:"Edit",manage:"Manage",editCover:"Change Cover",editAvatar:"Change Avatar",editPreferences:{label:"Settings",title:"Edit Settings"},editAccount:"Edit Details",editPrivacy:"Update Privacy",editPassword:"Change Password",editAbout:"Edit About Me",editWorkingHours:"Edit Working Hours",editBookingServices:"Edit Boooking Services",editLicenses:"Edit Licenses",addPhoto:"Upload Photo",viewMap:"Show location on the map",copy:{label:"Copy",title:"Copy Profile Link"},hidden:{label:"Hidden",title:"Your profile is hidden"},share:{label:"Share",title:"Share Profile Link"},conversation:{label:"Send Message",title:"Send Message"}},share:{text:"{username} profile on {title}"},tabs:{about:"About",gallery:"Gallery"},workingHours:{title:"Working Hours",empty:'Click "<strong>Edit</strong>" to set up your working hours',from:"From",to:"To",na:"N/A"},bookingServices:{title:"Book a Service",empty:'Click "<strong>Edit</strong>" to set up your booking services links'},licenses:{title:"Professional Credentials",empty:'Click "<strong>Edit</strong>" to specify your professional credentials'},gallery:{title:"Gallery",empty:"No photos uploaded yet"},profile:{email:"Email",mobile:"Mobile",country:"Country",state:"State",address:"Working address",speciality:"Speciality",occupation:"Occupation",employment:"Employment",school:"School attended",certifications:"Certifications",biography:"Biography",facebook:"Facebook",instagram:"Instagram",pinterest:"Pinterest",tumblr:"Tumblr",youtube:"YouTube",snapchat:"Snapchat",twitter:"X"},400:{title:"Profile request error!"},403:{title:"Access denied!"},404:{title:"User not found!"},brandError:{title:"Profile not found!",description:"You are logged in with the brand account.",button:"Go to Dashboard"},tech:{tabs:{employment:"Availability"},about:{title:"About Me",empty:'Click "<strong>Edit</strong>" to specify your biography',edit:"Edit Biography"},employment:{title:"Availability",preferences:"employment",manage:"Manage Employment"},workingDetails:{title:"Experience",empty:'Click "<strong>Edit</strong>" to specify your working experience',edit:"Edit Experience",address:"Working address"}},salon:{tabs:{employment:"Artists"},about:{title:"About Us",empty:'Click "<strong>Edit</strong>" to specify your biography',edit:"Edit Biography"},talents:{title:"Looking for Talent",preferences:"talents",manage:"Manage Talents"},employment:{title:"Available Artists",preferences:"employees",manage:"Manage Employees"},workingDetails:{title:"Salon Details",empty:'Click "<strong>Edit</strong>" to specify your salon details',edit:"Edit Salon Details",address:"Salon address"}}}),cm.setMessages("Page.UserConversations",{page_title:"Conversations",title:"Conversations",actions:{back:"Profile"},400:{title:"Profile request error!"},403:{title:"Access denied!"},404:{title:"User not found!"}}),cm.setMessages("Page.UserFavorites",{page_title:"Likes & Favs",title:"Likes & Favs",actions:{back:"Profile"},tabs:{photos:"Photos",people:"People",tags:"Tagged Photos"},photos:{empty:"Photos that you liked will appear here"},people:{empty:"Individuals that you starred will appear here"},tags:{empty:"If a person tags you on their photo - it will appear here"},server_error:"{#var:cm._strings.common.server_error}"}),cm.setMessages("Page.UserSettings",{page_title:"Settings",title:"Settings",actions:{back:"Profile"},400:{title:"Profile request error!"},403:{title:"Access denied!"},404:{title:"User not found!"}}),cm.setMessages("Page.UserGallery",{page_title:"Portfolio",title:"Portfolio",actions:{back:"Profile",add:'Upload <span class="media--small-up">Photo</span>'},400:{title:"Profile request error!"},403:{title:"Access denied!"},404:{title:"User not found!"}}),cm.setMessages("Page.UserDashboard",{page_title:"For You",title:"For You",actions:{profile:"View My Profile",share:"Share Profile",photo:"Upload Photo",preferences:"Edit Profile"},skeleton:{avatar:"User avatar",cover:"User cover"},greetings:{individual:{night:["Working late,","Still at it,","Late night,","Burning the midnight oil,","Up late tonight,","Night owl mode,"],morning:["Good morning,","Morning,","Ready for the day,","New day ahead,","Fresh start today,","Rise and shine,","Early start today,","A new day, a new client,"],afternoon:["Good afternoon,","Welcome back,","Hope the day is going well,","Halfway through the day,","Keep up the great work,","Hello again,","Good to see you,","How's the day treating you,"],evening:["Good evening,","Evening,","Wrapping up the day,","End of a good day,","Almost done for the day,","Winding down,","Great work today,","Another day done,"]},salon:{night:["Working late,","Still at it,","Late night,","Burning the midnight oil,","Up late tonight,","Night owl mode,"],morning:["Good morning,","Ready to open,","Another day of great work,","Morning,","Doors open soon,","A fresh day ahead,","The team is ready,","Another day, another full book,"],afternoon:["Good afternoon,","Welcome back,","Hope the day is busy,","Mid-day check-in,","Keep the momentum going,","Hello again,","How's the floor today,","Busy afternoon ahead,"],evening:["Good evening,","Wrapping up for the day,","Evening,","End of a great day,","Almost closing time,","Winding down for the evening,","Last clients of the day,","Another successful day,"]},student:{night:["Studying late,","Still at it,","Late night session,","Burning the midnight oil,","Up late tonight,","Night owl mode,"],morning:["Good morning,","Morning,","Ready to learn,","New day, new skills,","Fresh start today,","Early start today,","Another day of learning,","Class is in session,"],afternoon:["Good afternoon,","Welcome back,","Hope the day is going well,","Keep learning,","Hello again,","Good to see you,","Halfway through the day,","Keep up the great work,"],evening:["Good evening,","Evening,","Wrapping up the day,","End of a good day,","Almost done for the day,","Winding down,","Great work today,","Another day of progress,"]}},promo:{title:"What's New"},resources:{title:"Pro Resources",read:"View all"},wizard:{title:"Let's make your profile more professional"},blog:{title:"From our blog - tailored for You",read:"View all"},400:{title:"Profile request error!"},403:{title:"Access denied!"},404:{title:"User not found!"}}),cm.setMessages("Page.VerifyLicense",{page_title:"Verify License",title:"Verify a License",intro:{description:'<h5>Immediately <strong>Verify</strong> a <strong>Beauticianâs License</strong> right in the web.</h5><h5>Become a member to get full access instantly to <strong>
1Beautician List</strong> license verification tool. <br class="on-desktop-up">No payments required!</h5>',signup:"Register Now",signin:"Sign in",signin_label:"Already have an account? "},demo:{title:"Verification form"}}),cm.setMessages("Page.VerifyLicenseTechnician",{page_title:["Technician","Verify License"].join(App._config.titleSeparator),title:"Verify a License",tabs:{individual:"Individual",salon:"Salon"},descr:"<h5>Please use the form to instantly verify if the Beauty Pro is licensed.</h5>",sidebar:{title:"Please use the form below<br>to instantly verify<br>if the Beauty Pro is licensed"},results:{title:"%count% %result% found",title_result:["result","results","results"]},noresults:{title:"No results found",descr:"<h5>Unfortunately, this name does not come up in our data base as having a valid license issued by the Board of Barbering and Cosmetology.</h5><h5>Please make sure you are spelling the name exactly as is appears on the Board of Cosmetologyâs website. If you believe there has been an error or would like us to investigate further, please submit request to the right.</h5>"},notfound:{title:"Did not find what you were looking for?",descr:"<h5>Please make sure you are spelling the name exactly as is appears on the Board of Cosmetologyâs website. If you believe there has been an error or would like us to investigate further, please submit request to the right.</h5>"},offstates:{title:"We are working diligently to add all 50 states to our verification platform",descr:"<h5>Unfortunately %state% is still being tested and is not ready for the verify function.</h5><h5>Please indicate your email below so we can add you to our launch list for when this state will be ready for verification.</h5>"}}),cm.setMessages("Page.VerifyLicenseSalon",{page_title:["Salon","Verify License"].join(App._config.titleSeparator),title:"Verify a License",tabs:{individual:"Individual",salon:"Salon"},descr:"<h5>Please use the form to instantly verify if the Beauty Salon is licensed.</h5>",sidebar:{title:"Please use the form below<br>to instantly verify<br>if the Beauty Salon is licensed"},results:{title:"%count% %result% found",title_result:["result","results","results"]},noresults:{title:"No results found",descr:"<h5>Unfortunately, this name does not come up in our data base as having a valid license issued by the Board of Barbering and Cosmetology.</h5><h5>Please make sure you are spelling the name exactly as is appears on the Board of Cosmetologyâs website. If you believe there has been an error or would like us to investigate further, please submit request to the right.</h5>"},notfound:{title:"Did not find what you were looking for?",descr:"<h5>Please make sure you are spelling the name exactly as is appears on the Board of Cosmetologyâs website. If you believe there has been an error or would like us to investigate further, please submit request to the right.</h5>"},offstates:{title:"We are working diligently to add all 50 states to our verification platform",descr:"<h5>Unfortunately %state% is still being tested and is not ready for the verify function.</h5><h5>Please indicate your email below so we can add you to our launch list for when this state will be ready for verification.</h5>"}}),cm._lang="en",cm._locale="en-US",cm._config.displayTimeFormat="%g:%i %a",cm._config.displayDateFormat="%F %j, %Y",cm._config.displayDateFormatShort="%n/%j/%Y",cm._config.displayDateTimeFormat="%n/%j/%Y %g:%i %a",cm._strings.common={server_error:"An unexpected error has occurred. Please try again later.",server_error_html:'An unexpected error has occurred. <br class="media--desktop-up">Please try again later.'},cm.setMessages("App.Application",{Intl:{countries:{usa:{name:"United States",statesName:"States",states:{AL:"Alabama",AK:"Alaska",AZ:"Arizona",AR:"Arkansas",CA:"California",CO:"Colorado",CT:"Connecticut",DE:"Delaware",FL:"Florida",GA:"Georgia",HI:"Hawaii",ID:"Idaho",IL:"Illinois",IN:"Indiana",IA:"Iowa",KS:"Kansas",KY:"Kentucky",LA:"Louisiana",ME:"Maine",MD:"Maryland",MA:"Massachusetts",MI:"Michigan",MN:"Minnesota",MS:"Mississippi",MO:"Missouri",MT:"Montana",NE:"Nebraska",NV:"Nevada",NH:"New Hampshire",NJ:"New Jersey",NM:"New Mexico",NY:"New York",NC:"North Carolina",ND:"North Dakota",OH:"Ohio",OK:"Oklahoma",OR:"Oregon",PA:"Pennsylvania",PR:"Puerto Rico",RI:"Rhode Island",SC:"South Carolina",SD:"South Dakota",TN:"Tennessee",TX:"Texas",UT:"Utah",VT:"Vermont",VA:"Virginia",VI:"Virgin Isles",WA:"Washington",DC:"Washington D.C.",WV:"West Virginia",WI:"Wisconsin",WY:"Wyoming"}},canada:{name:"Canada",statesName:"Province/Territory",states:{AB:"Alberta",BC:"British Columbia",MB:"Manitoba",NB:"New Brunswick",NL:"Newfoundland and Labrador",NS:"Nova Scotia",ON:"Ontario",PE:"Prince Edward Island",QC:"Quebec",SK:"Saskatchewan",YT:"Yukon",NU:"Nunavut",NT:"Northwest Territories"}},australia:{name:"Australia"},austria:{name:"Austria"},belgium:{name:"Belgium"},france:{name:"France"},germany:{name:"Germany"},ireland:{name:"Ireland"},italy:{name:"Italy"},lithuania:{name:"Lithuania"},mexico:{name:"Mexico"},"new zealand":{name:"New Zealand"},poland:{name:"Poland"},spain:{name:"Spain"},switzerland:{name:"Switzerland"},"united kingdom":{name:"United Kingdom"},other:{name:"Other"}}}}),cm.setMessages("App.Audio",{title:"Audio Player",header:{label:"Now Playing"}
1,actions:{load:"Loading",listen:"Listen",play:"Play",pause:"Pause",seekbackward:"Back {value} {#plural:{value}|second|seconds}",seekforward:"Forward {value} {#plural:{value}|second|seconds}",scrubber:"Playback position",back:"Previous",skip:"Next"}}),cm.setMessages("App.AudioWaveSurfer",{actions:{load:"Loading",play:"Play",pause:"Pause"}}),cm.setMessages("App.CookieNoticeDialog",{title:"Use of cookies <br>and similar technologies:",description:"<p>We use our own and third-party cookies for analytical purposes.</p> <p>You can learn more about how your data is processed, as well as enable or disable specific options, in the privacy settings.</p>",actions:{accept:"Accept",decline:"Decline",settings:"Settings"}}),cm.setMessages("App.CookieNoticeSettings",{title:"Privacy Settings",description:"<p>To make our websites accessible and to remember your privacy preferences, we store certain data for technical reasons or retrieve previously saved information from your device.</p> <p>In addition, we and selected third parties may wish to store, access, and process information for the purposes described below. You can manage these settings individually here.</p>",actions:{back:"Back",save:"Save",privacyPolicy:"Privacy Policy",termsConditions:"Terms & Conditions"}}),cm.setMessages("App.CookieNoticeSettingsContainer",{title:"Privacy Settings"}),cm.setMessages("App.DashboardPromo",{actions:{hide:"Hide",hideTitle:"Hide this notification"},questionary:{name:"questionary",userParamName:"questionary-submitted"}}),cm.setMessages("App.DashboardWizard",{icon:{description:"complete"},criteria:{shortname:"Personalize profile link",avatar:"Upload main profile photo",cover:"Upload profile cover",social:"Add links to your social networks",occupation:"Add occupation",photos:"Upload 3 photos of work"},tech:{criteria:{birthday:"Add birthday",biography:"Tell about yourself",address:"Add working address"}},salon:{criteria:{birthday:"Anniversary of your opening",biography:"Tell about your salon",address:"Add salon address"}}}),cm.setMessages("App.DashboardWizardFinishDialog",{title:'<h3 class="is-large h3-sm-default">Youâre In!</h3> <p class="is-large">Thanks for completing your profile.</p>',tech:{description:'<h4>Link Your Salon. Get Found More.</h4> <p class="is-large">Invite your salon to join BeautyAList. Itâs free, takes seconds, and helps you stand out.</p> <ul class="tpl__list tpl__list--accent p is-large"> <li>You show up in more searches (by service and salon)</li> <li>You look more legitâclients trust verified teams</li> <li>You avoid license dramaâsalon gets auto alerts, not you</li> </ul> <p class="is-large margin-none"><strong>More clients. Less hassle. Do it once. Benefit every day.</strong></p>',button:"Invite Your Salon",tab:"employment"},salon:{description:'<h4>Add Your Team<br><span class="p is-large">(and Watch Your Bookings Grow)</span></h4> <p class="is-large">Invite the professionals to your location, and weâll track their license expirations so you donât have to. No admin. No chasing. No risk.</p> <h4>Why it matters</h4> <ul class="tpl__list tpl__list--accent p is-large"> <li>Just one unlicensed pro can cost you $10,000 in fines. We help protect your business automatically.</li> <li>Every pro you add boosts visibility. Clients search by specialtyâfade, gel manicure, facial, balayageâand find your business through their profile.</li> <li>All profiles are free.</li> </ul> <p class="is-large"><strong>More specialties = more search results = more bookings.</strong></p>',button:"Invite Your Team",tab:"employees"}}),cm.setMessages("App.EmbedLink",{actions:{view:"View"}}),cm.setMessages("App.Form",{title:"Form",title_create:"Add",title_update:"Edit",send:"Save",close:"Cancel",reset:"Reset",fields:{firstname:"First name",lastname:"Last name",businessname:"Business name",nickname:"Nickname",email:"Email",country:"Country",state:"State",password:"Password",repeatPassword:"Repeat Password",licenseNumber:"License number",licenseImage:"Please upload a copy of your license in order to be verified",licenseCards:"Confirm your license",licenseCategory:{label:"License category",hint:"Professionals without a valid professional license may select {options} only. Selection of any other beauty service requires a valid U.S. license.",options:{"barber / hairstylist":"Barber / Hairstylist",body:"Body",cosmetology:"Cosmetology",esthetics:"Esthetics","hair removal":"Hair Removal","make up":"Make Up",nails:"Nails",tattoo:"Tattoo","textured hair":"Textured Hair"}},specialityFilter:{label:"Speciality",hint:{individual:"Please select up to two specialities.",salon:""},field:{default:"None"}},confirmVerify:'<strong class="weight--medium">I certify that I am the holder of this license.</strong> <br>Note: Using another professional\'s credentials is a violation of our terms and results in permanent account removal.',confirmRegister:'I confirm the information provided is my own and accurate, have read the disclaimer, and accept BeautyAListâs <a href="{linkTerms}" target="_blank">Terms of Service</a> and <a href="{linkPolicy}" target="_blank">Privacy Policy</a>. I understand my data is never sold, I can opt out at any time, and providing someone elseâs information may suspend my account. I consent to electronic communications from BeautyAList and to being onboarded to its platform.'},placeholders:{select:"Please select"},hints:{file:"Allowed file formats: {formats}.",licenseSample:"Sample of valid licenses format in {state}: {samples}"}
1,errors:{email:{invalid_format:"Please enter a valid format",dot_com:"Did you mean <strong>.com</strong>?"},password:{not_match:"Passwords do not match.",too_short:"Password should be at least %count% characters.",too_long:"Password should be less than %count% characters."},url:{invalid_format:"Please enter a valid format"}},errorCodes:{not_active_brand_status:"There are issues with the API key, please contact <strong>{company}</strong> for assistance.",license_uniqueness:'<h5>This license number is already associated with an account.</h5> <ul> <li>If you previously registered using a different email address, <br class="media--small-up">please <span data-node="signin"></span> to that account.</li> <li>Need help? <span data-node="report"></span></li> </ul>',email_uniqueness:'<h5>You already have a BeautyAList account with this email.</h5> <h6>What to do next:</h6> <ul> <li>Please <span data-node="signin"></span> to connect your account.</li> <li>Forgot your password? <span data-node="reset"></span></li> <li>Need help? <span data-node="report"></span></li> </ul>'},statusCodes:{0:'<p>We werenât able to process your request. If youâre using a VPN or private browsing tool, try again with it turned off. If this keeps happening, <a href="mailto:{emailHelp}" target="_blank">contact us</a>.</p>',403:"{#msg:App.Form|statusCodes.0}"},form:{form_error:"Form is not filled correctly.",success_message:"Form successfully sent!"}}),cm.setMessages("App.FormContainer",{save:"Save",close:"Close",cancel:"Cancel",reset:"Reset"}),cm.setMessages("App.ProductBook",{actions:{retry:"Try Again"},tabs:{read:"Read",listen:"Listen"},errors:{chapters:"Unable to Load Book"},license:{description:'<p class="is-small">Licensed to <strong>{username}</strong><br>Order #{order}</p>'}}),cm.setMessages("App.ProductBookRead",{header:{title:'<h2 class="is-small h2-sm-small">The Silent Work</h2> <p>by <strong>Rodrick Samuels</strong></p>',bookAlt:"The Silent Work book cover",bar:"Your Progress",complete:"{complete}% <span>complete</span>",progress:"Chapter {chapter} of {total}"},contents:{title:"Chapters",count:"{count} {#plural:{count}|section|sections}",visited:" <span>Done</span>",current:" <span>Current</span>",next:" <span>Next</span>",marker:" "},license:{description:"{#msg:App.ProductBook|license.description}"},intro:{title:"Intro",order:0,includeInContents:"yes"},notifications:{welcomeBack:"Welcome back â you left off on Section {chapter}"},actions:{toggle:"Toggle chapters menu",read:"Start Reading",retry:"Try Again",prev:'Previous <span class="media--mobile-up">Chapter</span>',next:'Next <span class="media--mobile-up">Chapter</span>'},errors:{chapter:"Unable to Load Chapter"}}),cm.setMessages("App.ProductBookListen",{header:{title:'<h2 class="is-small h2-sm-small">The Silent Work</h2> <p>by <strong>Rodrick Samuels</strong></p>',bookAlt:"The Silent Work book cover",complete:"{complete}% <span>complete</span>",remaining:"{remaining} min <span>remaining</span>",listened:"{listened} min <span>listened</span>",total:"~{total} min <span>total</span>"},player:{metadata:{artist:"Rodrick Samuels",album:"The Silent Work"}},contents:{title:"Chapters",count:"{count} {#plural:{count}|section|sections} ~{time} min total",visited:" <span>Done</span>",time:" <span>~{time} min</span>",marker:" "},license:{description:"{#msg:App.ProductBook|license.description}"},notifications:{welcomeBack:"Welcome back â you left off on Section {chapter}"}}),cm.setMessages("App.ProductBookContainer",{title:"The Silent Work"}),cm.setMessages("App.ProductBookDisclaimerContainer",{title:"The Silent Work"}),cm.setMessages("App.ProductBookDisclaimer",{title:"The Silent Work",notification:"<h4>I confirm that this book and its audio version are for my personal use only and that I will not share or copy them.</h4>",button:"Purchase The Book"}),cm.setMessages("App.ProductBookPaymentContainer",{title:"The Silent Work"}),cm.setMessages("App.ProductBookPayment",{title:"The Silent Work",notification:'<h3>Payment successful!</h3> <p>Thank you for purchasing <br class="media--small-down"><em>The Silent Work</em>!</p>',button:"Explore The Book"}),cm.setMessages("App.Questionary",{intro:{title:'Quick questions about your work, <br class="media--tablet-up">so we can set up your account',start:"Start the Flow"},complete:{title:"Youâre all set, {username}",description:"<p>Thank you for completing our questionary!</p>",close:"Continue to the Dashboard"},error:{title:"Ops, something went wrong",message:"{#var:cm._strings.common.server_error}",retry:"Try Again"},nav:{label:"Question {index} of {count}"}}),cm.setMessages("App.UploadPolicyConfirm",{title:"Image Authenticity Policy",description:'<h5>To keep BeautyAList authentic and safe:</h5> <ul class="tpl__list tpl__list--accent p"> <li>Upload only photos you own or created yourself (no AI, stock, or altered images).</li> <li>No pornographic, violent, or hateful content.</li> <li>No copyrighted material without permission.</li> </ul> <p class="h5"><strong class="weight--medium">Violations may result in content removal or account suspension.</strong></p>',hint:'<p class="is-small">By clicking I Understand, you agree to the <a href="{policyUrl}" target="_blank" rel="noopener" data-no-route="true">BeautyAList Image Authenticity Policy</a>.</p>'}),cm.setMessages("App.UploadPolicyConfirmContainer",{title:"Image Authenticity Policy",false:"Cancel",true:"I Understand"}),cm.setMessages("App.Application",{User:{placeholder:{deleted:"Deleted User",private:"Private Profile",default:"User"},card:{address:"Working address",speciality:"Speciality",licenses:"Licenses",tech:{address:"Working address"},salon:{address:"Salon address"}},actions:{viewAddress:"View on Google Maps"},address:{empty:"Address not specified"},licence:{international:"International"},hiring:{label:"Looking for Talent",badge:"Hiring",alt:"{name} is hiring"}}}),cm.setMessages("App.UserHelper",{register:"Sign Up",login:"Sign In",logout:"Sign Out",or:"or",notifications:{all:"You have {#formatnum:{count}} {#plural:{count}|notification|notifications}",conversation:"You have {#formatnum:{count}} unread {#plural:{count}|conversation|conversations}",tag:"You have {#formatnum:{count}} unconfirmed {#plural:{count}|tag|tags}",workers:"You have {#formatnum:{count}} employment {#plural:{count}|request|requests}",lookingForTalents:"You have {#formatnum:{count}} hiring {#plural:{count}|request|requests}",professionalCredentials:"You have {#formatnum:{count}} expiring {#plural:{count}|credential|credentials}"}}),cm.setMessages("App.UserBox",{register:{title:"Sign Up",link:"Create Account",login:"Already have an account? Sign in!"},login:{title:"Sign In",link:"Sign In"},reset:{title:"Reset Password",link:"Forgot Password"},report:{title:"Contact Us",link:"Report a Problem"}}),cm.setMessages("App.UserBoxContainer",{guest:{title:"Sign In"},register:{title:"Sign Up"},login:{title:"Sign In"},reset:{title:"Reset Password"},report:{title:"Contact Us"}}),cm.setMessages("App.UserRegister",{description:"<h5>Please let us know, who you are</h5>",actions:{login:"Already have an account? Sign in!"}
1,links:{enthusiast:{title:"Iâm a Future Client",description:"Here to shop, explore, or connect with verified professionals."},individual:{title:"Iâm a Beauty Professional",description:"Verify once to unlock pro-pricing at partner brands, get discovered by new clients, and access career tools."},salon:{title:"Iâm creating a Shop / Salon Profile",description:"Verify your business to unlock team pro-pricing, track staff licenses, and recruit talent."},student:{title:"Iâm a Student",description:"Verify your enrollment to unlock student pro-pricing, build your professional foundation, and access career-start tools."},other:{title:"International",description:"For pros based outside the U.S. Verify local credentials to join our global community and access pro-pricing."},"salon-australia":{title:"I represent a Shop/Salon in Australia",description:"Signing up on behalf of a business or team."},"individual-australia":{title:"Iâm an Independent Stylist in Australia",description:"Beauty or wellness professional."},"salon-international":{title:"Iâm creating a Shop / Salon Profile",description:"Verify your business to unlock pro pricing."},"individual-international":{title:"Iâm a Beauty Professional",description:"Verify your credentials to unlock pro-only benefits."}}}),cm.setMessages("App.UserLogin",{actions:{register:'Do not have an account yet? <br class="media--desktop-down">Create a free account here!'},error_message:"Invalid login credentials",error_update:{message:"Our records show that your license has expired.",action:"Update license credentials",skip:"Proceed, renew later"}}),cm.setMessages("App.UserReset",{description:"<h5>Enter your E-mail address below:</h5>",success_message:"<h5>An e-mail has been sent to you with a link to reset your password.</h5>",return_button:"Close",error_message:"A user with this email does not exist"}),cm.setMessages("App.UserReport",{description:"Contact Us",success_message:"<h5>Thank you for your inquiry. <br>We will review and get back to you shortly.</h5>",return_button:"Close"}),cm.setMessages("App.UserDeleteConfirm",{title:"Are you sure you want to continue?",message:{content:'<h4 class="align-center">By proceeding, you will:</h4> <ul class="cm__list cm__list--accent"> <li>Lose access to the Pro-only section of the BeautyAList website.</li> <li>Stop receiving notifications about license expiration.</li> <li>No longer be able to use your BeautyAList account for seamless login on Partners Shops.</li> <li>Permanently delete your profile along with all associated photos.</li> </ul> <p class="align-center"><strong>This action cannot be undone.</strong></p>'}}),cm.setMessages("App.UserDeleteConfirmContainer",{title:"Are you sure you want to continue?",false:"Cancel",true:"Delete"}),cm.setMessages("App.UserLicenses",{title:"Licenses",actions:{create:"Add / Renew",renew:"Renew License",delete:"Delete License",addImage:"Add License Image",updateImage:"Update License Image"},notifications:{created:"License #<strong>{name}</strong> successfully added!",updated:"License #<strong>{name}</strong> successfully updated!",renewed:"License #<strong>{name}</strong> successfully renewed!",deleted:"License #<strong>{name}</strong> successfully deleted!"},delete:{description:"Do you want to delete license #<strong>{name}</strong>?"},empty:{description:"Licenses not found"}}),cm.setMessages("App.UserLicensesGridlist",{empty:"Licenses not found",fields:{licenseno:"Number",state:"State",type:"Type",expired:"Expiration date"}}),cm.setMessages("App.UserLicensesBox",{empty:"Licenses not found",fields:{image:"License Image"},actions:{image:"View License Image"}}),cm.setMessages("App.UserLicensesCreateIndividual",{verification:{title:"Verification",description:"{#msg:App.UserSignupIndividual|verification.description}",disclaimer:"{#msg:App.UserSignupIndividual|verification.disclaimer}",form:{send:"Continue Verification"}},registration:{title:"Verification",description:'<p class="is-large p-sm ">You are now approved to be a part of the BeautyAList directory.<br>Please continue verification below.</p>'}}),cm.setMessages("App.UserLicensesCreateSalon",{verification:{title:"Verification",description:"{#msg:App.UserSignupSalon|verification.description}",disclaimer:"{#msg:App.UserSignupSalon|verification.disclaimer}",form:{send:"Continue Verification"}},registration:{title:"Verification",description:'<p class="is-large p-sm ">You are now approved to be a part of the BeautyAList directory.<br>Please continue verification below.</p>'}}),cm.setMessages("App.UserLicensesCreateContainer",{title_create:"Add / Renew License",title_renew:"Renew License"}),cm.setMessages("App.UserSignup",{actions:{back:"Back to Sign Up",login:"Already have an account? Sign in!",signIn:"Sign In",resetPassword:"Reset Password",report:"Report a Problem",contact:"Contact Us",reset:"Try Again",continue:"Continue Verification",registerOther:"Verify with other credentials",skipValidation:'I do n
1ot have the business license photo <br class="media--small-down">available at the moment',skipRegistration:"My license is not listed above"},tabs:{label:"Please let us know, who you are"},verification:{title:"Verification"},verificationError:{title:"Verification",description:'<p class="is-large p-sm color--accent"><strong>We are in the process of verifying your license. <br class="media--on-desktop">Please do NOT use another email to verify your license as it will delay the verification process.</strong></p> <p class="is-large p-sm">To make sure you keep getting these emails, <br class="media--on-desktop">please add <a href="mailto:{email}" target="_blank" rel="noopener">{email}</a> to your address book or whitelist us.</p>'},validation:{title:"Business License Photo",description:'<p class="is-large p-sm">Please upload the photo of your business license below.</p>'},registration:{title:"Congratulations!",description:'<p class="is-large p-sm">You are now approved to be a part of the BeautyAList directory.<br>Please continue registration below.</p>'},registrationOther:{title:"Register with credentials",description:"<p>Provide two professional items to activate your pro-access and secure your account.</p>"},pending:{title:"Thank you for signing up!",description:'<p class="is-large p-sm">Thank you for your inquiry. <br class="media--desktop-down">We will review and get back to you shortly.</p>'},errors:{error_registration:"User registration failed.",error_verification_message:"License verification failed.",error_validation_message:"License validation failed.",error_login_message:"User successfully registered, but we ran into the problem of logging in."},return_button:"Go to Home Page"}),cm.setMessages("App.UserSignupIndividual",{tabs:{tech:{label:"I have a valid license",title:""},other:{label:"My work does not require a license",title:""}},verification:{title:"Confirm Your Pro-Status",description:'<p>Verify your license once to unlock pro-access at <strong class="weight--medium">{brand.company}</strong> and all our partner brands. Weâll secure your status so you can shop faster next time.</p>',disclaimer:""},registrationOther:{title:"Confirm Your Pro-Status"}}),cm.setMessages("App.UserSignupSalon",{tabs:{tech:{label:"I have a valid salon license",title:"For salons/spas that are licensed as a business or establishment in their state"},other:{label:"My salon is not required to be licensed",title:"For salons in states where establishment licenses are not issued"}},verification:{title:"Register as Beauty Shop/Salon",description:'<p>To join the BeautyAList directory as a shop or a salon, you must provide your <strong class="weight--medium">business name</strong>, <strong class="weight--medium">email</strong>, <strong class="weight--medium">state</strong>, and your <strong class="weight--medium">salon license number</strong> (also known as your establishment or facility license).</p>',disclaimer:'<p><strong class="weight--medium">â ï¸ Do not enter a personal professional license.</strong> <br class="media--on-desktop">This form is for licensed salons/spas only. Licensed professionals must create a separate account and link to your salon after registration.</p>'},registrationOther:{title:"Register as Beauty Shop/Salon"}}),cm.setMessages("App.UserSignupEnthusiast",{registration:{title:"Register as Future Client",description:"<p>Please tell us about yourself</p>"}}),cm.setMessages("App.UserSignupStudent",{verification:{title:"Register as Student"},validation:{title:"Register as Student",description:'<p class="is-large p-sm">Please provide additional data to verify your student status.</p>'},registrationOther:{title:"Register as Student"}}),cm.setMessages("App.UserSignupOther",{registrationOther:{title:"Register with credentials",description:"<p>Provide two professional items to activate your pro-access and secure your account.</p>"}}),cm.setMessages("App.UserSignupIndividualAustralia",{registrationOther:{title:"Register as Beauty Pro in Australia",description:"<p>To join our comprehensive beauty directory, which includes professionals with diverse qualifications, please provide your name, email, state, and license number below.</p> {#msg:App.UserSignupIndividual|verification.disclaimer}"}}),cm.setMessages("App.UserSignupSalonAustralia",{registrationOther:{title:"Register as Beauty Shop/Salon in Australia",description:"<p>To join our comprehensive beauty directory, which includes professionals with diverse qualifications, please provide your business name, email, and license number below.</p> {#msg:App.UserSignupSalon|verification.disclaimer}"}}),cm.setMessages("App.UserSignupIndividualInternational",{registrationOther:{title:"Register as Beauty Pro"}}
1),cm.setMessages("App.UserSignupSalonInternational",{registrationOther:{title:"Register as Beauty Shop/Salon"}}),cm.setMessages("App.UserSignupRenewIndividual",{actions:{back:"Back to Sign In"},verification:{title:"Beauty Pro License Renew",description:"<p>Dear <strong>{username}</strong>, unfortunately, our records show that your license has expired.</p> <p><strong>Please go through our quick verification process in order to update your license credentials.</strong></p> <p>Thank you for your commitment to the professional beauty industry!</p>",disclaimer:"{#msg:App.UserSignupIndividual|verification.disclaimer}"},registration:{title:"Verification",description:'<p class="is-large p-sm ">You are now approved to be a part of the BeautyAList directory.<br>Please continue verification below.</p>'}}),cm.setMessages("App.UserSignupRenewSalon",{actions:{back:"Back to Sign In"},verification:{title:"Beauty Shop/Salon License Renew",description:"<p>Dear <strong>{username}</strong>, unfortunately, our records show that your license has expired.</p> <p><strong>Please go through our quick verification process in order to update your license credentials.</strong></p> <p>Thank you for your commitment to the professional beauty industry!</p>",disclaimer:"{#msg:App.UserSignupSalon|verification.disclaimer}"},registration:{title:"Verification",description:'<p class="is-large p-sm ">You are now approved to be a part of the BeautyAList directory.<br>Please continue verification below.</p>'}}),cm.setMessages("App.UserSignupRenewInternational",{actions:{back:"Back to Sign In"},registrationOther:{title:"International Professional Verification",description:"<p>Dear <strong>{username}</strong>, your professional status needs to be updated.</p> <p><strong>Please complete this quick form to maintain access to your account.</strong></p> <p>Thank you for being part of the professional beauty industry!</p>"}}),cm.setMessages("Com.AbstractFormField",{required:"This field is required.",asterisk:{char:"*",title:"Required",ariaLabel:"(required)"},too_short:"Value should be at least %count% characters.",too_long:"Value should be less than %count% characters."}),cm.setMessages("Com.AbstractInput",{required:"This field is required."}),cm.setMessages("Com.InputPassword",{iconVisible:"Hide password",iconHidden:"Show password"}),cm.setMessages("Com.FileInput",{browse:"Browse",remove:"Remove",open:"Open",errors:{accept:"File type is not accepted",sizes:"File size does not meet the requirements"}}),cm.setMessages("Com.ImageInput",{preview:"Preview",errors:{dimensions:"Image dimensions do not meet the requirements"}}),cm.setMessages("App.LocationAutocomplete",{errors:{empty:"Address is not specified",not_found:"Address is wrong"}}),cm.setMessages("App.SpecialityFilter",{label:"Speciality:",default:"All",all:"All",none:"None"}),cm.setMessages("App.TooltipFilter",{label:"Filter:",default:"Default",show:"Show",hide:"Hide",asterisk:"*"}),cm.setMessages("Form.CookieNotice",{title:"Cookie Notice",send:"Save",fields:{analytics:'<p class="margin-none"><strong class="weight--medium">Analysis â Understanding usage</strong></p> <p>We collect and evaluate usage data to enhance our services, offers, and content, and to support the development of new products. This allows us to better understand how visitors interact with our websites.</p>',consent:"Your consent is voluntary and can be withdrawn at any time with effect for the future through the privacy settings."}}),cm.setMessages("Form.ForgotPassword",{title:"Forgot Password",send:"Send Recovery Email"}),cm.setMessages("Form.ForgotPasswordContainer",{title:"Forgot Password"}),cm.setMessages("Form.LicenseCheck",{title:"Verify License",send:"Secure My Pro Account",overlay:{content:"Your license is being verified.<br>Please do not refresh screen or go back."},errorCodes:{allowed_image_format:"Allowed image format: jpeg, jpg, png, pdf."}}),cm.setMessages("Form.LicenseCheckIndividual",{title:"Verify Beauty Pro License"}),cm.setMessages("Form.LicenseCheckSalon",{title:"Verify Shop/Salon License"}),cm.setMessages("Form.LicenseCheckStudent",{title:"Verify Student License",send:"Submit"}),cm.setMessages("Form.LicenseValidate",{title:"Validate License",send:"Submit",groups:{file:{title:"Upload the photo of your business license",help:"<p>Place your license on a flat surface in good light and capture all four corners.</p>",tips:{title:"How to Take a Clear Photo",content:'<ul class="tpl__list tpl__list--accent p"> <li>Place your license on a flat surface in bright, even light.</li> <li>Hold your phone steady and avoid shadows or glare.</li> <li>Capture the entire licenseâmake sure all four edges are visible.</li> <li>Ensure the text is sharp and readable.</li> <li>Remove any sleeves, covers, or objects that block the license.</li> </ul>',button:"Got It!"}}}}),cm.setMessages("Form.Login",{title:"User Login",send:"Sign In",errorCodes:{token_access_de
1nied:"User is not authenticated.",inactive_user__update_license:"User is not authenticated and has inactive license. Try to update license.",invalid_login:"Invalid login credentials."}}),cm.setMessages("Form.LoginContainer",{title:"User Login"}),cm.setMessages("Form.Nabba",{title:"NABBA",fields:{topics:{label:"Topics",options:[{text:"<h4>Barbers & barbershops</h4> <p>Free profiles and participating brand offers.</p>",value:"barbers-and-barbershops"},{text:"<h4>Students, educators & schools</h4> <p>Student verification and school benefits.",value:"students-educators-and-schools"},{text:"<h4>State boards & associations</h4> <p>License verification and opportunities to collaborate.</p>",value:"state-boards-and-associations"}]},state:{label:"State or jurisdiction",placeholder:"Choose your state or jurisdiction",data:{"national-multi-state-association":"National / multi-state association","other-jurisdiction":"Other jurisdiction"}},email:"Email",name:"Name",organization:{label:"Add your organization",placeholder:"School, business or organization"},updates:"Also send me occasional BeautyAList updates.",info:"Weâll use your details to respond to this request."},send:"Send me the information"}),cm.setMessages("Form.NabbaContainer",{title:"NABBA"}),cm.setMessages("Form.OpenId",{title:"OpenID",send:"Continue",errorCodes:{limited_access:'This account is limited to BeautyAList login only. Please contact <a href="mailto:{email}" target="_blank" rel="noopener">{email}</a>.',brand_sell_to_countries_error:'<p>Oops! <strong>{company}</strong> only offers beauty pro products to users with a valid {country} license. Thanks for your understanding!</p> <p>Explore our <a class="{shopClasses}" href="{shopUrl}" target="_blank" rel="noopener">Shop Now</a> page, where many of our brand partners offer exclusive discounts to a wide range of licensed professionals.',brand_sell_to_license_categories_error:'<p>Oops! This brand currently offers products only to users with following license types: {types}. Thanks for your understanding!</p> <p>Explore our <a class="{shopClasses}" href="{shopUrl}" target="_blank" rel="noopener">Shop Now</a> page, where many of our brand partners offer exclusive discounts to a wide range of licensed professionals.',brand_sell_to_role_error:"Oops! <strong>{company}</strong> does not sell pro-only products to students at this time. Thanks for your understanding!"}}),cm.setMessages("Form.OpenIdContainer",{title:"OpenID"}),cm.setMessages("Form.Register",{title:"Sign Up",send:"Sign Up",errorCodes:{not_valid_license_number:"Please provide valid license number.",not_valid_license_email:"Please provide valid email."}}),cm.setMessages("Form.RegisterEnthusiast",{title:"Sign Up",send:"Sign Up"}),cm.setMessages("Form.RegisterIndividual",{title:"Sign Up",send:"Sign Up",errorCodes:{not_valid_license_lastname:"Please provide valid lastname."}}),cm.setMessages("Form.RegisterSalon",{title:"Sign Up",send:"Sign Up",errorCodes:{not_valid_license_lastname:"Please provide valid business name."}}),cm.setMessages("Form.RegisterOther",{title:"Sign Up",send:"Secure My Account",groups:{file:{title:"Upload the proof of business",description:"Please submit any two items from the following options to verify your professional status:"}},tabs:{label:"Please let us know, who you are",individual:"I'm an Independent Stylist",salon:"I represent a Shop/Salon"},fields:{province:"Province/Territory",otherCountry:"Please specify Country",url:"Enter url address",presenceType:{label:"Choose one way to show your professional presence",hint:"Note: Business cards or menus must include your name or business name.",files:{"Upload a photo of your Business Card or Service Menu":"Upload a photo of your Business Card or Service Menu"},inputs:{Website:"Website",Instagram:"Instagram","Facebook Business Link":"Facebook Business Link"}},fileType:{label:"Select one official document",files:{"Your most recent paycheck stub":"Recent Paycheck Stub","Educational completion certificate":"Educational Completion Certificate","A Diploma or a Certificate of Qualification":"Diploma or Certificate of Qualification","A tear sheet or call sheet":"Tear Sheet or Call Sheet","A signed bridal contract from the past 6 months":"Signed Bridal or Service Contract","Business Invoice":"Business Invoice"},inputs:{"A link to your IMDb/TMDb profile":"IMDb/TMDb Profile Link"}}}}),cm.setMessages("Form.RegisterStudentContents",{title:"Sign Up",send:"Submit",fields:{state:{label:"Search states"},school:{label:"Search or type your school's name",hint:"Select it from the list if it appears, or continue typing to enter a new school."}}}),cm.setMessages("Form.RegisterStudent",{title:"Sign Up",send:"Submit",groups:{enrollment:{title:"Proof of enrollment",description:"Must show a start and expected graduation date."},file:{title:"Verify enrollment - choose one",description:"Upload a school ID or a recent monthly progress report."}},fields:{school:"School name",schoolWebsite:"School website",schoolId:"School ID",enrollmentForm:"Proof of enrollment form with a start and expected graduation date",monthlyProgressReport:"Monthly progress report",confirm:"I confirm that I am currently enrolled as a student and that all documents I am uploading are authentic, unaltered, and belong to me.",confirm2:"I understand that BeautyAList may verify this information with my school, and that submitting false or altered documents will result in removal from the platform."}}),cm.setMessages("Form.RegisterAustralia",{title:"Sign Up",send:"Submit",groups:{file:{title:"Upload the proof of business",description:"The ABN certificate is required. In addition, please provide either a Diploma or Certificate of Qualification, or an Educational Completion Certificate â or both."}}
1,fields:{abn:"ABN (Australian Business Number)",registration_certificate:"Copy of ABN registration certificate",qualification_diploma:"A diploma or Certificate of qualification",educational_certificate:"Educational Completion Certificate",website:"Professional Website or Social Media Link"}}),cm.setMessages("Form.RegisterTicket",{title:"Sign Up Ticket",fields:{}}),cm.setMessages("Form.Support",{title:"Send Message",send:"Send Message",fields:{name:"Your name",email:"Your email",message:"Comments / Notes"}}),cm.setMessages("Form.SupportContainer",{title:"Send Message"}),cm.setMessages("Form.UserLicense",{title:"User License",send:"Add License",fields:{}}),cm.setMessages("Form.UserLicenseImage",{title:"Update License Image",fields:{imageName:"License image"},fileForm:{field:{label:"License image",help:"Allowed file formats: jpeg, jpg, png, pdf."}}}),cm.setMessages("Form.UserLicenseImageContainer",{title:"Update License Image"}),cm.setMessages("Form.UserRenewIndividual",{title:"License Renew",send:"Renew License",fields:{}}),cm.setMessages("Form.UserRenewSalon",{title:"License Renew",send:"Renew License",fields:{}}),cm.setMessages("Form.UserToS",{title:"Terms and Conditions",send:"Agree",fields:{confirm:'By ticking this box I agree that I have read the <a href="{url}" target="_blank">disclaimer</a>. <br class="media--small-up">I consent to receive further electronic communication from BeautyAList and be onboarded to its platform.'}}),cm.setMessages("Form.UserToSContainer",{title:"Terms and Conditions",save:"Agree"}),cm.setMessages("Page.BarberSection",{page_title:"The Barber Section",header:{title:'<p class="h4 h7-sm is-uppercase color--accent">The Barber Section</h2> <h1 class="is-small">Resources for <em>Working Barbers</em> & Shop Owners</h2>',description:'<p class="is-large">Editorial resources for working barbers and shop owners â scripts, barbershop pricing math, <br class="media--tablet-up">and the real language for the moments no one trained you for.</p>'},barberCategories:{title:"Browse by section",subtitle:"Start where your week is hardest"},faq:{title:'<p class="h6 h7-sm is-uppercase color--accent">Common Questions</h2> <h2>Answers for <em>working barbers</em> & shop owners</h2>',items:[{title:"How much does booth rent cost in a U.S. barbershop?",description:'<p>The national average booth rent is around $600/month, ranging from about $250/month in smaller markets to $1,600+/month in major metros like NYC, LA, and Miami. Most standard U.S. markets fall in the $500â$1,200/month range. Verify current rates in your market â booth rent varies significantly by location, shop tier, and what\'s included in the fee.</p> <p class="is-small is-uppercase color--secondary">Sources: HaircutNow 2025 · Booksy 2026 guide</p>'},{title:"What does a no-show actually cost a barber?",description:'<p>At the national average cut price of $41, two no-shows a week adds up to roughly $4,264 in lost revenue per year. Shops that add deposits plus SMS reminders cut no-show rates by 40â60%. The math: no-shows per week à average cut price à 52 weeks = annual loss.</p> <p class="is-small is-uppercase color--secondary">Sources: BLS CPI · barberstake.com · DINGG 2025</p>'},{title:"How do barbers announce a price increase without losing clients?",description:"<p>Send a short, confident message 2â4 weeks before the change. Three formats work for most situations: a text under 160 characters, a DM or email of 2â4 sentences, or a 30-second in-person conversation at the chair. Offer long-standing clients the chance to book once more at the current rate. Do not apologize for the increase â state it, explain what stays the same, and move on.</p>"},{title:"Is booth rent or commission better for a working barber?",description:"<p>Booth rent is usually the stronger model for barbers who have been cutting for more than three years and have a steady book. Commission is typically better for newer barbers who benefit from the shop's walk-in traffic and built-in marketing. The decision comes down to the math: average weekly cuts, rent vs. commission percentage, and how much of your own book you bring.</p>"},{title:"How should a barber respond to a negative online review?",description:"<p>Respond calmly and professionally within 48 hours. Acknowledge the experience without being defensive, briefly offer to make it right offline, and keep the response under 80 words. Three templates cover most situations: Direct (confident and fact-focused), Warm (empathetic and human), and Brief (minimal, under 50 words). Never argue publicly â one professional response tells future clients more about you than the negative review ever could.</p>"}]}}),cm.setMessages("Page.Book",{page_title:"The Silent Work",intro:{presents:"<strong>BeautyAList</strong> Presents",author:"A Book by <strong>Rodrick Samuels</strong",book:'<strong class="text--title">The Silent Work</strong>'},about:{bookAlt:"The Silent Work book cover",description:'<h2 class="h2">Discover <strong>The True Impact of an Educator</strong></h2> <ul class="tpl__list tpl__list--accent p is-large"> <li>Gain insights from a world-renowned barber educator.</li> <li>Learn the lessons that shaped Rodrickâs journey in mentorship and leadership.</li> <li>Uncover the silent work that builds legacies and inspires the next generation.</li> <li>Prefer listening? A full audio version is available.</li> </ul> <p class="special">An essential guide for <em>anyone committed</em> to shaping the future.</p>'},countdown:{title:"Ready for the Grand Reveal?",description:"Join us on {date}, at {time} for the official book launch.",days:"Days",hours:"Hours",minutes:"Minutes",seconds:"Seconds"},author:{authorAlt:"Rodrick Samuels avatar",description:'<p class="h4 p-sm-large">As an educator, mentor, and lifelong student of this craft, I wrote The Silent Work to share the lessons that shaped my journey. This book is for those who show up every day to guide, inspire, and lead the next generation. Your silent work creates legaciesâand this is my tribute to you.</p> <p class="h4 p-sm-large">â <strong>Rodrick Samuels</strong></p>'},purchase:{title:"Purchase The Book",price:"Price: <strong>{price}</strong>",button:"Purchase The Book"},read:{start:"Explore The Book",continue:"Continue Reading"}}),cm.setMessages("Page.EducationVideos",{page_title:"Education Videos",title:"Education Videos Hub",description:'<p class="h5">The Education Videos page serves as your comprehensive learning hub, designed specifically for beauty professionals looking to elevate their artistry skills.</p> <p class="h5">Here you can preview our introductory video to get a taste of the high-quality instruction and techniques we offer.</p> <p class="h5">Transform your expertise and take your beauty career to the next level with our expertly curated video education collection.</p>',purchase:{title:"Ready to unlock a complete course?",description:'<p class="is-large">With just a click of a button, you can unlock access to our full library of professional tutorials covering advanced makeup techniques, color theory, client consultation, and industry best practices.</p> <p class="is-large">Each video is crafted by experienced beauty artists and provides step-by-step guid
1ance to help you refine your craft and stay current with the latest trends.</p>',price:"Price: <strong>$50.00</strong>"},notifications:{payment:"Payment successful! Thank you for purchasing the <strong>Complete Course</strong>!"}}),cm.setMessages("Page.Nabba",{page_title:"STAY CONNECTED · NABBA",header:{title:"STAY CONNECTED · NABBA",start:"Start over"},form:{title:'<h2 class="h1 h2-sm-default">Letâs stay connected.</h2> <p class="is-large p-sm">Choose what interests you. Weâll email the details.</p>',meeting:"Prefer to book a meeting?"},meeting:{title:'<h2 class="h1 h2-sm-default">A conversation with Dasha.</h2> <p class="is-large p-sm">Choose a time that works for you.</p>',action:"View available times",back:"Back"},success:{title:'<h2 class="h1 h2-sm-default">Thank you.</h2>',action:"Book a conversation with Dasha",back:"Done"},footer:{label:"BeautyAList & Licensify",questions:"Questions? ",email:"[email protected]",sendEmail:"Send email"}}),cm.setMessages("Page.OpenId",{page_title:"Sign In",title:"Sign In",header:"Sign in with {envTitle}",footer:{message:'<p class="is-small">To continue, {envTitle} will share your name, email address and license details with <em>{website}</em> website. We keep your data safe and sound, never selling it to anyone.</p>',report:"Report a Problem",privacy:"Privacy Policy",terms:"Terms & Conditions",noWebsite:"(not provided)",powered:"Powered by"},actions:{switch:"Use another account",login:"Already have an account? Sign in!",reset:"Forgot Password",register:"Create Account",registerCall:"Do not have an account yet?",registerCallAction:"Create a free account here!"},returnButton:{default:"Go to Home Page",referer:"Back to <strong>{website}</strong> website",app:"Back to BeautyAList App"},login:{title:"Already a BeautyAList Member"},confirm:{title:"Sign In",description:{default:'<h5 class="p-sm">You are logged in with the following account.<br>Please continue or use another account.</h5>',wrongRole:'<h5 class="p-sm app__color--danger">Selected account is not a Beauty Pro.<br>Please login or register as a Beauty Pro.</h5>'},welcomeNotice:"A welcome email has been sent to the address you provided. Please check your inbox and spam folder to ensure you receive it."},reset:{title:"Reset Password"},report:{title:"Contact Us"},register:{title:"Create Your Pro-Access"},errors:{refererUrl:"Referer URL is not authorized"}}),cm.setMessages("Page.ProResources",{page_title:"Pro Resources",title:"Pro Resources"});
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.