/*! Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one or more contributor license agreements. * Licensed under the Elastic License 2.0; you may not use this file except in compliance with the Elastic License 2.0. */ (window.security_bundle_jsonpfunction=window.security_bundle_jsonpfunction||[]).push([[10],{135:function(e,a,t){"use strict";Object.defineProperty(a,"__esModule",{value:!0});var s=t(2),r=t(136);a.default=function(e,a){var t=r.useFirstMountState();s.useEffect((function(){if(!t)return e()}),a)}},136:function(e,a,t){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a.useFirstMountState=void 0;var s=t(2);a.useFirstMountState=function(){var e=s.useRef(!0);return e.current?(e.current=!1,!0):e.current}},304:function(e,a,t){"use strict";t.r(a),t.d(a,"AccountManagementPage",(function(){return U}));var s=t(3),r=t(2),n=t.n(r),i=t(4),o=t(5),u=t(68),l=t(135),c=t.n(l),d=t(6),m=t(25);const g=["image/svg+xml","image/jpeg","image/png","image/gif"],j=64;const b=/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i;var p=t(22),x=t(15),f=t(7);const v=Object(r.createContext)(void 0),O=v.Provider;function h(){const e=Object(r.useContext)(v);if(!e)throw new Error("FormChanges context is undefined, please verify you are calling useFormChangesContext() as child of a component.");return e}var M=t(99),w=t(0);const y=e=>{const a=Object(u.useFormikContext)(),{report:t}=h(),i=a.getFieldMeta(e.for),o=i.value===i.initialValue;return Object(r.useEffect)((()=>t(o)),[o]),Object(w.jsx)(n.a.Fragment,null,e.children," ",o?void 0:Object(w.jsx)(s.EuiIcon,{type:"dot",color:"success",size:"s"}))};var F=t(100),P=t(80),k=t(69);const E=({user:e})=>{const{services:a}=Object(o.useKibana)();return Object(p.a)(e,a.application.capabilities)?Object(w.jsx)(s.EuiDescribedFormGroup,{fullWidth:!0,title:Object(w.jsx)("h2",null,Object(w.jsx)(d.FormattedMessage,{id:"xpack.security.accountManagement.userProfile.detailsGroupTitle",defaultMessage:"Details"})),description:Object(w.jsx)(d.FormattedMessage,{id:"xpack.security.accountManagement.userProfile.detailsGroupDescription",defaultMessage:"Provide some basic information about yourself."})},Object(w.jsx)(F.a,{label:Object(w.jsx)(y,{for:"user.full_name"},Object(w.jsx)(d.FormattedMessage,{id:"xpack.security.accountManagement.userProfile.fullNameLabel",defaultMessage:"Full name"})),labelAppend:Object(w.jsx)(F.b,null),fullWidth:!0},Object(w.jsx)(M.a,{name:"user.full_name",fullWidth:!0})),Object(w.jsx)(F.a,{label:Object(w.jsx)(y,{for:"user.email"},Object(w.jsx)(d.FormattedMessage,{id:"xpack.security.accountManagement.userProfile.emailLabel",defaultMessage:"Email address"})),labelAppend:Object(w.jsx)(F.b,null),fullWidth:!0},Object(w.jsx)(M.a,{type:"email",name:"user.email",fullWidth:!0}))):null},S=({formik:e,isThemeOverridden:a,isOverriddenThemeDarkMode:t})=>{if(!e.values.data)return null;let r=e.values.data.userSettings.darkMode;a&&(r=t?"dark":"light");const n=({id:t,label:n,icon:i})=>Object(w.jsx)(s.EuiKeyPadMenuItem,{name:t,label:n,checkable:"single",isSelected:r===t,isDisabled:a,onChange:()=>e.setFieldValue("data.userSettings.darkMode",t)},Object(w.jsx)(s.EuiIcon,{type:i,size:"l"}));return Object(w.jsx)(s.EuiDescribedFormGroup,{fullWidth:!0,fieldFlexItemProps:{style:{alignSelf:"flex-start"}},title:Object(w.jsx)("h2",null,Object(w.jsx)(d.FormattedMessage,{id:"xpack.security.accountManagement.userProfile.userSettingsTitle",defaultMessage:"Theme"})),description:Object(w.jsx)(d.FormattedMessage,{id:"xpack.security.accountManagement.userProfile.themeFormGroupDescription",defaultMessage:"Select the appearance of your interface."})},Object(w.jsx)(F.a,{name:"data.userSettings.darkMode",fullWidth:!0},(e=>{const a=Object(w.jsx)(s.EuiKeyPadMenu,{"aria-label":i.i18n.translate("xpack.security.accountManagement.userProfile.userSettings.themeGroupDescription",{defaultMessage:"Elastic theme"}),"data-test-subj":"themeMenu",checkable:{legend:Object(w.jsx)(y,{for:"data.userSettings.darkMode"},Object(w.jsx)(d.FormattedMessage,{id:"xpack.security.accountManagement.userProfile.userSettings.theme",defaultMessage:"Mode"}))}},n({id:"",label:i.i18n.translate("xpack.security.accountManagement.userProfile.defaultModeButton",{defaultMessage:"Space default"}),icon:"spaces"}),n({id:"light",label:i.i18n.translate("xpack.security.accountManagement.userProfile.lightModeButton",{defaultMessage:"Light"}),icon:"sun"}),n({id:"dark",label:i.i18n.translate("xpack.security.accountManagement.userProfile.darkModeButton",{defaultMessage:"Dark"}),icon:"moon"}));return e?Object(w.jsx)(s.EuiToolTip,{"data-test-subj":"themeOverrideTooltip",content:Object(w.jsx)(d.FormattedMessage,{id:"xpack.security.accountManagement.userProfile.overriddenMessage",defaultMessage:"This setting is overridden by the Kibana server and can not be changed."})},a):a})(a)))};function T({user:e,formik:a}){const{euiTheme:t}=Object(s.useEuiTheme)();if(!a.values.data)return null;const r=Object(k.c)(e);return Object(w.jsx)(s.EuiDescribedFormGroup,{fullWidth:!0,fieldFlexItemProps:{style:{alignSelf:"flex-start"}},title:Object(w.jsx)("h2",null,Object(w.jsx)(d.FormattedMessage,{id:"xpack.security.accountManagement.userProfile.avatarGroupTitle",defaultMessage:"Avatar"})),description:Object(w.jsx)(d.FormattedMessage,{id:"xpack.security.accountManagement.userProfile.avatarGroupDescription",defaultMessage:"Provide your initials or upload an image to represent yourself."})},Object(w.jsx)(s.EuiFlexGroup,{responsive:!1},Object(w.jsx)(s.EuiFlexItem,{grow:!1},"image"!==a.values.avatarType||a.values.data.avatar.imageUrl?Object(w.jsx)(m.a,{user:{username:e.username,full_name:a.values.user.full_name},avatar:{imageUrl:"image"===a.values.avatarType?a.values.data.avatar.imageUrl:void 0,initials:a.values.data.avatar.initials||"?",color:b.test(a.values.data.avatar.color)?a.values.data.avatar.color:void 0},size:"xl"}):Object(w.jsx)(m.a,{size:"xl"})),Object(w.jsx)(s.EuiFlexItem,null,Object(w.jsx)(F.a,{name:"avatarType",label:Object(w.jsx)(y,{for:"avatarType"},Object(w.jsx)(d.FormattedMessage,{id:"xpack.security.accountManagement.userProfile.avatarTypeGroupDescription",defaultMessage:"Avatar type"})),fullWidth:!0},Object(w.jsx)(s.EuiButtonGroup,{legend:i.i18n.translate("xpack.security.accountManagement.userProfile.avatarTypeGroupDescription",{defaultMessage:"Avatar type"}),buttonSize:"m",idSelected:a.values.avatarType,options:[{id:"initials",label:Object(w.jsx)(d.FormattedMessage,{id:"xpack.security.accountManagement.userProfile.initialsAvatarTypeLabel",defaultMessage:"Initials"})},{id:"image",label:Object(w.jsx)(d.FormattedMessage,{id:"xpack.security.accountManagement.userProfile.imageAvatarTypeLabel",defaultMessage:"Image"}),iconType:"image"}],onChange:e=>a.setFieldValue("avatarType",e),isFullWidth:!0})))),Object(w.jsx)(s.EuiSpacer,null),"image"===a.values.avatarType?Object(w.jsx)(F.a,{label:Object(w.jsx)(y,{for:"data.avatar.imageUrl"},Object(w.jsx)(d.FormattedMessage,{id:"xpack.security.accountManagement.userProfile.imageUrlLabel",defaultMessage:"Image"})),fullWidth:!0},Object(w.jsx)(M.a,{as:s.EuiFilePicker,name:"data.avatar.imageUrl",value:void 0,initialPromptText:a.values.data.avatar.imageUrl?Object(w.jsx)(d.FormattedMessage,{id:"xpack.security.accountManagement.userProfile.prepopulatedImageUrlPromptText",defaultMessage:"Select or drag and drop a replacement image"}):Object(w.jsx)(d.FormattedMessage,{id:"xpack.security.accountManagement.userProfile.imageUrlPromptText",defaultMessage:"Select or drag and drop an image"}),onChange:(n=e=>{a.setFieldValue("data.avatar.imageUrl",null!=e?e:"")},async e=>{if(!e||!e.length)return void n(void 0);const a=e[0];if(-1!==g.indexOf(a.type)){const e=await(t=a,new Promise(((e,a)=>{const s=new FileReader;s.onloadend=()=>e(s.result),s.onerror=a,s.readAsDataURL(t)}))),s=await function(e,a){return new Promise(((t,s)=>{const r=new Image;r.onload=()=>{if(r.width<=a&&r.height<=a)return t(e);try{const e=document.createElement("canvas"),s=e.getContext("2d");if(s){r.width>=r.height?(e.width=a,e.height=Math.floor(r.height*a/r.width)):(e.height=a,e.width=Math.floor(r.width*a/r.height)),s.drawImage(r,0,0,e.width,e.height);const n=e.toDataURL();return t(n)}}catch(e){return s(e)}return s()},r.onerror=s,r.src=e}))}(e,j);n(s)}var t}),validate:{required:i.i18n.translate("xpack.security.accountManagement.userProfile.imageUrlRequiredError",{defaultMessage:"Upload an image."})},accept:g.join(","),display:"default",fullWidth:!0})):Object(w.jsx)(s.EuiFlexGroup,{responsive:!1},Object(w.jsx)(s.EuiFlexItem,{grow:!1,style:{width:64}},Object(w.jsx)(F.a,{label:Object(w.jsx)(y,{for:"data.avatar.initials"},Object(w.jsx)(d.FormattedMessage,{id:"xpack.security.accountManagement.userProfile.initialsLabel",defaultMessage:"Initials"})),fullWidth:!0},Object(w.jsx)(M.a,{name:"data.avatar.initials",maxLength:2,validate:{required:i.i18n.translate("xpack.security.accountManagement.userProfile.initialsRequiredError",{defaultMessage:"Add initials"}),maxLength:{value:2,message:i.i18n.translate("xpack.security.accountManagement.userProfile.initialsMaxLengthError",{defaultMessage:"Enter no more than 2 characters."})}},fullWidth:!0}))),Object(w.jsx)(s.EuiFlexItem,null,Object(w.jsx)(F.a,{label:Object(w.jsx)(y,{for:"data.avatar.color"},Object(w.jsx)(d.FormattedMessage,{id:"xpack.security.accountManagement.userProfile.colorLabel",defaultMessage:"Color"})),labelAppend:r?null:Object(w.jsx)(s.EuiButtonEmpty,{onClick:()=>a.setFieldValue("data.avatar.color","#"+String(Math.floor(16777215*Math.random()).toString(16)).padStart(6,"0")),size:"xs",flush:"right",style:{height:t.base}},Object(w.jsx)(d.FormattedMessage,{id:"xpack.security.accountManagement.userProfile.randomizeButton",defaultMessage:"Randomize"})),fullWidth:!0},Object(w.jsx)(M.a,{as:s.EuiColorPicker,name:"data.avatar.color",color:a.values.data.avatar.color,validate:{required:i.i18n.translate("xpack.security.accountManagement.userProfile.colorRequiredError",{defaultMessage:"Select a color."}),pattern:{value:b,message:i.i18n.translate("xpack.security.accountManagement.userProfile.colorPatternError",{defaultMessage:"Enter a valid HEX color code."})}},onChange:e=>{a.setFieldValue("data.avatar.color",e)},fullWidth:!0})))));var n}function C({user:e,onShowPasswordForm:a}){return Object(p.b)(e)?Object(w.jsx)(s.EuiDescribedFormGroup,{fullWidth:!0,title:Object(w.jsx)("h2",null,Object(w.jsx)(d.FormattedMessage,{id:"xpack.security.accountManagement.userProfile.passwordGroupTitle",defaultMessage:"Password"})),description:Object(w.jsx)(d.FormattedMessage,{id:"xpack.security.accountManagement.userProfile.passwordGroupDescription",defaultMessage:"Protect your data with a strong password."})},Object(w.jsx)(s.EuiFormRow,{label:Object(w.jsx)(d.FormattedMessage,{id:"xpack.security.accountManagement.userProfile.passwordLabel",defaultMessage:"Password"}),fullWidth:!0},Object(w.jsx)(s.EuiButton,{onClick:a,iconType:"lock","data-test-subj":"openChangePasswordForm"},Object(w.jsx)(d.FormattedMessage,{id:"xpack.security.accountManagement.userProfile.changePasswordButton",defaultMessage:"Change password"})))):null}const _=({user:e})=>{const{euiTheme:a}=Object(s.useEuiTheme)(),[t,i]=Object(r.useState)(!1),o=()=>i((e=>!e)),u=()=>i(!1),[l]=e.roles,c=e.roles.slice(1);return Object(w.jsx)(n.a.Fragment,null,Object(w.jsx)("div",{style:{maxWidth:a.breakpoint.m/6,display:"inline-block"}},Object(w.jsx)(s.EuiBadge,{key:l,color:"hollow","data-test-subj":`role${l}`},l)),c.length?(()=>{const e=Object(w.jsx)(s.EuiButtonEmpty,{size:"xs",onClick:o,"data-test-subj":"userRolesExpand"},Object(w.jsx)(d.FormattedMessage,{id:"xpack.security.accountManagement.userProfile.rolesCountLabel",defaultMessage:"+{count} more",values:{count:c.length}}));return Object(w.jsx)(s.EuiPopover,{panelPaddingSize:"s",button:e,isOpen:t,closePopover:u,"data-test-subj":"userRolesPopover"},Object(w.jsx)(s.EuiBadgeGroup,{gutterSize:"xs","data-test-subj":"remainingRoles",style:{maxWidth:"200px"}},c.map((e=>Object(w.jsx)(s.EuiBadge,{color:"hollow",key:e},e)))))})():null)},I=({user:e,data:a})=>{const{euiTheme:t}=Object(s.useEuiTheme)(),{services:l}=Object(o.useKibana)(),g=function({user:e,data:a}){var t,s,n,l,d,g,j,b;const{services:f}=Object(o.useKibana)(),{users:v}=Object(x.d)(),{update:O,showSuccessNotification:h}=Object(m.d)({notificationSuccess:{enabled:!1}}),[M,w]=Object(r.useState)({user:{full_name:e.full_name||"",email:e.email||""},data:a?{avatar:{initials:(null===(t=a.avatar)||void 0===t?void 0:t.initials)||Object(p.g)(e),color:(null===(s=a.avatar)||void 0===s?void 0:s.color)||Object(p.f)(e),imageUrl:(null===(n=a.avatar)||void 0===n?void 0:n.imageUrl)||""},userSettings:{darkMode:(null===(l=a.userSettings)||void 0===l?void 0:l.darkMode)||""}}:void 0,avatarType:null!=a&&null!==(d=a.avatar)&&void 0!==d&&d.imageUrl?"image":"initials"}),[y,F]=Object(r.useState)(!1),P=Object(u.useFormik)({onSubmit:async a=>{var t,s;const r=[];if(Object(p.a)(e,f.application.capabilities)&&r.push(v.saveUser({username:e.username,roles:e.roles,enabled:e.enabled,full_name:a.user.full_name,email:a.user.email})),a.data&&r.push(O("image"===a.avatarType?a.data:{...a.data,avatar:{...a.data.avatar,imageUrl:null}})),0===r.length)return;try{await Promise.all(r)}catch(e){return void f.notifications.toasts.addError(e,{title:i.i18n.translate("xpack.security.accountManagement.userProfile.submitErrorTitle",{defaultMessage:"Couldn't update profile"})})}w(a);let n=!1;(null===(t=M.data)||void 0===t?void 0:t.userSettings.darkMode)!==(null===(s=a.data)||void 0===s?void 0:s.userSettings.darkMode)&&(n=!0),h({isRefreshRequired:n})},initialValues:M,enableReinitialize:!0,validateOnBlur:y,validateOnChange:y});P.submitCount>0&&!y?F(!0):0===P.submitCount&&y&&F(!1);const k=Object(r.useRef)(!(null==a||null===(g=a.avatar)||void 0===g||!g.initials)&&(null===(j=a.avatar)||void 0===j?void 0:j.initials)!==Object(p.g)(e));return c()((()=>{if(!k.current){const a=Object(p.g)({username:e.username,full_name:P.values.user.full_name});P.setFieldValue("data.avatar.initials",a)}}),[P.values.user.full_name]),c()((()=>{if(!k.current&&P.values.data){const a=Object(p.g)({username:e.username,full_name:P.values.user.full_name});k.current=P.values.data.avatar.initials!==a}}),[null===(b=P.values.data)||void 0===b?void 0:b.avatar.initials]),P}({user:e,data:a}),j=(()=>{const[e,a]=Object(r.useState)(0);return{count:e,report:e=>{if(!e)return a((e=>e+1)),()=>a((e=>e-1))}}})(),b=Object(s.useGeneratedHtmlId)(),[v,h]=Object(r.useState)(!1),M=Object(p.a)(e,l.application.capabilities),y=e.elastic_cloud_user,{isThemeOverridden:F,isOverriddenThemeDarkMode:k}={isThemeOverridden:(I=l.settings.client).isOverridden("theme:darkMode"),isOverriddenThemeDarkMode:I.get("theme:darkMode")};var I;const U=[{title:Object(w.jsx)(d.FormattedMessage,{id:"xpack.security.accountManagement.userProfile.usernameLabel",defaultMessage:"Username"}),description:e.username,helpText:Object(w.jsx)(d.FormattedMessage,{id:"xpack.security.accountManagement.userProfile.usernameHelpText",defaultMessage:"User name cannot be changed after account creation."}),testSubj:"username"}];return M||(U.push({title:Object(w.jsx)(d.FormattedMessage,{id:"xpack.security.accountManagement.userProfile.fullNameLabel",defaultMessage:"Full name"}),description:e.full_name,helpText:Object(w.jsx)(d.FormattedMessage,{id:"xpack.security.accountManagement.userProfile.fullNameHelpText",defaultMessage:"Please contact an administrator to change your full name."}),testSubj:"full_name"}),U.push({title:Object(w.jsx)(d.FormattedMessage,{id:"xpack.security.accountManagement.userProfile.emailLabel",defaultMessage:"Email address"}),description:e.email,helpText:Object(w.jsx)(d.FormattedMessage,{id:"xpack.security.accountManagement.userProfile.emailHelpText",defaultMessage:"Please contact an administrator to change your email address."}),testSubj:"email"})),U.push({title:Object(w.jsx)(d.FormattedMessage,{id:"xpack.security.accountManagement.userProfile.rolesLabel",defaultMessage:"{roles, plural, one {Role} other {Roles} }",values:{roles:e.roles.length}}),description:Object(w.jsx)(_,{user:e}),helpText:Object(w.jsx)(d.FormattedMessage,{id:"xpack.security.accountManagement.userProfile.rolesHelpText",defaultMessage:"Roles control access and permissions across the Elastic Stack."}),testSubj:"userRoles"}),Object(w.jsx)(n.a.Fragment,null,Object(w.jsx)(u.FormikProvider,{value:g},Object(w.jsx)(O,{value:j},Object(w.jsx)(f.a,{text:i.i18n.translate("xpack.security.accountManagement.userProfile.title",{defaultMessage:"Profile"})},v?Object(w.jsx)(P.a,{username:e.username,onCancel:()=>h(!1),onSuccess:()=>h(!1)}):null,Object(w.jsx)(s.EuiPageTemplate_Deprecated,{className:"eui-fullHeight",pageHeader:{pageTitle:Object(w.jsx)(d.FormattedMessage,{id:"xpack.security.accountManagement.userProfile.title",defaultMessage:"Profile"}),pageTitleProps:{id:b},rightSideItems:U.reverse().map((e=>Object(w.jsx)(s.EuiDescriptionList,{textStyle:"reverse",listItems:[{title:Object(w.jsx)(s.EuiText,{color:t.colors.darkestShade,size:"s"},Object(w.jsx)(s.EuiFlexGroup,{responsive:!1,alignItems:"center",gutterSize:"none"},Object(w.jsx)(s.EuiFlexItem,{grow:!1},e.title),Object(w.jsx)(s.EuiFlexItem,{grow:!1,style:{marginLeft:"0.33em"}},Object(w.jsx)(s.EuiIconTip,{type:"questionInCircle",content:e.helpText})))),description:Object(w.jsx)("span",{"data-test-subj":e.testSubj},e.description||Object(w.jsx)(s.EuiText,{color:t.colors.disabledText,size:"s"},Object(w.jsx)(d.FormattedMessage,{id:"xpack.security.accountManagement.userProfile.noneProvided",defaultMessage:"None provided"})))}],compressed:!0})))},bottomBar:j.count>0?Object(w.jsx)(D,null):null,bottomBarProps:{paddingSize:"m",position:"fixed"},restrictWidth:1e3},Object(w.jsx)(u.Form,{"aria-labelledby":b},Object(w.jsx)(E,{user:e}),y?null:Object(w.jsx)(T,{user:e,formik:g}),Object(w.jsx)(C,{user:e,onShowPasswordForm:()=>h(!0)}),y?null:Object(w.jsx)(S,{formik:g,isThemeOverridden:F,isOverriddenThemeDarkMode:k})))))))},D=()=>{const e=Object(u.useFormikContext)(),{count:a}=h();return Object(w.jsx)(s.EuiFlexGroup,{alignItems:"center",style:{width:"100%"},responsive:!1},Object(w.jsx)(s.EuiFlexItem,null,Object(w.jsx)(s.EuiFlexGroup,{responsive:!1,gutterSize:"xs"},Object(w.jsx)(s.EuiFlexItem,{grow:!1},Object(w.jsx)(s.EuiIcon,{type:"dot",color:"success"})),Object(w.jsx)(s.EuiFlexItem,{grow:!1},Object(w.jsx)(d.FormattedMessage,{id:"xpack.security.accountManagement.userProfile.unsavedChangesMessage",defaultMessage:"{count, plural, one {# unsaved change} other {# unsaved changes}}",values:{count:a}})))),Object(w.jsx)(s.EuiFlexItem,{grow:!1},Object(w.jsx)(s.EuiButtonEmpty,{onClick:e.handleReset,color:"ghost"},Object(w.jsx)(d.FormattedMessage,{id:"xpack.security.accountManagement.userProfile.discardChangesButton",defaultMessage:"Discard"}))),Object(w.jsx)(s.EuiFlexItem,{grow:!1},Object(w.jsx)(s.EuiButton,{onClick:e.submitForm,isLoading:e.isSubmitting,isDisabled:e.submitCount>0&&!e.isValid,color:"success",iconType:"save",fill:!0},Object(w.jsx)(d.FormattedMessage,{id:"xpack.security.accountManagement.userProfile.saveChangesButton",defaultMessage:"{isSubmitting, select, true{Saving changes…} other{Save changes}}",values:{isSubmitting:e.isSubmitting}}))))},U=()=>{var e;const{services:a}=Object(o.useKibana)(),t=Object(x.c)(),r=Object(x.e)("avatar,userSettings"),n=r.error&&t.value&&Object(p.c)(t.value)?r.error:void 0,u=t.error||n;return u?Object(w.jsx)(s.EuiEmptyPrompt,{iconType:"warning",title:Object(w.jsx)("h2",null,u.message)}):!t.value||Object(p.c)(t.value)&&!r.value?null:Object(w.jsx)(f.a,{text:i.i18n.translate("xpack.security.accountManagement.userSettingsBreadcrumbRootLabel",{defaultMessage:"User settings"}),href:a.http.basePath.prepend("/security/account")},Object(w.jsx)(I,{user:t.value,data:null===(e=r.value)||void 0===e?void 0:e.data}))}},69:function(e,a,t){"use strict";t.d(a,"c",(function(){return r})),t.d(a,"b",(function(){return n})),t.d(a,"a",(function(){return i}));var s=t(4);const r=e=>{var a,t;return null!==(a=null===(t=e.metadata)||void 0===t?void 0:t._reserved)&&void 0!==a&&a},n=e=>{var a,t;return null!==(a=null===(t=e.metadata)||void 0===t?void 0:t._deprecated)&&void 0!==a&&a},i=e=>{var a,t;const r=null!==(a=null===(t=e.metadata)||void 0===t?void 0:t._deprecated_reason)&&void 0!==a?a:"";return s.i18n.translate("xpack.security.management.users.extendedUserDeprecationNotice",{defaultMessage:"The {username} user is deprecated. {reason}",values:{username:e.username,reason:r}})}},72:function(e,a,t){"use strict";t.d(a,"a",(function(){return u}));var s=t(18),r=t(2),n=t(29),i=t.n(n),o=t(49);function u(e){const a=function({onSubmit:e,validate:a,defaultValues:t}){const[n,o]=Object(r.useState)(t),[u,c]=Object(r.useState)({}),[d,m]=Object(r.useState)({}),[g,j]=Object(r.useState)(0),[b,p]=i()((async e=>{const t=await a(e);return c(t),0===Object.keys(t).length&&j(0),t}),[a]),[x,f]=i()((async a=>{const t=await p(a);if(m(function(e,a){return Object(s.cloneDeepWith)(e,(e=>{if("object"!=typeof e&&null!==e)return true}))}(a)),j(g+1),0===Object.keys(t).length)return e(a)}),[p,e]);return{setValue:async(e,a)=>{const t=l(n,e,a);o(t),await p(t)},setTouched:async(e,a=!0)=>{m(l(d,e,a)),await p(n)},setError:(e,a)=>{c(l(u,e,a)),m(l(d,e,!0))},reset:e=>{o(e),c({}),m({}),j(0)},submit:()=>f(n),values:n,errors:u,touched:d,isValidating:b.loading,isSubmitting:x.loading,submitError:x.error,isInvalid:Object.keys(u).length>0,isSubmitted:g>0}}(e),t={onSubmit:e=>{e.preventDefault(),a.submit()},onChange:e=>{const{name:t,type:s,checked:r,value:n}=e.target;t&&a.setValue(t,"checkbox"===s?r:n)},onBlur:e=>{const{name:t}=e.target;t&&a.setTouched(e.target.name)}};return[a,t]}function l(e,a,t){return Object(s.get)(e,a)!==t?Object(o.set)(Object(s.cloneDeep)(e),a,t):e}},80:function(e,a,t){"use strict";t.d(a,"a",(function(){return x}));var s=t(13),r=t.n(s),n=t(3),i=t(2),o=t.n(i),u=t(4),l=t(6),c=t(5),d=t(48),m=t(17),g=t(72),j=t(73),b=t(26),p=t(0);const x=({username:e,defaultValues:a={current_password:"",password:"",confirm_password:""},onSuccess:t,onCancel:s})=>{const{services:i}=Object(c.useKibana)(),{value:x,loading:f}=Object(m.c)(),v=(null==x?void 0:x.username)===e,O="kibana"===e||"kibana_system"===e,[h,{onBlur:M,...w}]=Object(g.a)({onSubmit:async a=>{try{await new b.UserAPIClient(i.http).changePassword(e,a.password,a.current_password),i.notifications.toasts.addSuccess(u.i18n.translate("xpack.security.management.users.changePasswordForm.successMessage",{defaultMessage:"Password successfully changed"})),null==t||t()}catch(e){var s,r;if(403!==(null===(s=e.body)||void 0===s?void 0:s.statusCode))throw i.notifications.toasts.addDanger({title:u.i18n.translate("xpack.security.management.users.changePasswordForm.errorMessage",{defaultMessage:"Could not change password"}),text:(null===(r=e.body)||void 0===r?void 0:r.message)||e.message}),e;h.setError("current_password",u.i18n.translate("xpack.security.management.users.changePasswordForm.currentPasswordInvalidError",{defaultMessage:"Invalid password."}))}},validate:async e=>((e,a)=>{const t={};return a&&(e.current_password||(t.current_password=u.i18n.translate("xpack.security.management.users.changePasswordForm.currentPasswordRequiredError",{defaultMessage:"Enter your current password."}))),e.password?e.password.length<6?t.password=u.i18n.translate("xpack.security.management.users.changePasswordForm.passwordInvalidError",{defaultMessage:"Enter at least 6 characters."}):e.password!==e.confirm_password&&(t.confirm_password=u.i18n.translate("xpack.security.management.users.changePasswordForm.confirmPasswordInvalidError",{defaultMessage:"Passwords do not match."})):t.password=u.i18n.translate("xpack.security.management.users.changePasswordForm.passwordRequiredError",{defaultMessage:"Enter a new password."}),t})(e,v),defaultValues:a}),y=Object(j.a)([f]),F=Object(n.useGeneratedHtmlId)({prefix:"modalForm"});return Object(p.jsx)(n.EuiModal,{onClose:s},Object(p.jsx)(n.EuiModalHeader,null,Object(p.jsx)(n.EuiModalHeaderTitle,{"data-test-subj":"confirmModalTitleText"},Object(p.jsx)(l.FormattedMessage,{id:"xpack.security.management.users.changePasswordForm.title",defaultMessage:"Change password"}))),Object(p.jsx)(n.EuiModalBody,null,Object(p.jsx)(n.EuiSkeletonText,{isLoading:f},Object(p.jsx)(n.EuiForm,r()({id:F,component:"form",noValidate:!0},w,{onBlur:e=>{requestAnimationFrame((()=>M(e)))}}),O?Object(p.jsx)(o.a.Fragment,null,Object(p.jsx)(n.EuiCallOut,{title:u.i18n.translate("xpack.security.management.users.changePasswordForm.systemUserTitle",{defaultMessage:"Kibana will lose connection to Elasticsearch"}),color:"danger",iconType:"warning",style:{maxWidth:d.euiThemeVars.euiFormMaxWidth}},Object(p.jsx)("p",null,Object(p.jsx)(l.FormattedMessage,{id:"xpack.security.management.users.changePasswordForm.systemUserWarning",defaultMessage:"After changing the password for the {username} user, Kibana will be unusable.",values:{username:e}})),Object(p.jsx)("p",null,Object(p.jsx)(l.FormattedMessage,{id:"xpack.security.management.users.changePasswordForm.systemUserDescription",defaultMessage:"To regain access, update your config file with the new password and restart Kibana."}))),Object(p.jsx)(n.EuiSpacer,null)):void 0,v?Object(p.jsx)(o.a.Fragment,null,Object(p.jsx)(n.EuiFormRow,{label:u.i18n.translate("xpack.security.management.users.changePasswordForm.currentPasswordLabel",{defaultMessage:"Current password"}),error:h.errors.current_password,isInvalid:h.touched.current_password&&!!h.errors.current_password},Object(p.jsx)(n.EuiFieldPassword,{name:"current_password",type:"dual",defaultValue:h.values.current_password,isInvalid:h.touched.current_password&&!!h.errors.current_password,autoComplete:"current-password",inputRef:y,"data-test-subj":"editUserChangePasswordCurrentPasswordInput"}))):Object(p.jsx)(n.EuiFormRow,{label:u.i18n.translate("xpack.security.management.users.changePasswordForm.userLabel",{defaultMessage:"User"})},Object(p.jsx)(n.EuiFlexGroup,{alignItems:"center",gutterSize:"s",responsive:!1},Object(p.jsx)(n.EuiFlexItem,{grow:!1},Object(p.jsx)(n.EuiIcon,{type:"user"})),Object(p.jsx)(n.EuiFlexItem,null,Object(p.jsx)(n.EuiSpacer,{size:"xs"}),Object(p.jsx)(n.EuiText,null,e),Object(p.jsx)(n.EuiSpacer,{size:"xs"})))),Object(p.jsx)(n.EuiFormRow,{label:u.i18n.translate("xpack.security.management.users.changePasswordForm.passwordLabel",{defaultMessage:"New password"}),helpText:u.i18n.translate("xpack.security.management.users.changePasswordForm.passwordHelpText",{defaultMessage:"Password must be at least 6 characters."}),error:h.errors.password,isInvalid:h.touched.password&&!!h.errors.password},Object(p.jsx)(n.EuiFieldPassword,{name:"password",type:"dual",defaultValue:h.values.password,isInvalid:h.touched.password&&!!h.errors.password,autoComplete:"new-password",inputRef:v?void 0:y,"data-test-subj":"editUserChangePasswordNewPasswordInput"})),Object(p.jsx)(n.EuiFormRow,{label:u.i18n.translate("xpack.security.management.users.changePasswordForm.confirmPasswordLabel",{defaultMessage:"Confirm password"}),error:h.errors.confirm_password,isInvalid:h.touched.confirm_password&&!!h.errors.confirm_password},Object(p.jsx)(n.EuiFieldPassword,{name:"confirm_password",type:"dual",defaultValue:h.values.confirm_password,isInvalid:h.touched.confirm_password&&!!h.errors.confirm_password,autoComplete:"new-password","data-test-subj":"editUserChangePasswordConfirmPasswordInput"}))))),Object(p.jsx)(n.EuiModalFooter,null,Object(p.jsx)(n.EuiButtonEmpty,{"data-test-subj":"changePasswordFormCancelButton",isDisabled:h.isSubmitting,onClick:s},Object(p.jsx)(l.FormattedMessage,{id:"xpack.security.changePasswordForm.cancelButton",defaultMessage:"Cancel"})),Object(p.jsx)(n.EuiButton,{iconType:"lock",type:"submit",form:F,"data-test-subj":"changePasswordFormSubmitButton",isLoading:h.isSubmitting,isDisabled:f||h.isSubmitted&&h.isInvalid,color:O?"danger":void 0,fill:!0},Object(p.jsx)(l.FormattedMessage,{id:"xpack.security.changePasswordForm.confirmButton",defaultMessage:"{isSubmitting, select, true{Changing password…} other{Change password}}",values:{isSubmitting:h.isSubmitting}}))))}}}]);