JezK
Edit File: sc-wordpress-password-edit.cjs.entry.js.map
{"file":"sc-wordpress-password-edit.entry.cjs.js","mappings":";;;;;;;;;;AAAA,MAAM,0BAA0B,GAAG,wCAAwC,CAAC;AAC5E,sCAAe,0BAA0B;;;;;;;;;;;;;kDCqBV,UAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8EA8BA,UAAE;;;;;wPAQW,UAAE,4bAIyB,UAAE,gRAG1D,UAAE;;;;;;;","names":[],"sources":["src/components/controllers/dashboard/wordpress-password-edit/sc-wordpress-password-edit.css?tag=sc-wordpress-password-edit&encapsulation=shadow","src/components/controllers/dashboard/wordpress-password-edit/sc-wordpress-password-edit.tsx"],"sourcesContent":[":host {\n display: block;\n position: relative;\n}\n","import { Component, h, Prop, State } from '@stencil/core';\nimport { __ } from '@wordpress/i18n';\n\nimport apiFetch from '../../../../functions/fetch';\nimport { WordPressUser } from '../../../../types';\n\n@Component({\n tag: 'sc-wordpress-password-edit',\n styleUrl: 'sc-wordpress-password-edit.css',\n shadow: true,\n})\nexport class ScWordPressPasswordEdit {\n @Prop() heading: string;\n @Prop() successUrl: string;\n @Prop() user: WordPressUser;\n @State() loading: boolean;\n @State() error: string;\n\n /** Ensures strong password validation. */\n @Prop({ reflect: true }) enableValidation = true;\n\n renderEmpty() {\n return <slot name=\"empty\">{__('User not found.', 'surecart')}</slot>;\n }\n\n validatePassword(password: string) {\n const regex = new RegExp('^(?=.*?[#?!@$%^&*-]).{6,}$');\n if (regex.test(password)) return true;\n return false;\n }\n\n async handleSubmit(e) {\n this.loading = true;\n this.error = '';\n try {\n const { password } = await e.target.getFormJson();\n await apiFetch({\n path: `wp/v2/users/me`,\n method: 'PATCH',\n data: {\n password,\n meta: {\n default_password_nag: false,\n },\n },\n });\n if (this.successUrl) {\n window.location.assign(this.successUrl);\n } else {\n this.loading = false;\n }\n } catch (e) {\n this.error = e?.message || __('Something went wrong', 'surecart');\n this.loading = false;\n }\n }\n\n render() {\n return (\n <sc-dashboard-module class=\"customer-details\" error={this.error}>\n <span slot=\"heading\">{this.heading || __('Update Password', 'surecart')} </span>\n <slot name=\"end\" slot=\"end\" />\n <sc-card>\n <sc-form onScFormSubmit={e => this.handleSubmit(e)}>\n <sc-password enableValidation={this.enableValidation} label={__('New Password', 'surecart')} name=\"password\" confirmation={true} required />\n <div>\n <sc-button type=\"primary\" full submit>\n {__('Update Password', 'surecart')}\n </sc-button>\n </div>\n </sc-form>\n </sc-card>\n\n {this.loading && <sc-block-ui spinner></sc-block-ui>}\n </sc-dashboard-module>\n );\n }\n}\n"],"version":3}