wickes-css2 2.93.0 → 2.94.0-develop.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (132) hide show
  1. package/build/css/category-main.css +1 -1
  2. package/build/css/emulation.css +1 -1
  3. package/build/css/homepage-main.css +1 -1
  4. package/build/css/main.css +1 -1
  5. package/build/css/my-account-main-v2.css +1 -0
  6. package/build/css/my-account-main.css +1 -1
  7. package/build/css/pages/checkout-new.css +1 -1
  8. package/build/css/pages/checkout.css +1 -1
  9. package/build/css/pages/my-account-v2.css +1 -0
  10. package/build/css/pages/my-account.css +1 -1
  11. package/build/css/pages/page_checkout_delivery-new.css +1 -1
  12. package/build/css/pages/page_personal-details.css +1 -0
  13. package/build/css/pdp-main-before-combine.css +1 -1
  14. package/build/css/pdp-main-non-critical.css +1 -1
  15. package/build/css/pdp-main.css +1 -1
  16. package/build/css/plp-main.css +1 -1
  17. package/build/css/store-locator-main.css +1 -1
  18. package/build/img/placeholders/discount-sm-15.jpg +0 -0
  19. package/build/img/placeholders/discount-sm.png +0 -0
  20. package/build/js/account-members.min.js +1 -1
  21. package/build/js/basket.min.js +1 -1
  22. package/build/js/bundle.min.js +1 -1
  23. package/build/js/checkout.min.js +1 -1
  24. package/build/js/emulation.min.js +74 -21
  25. package/build/js/merged-checkout.min.js +1 -1
  26. package/build/js/my-account.min.js +1 -0
  27. package/build/js/page/my-account.js +51 -0
  28. package/build/js/page/personal-details.js +217 -0
  29. package/build/js/personal-details.min.js +1 -0
  30. package/build/js/project-list.min.js +1 -1
  31. package/package.json +1 -1
  32. package/src/components/account-families/actions-bar.hbs +3 -0
  33. package/src/components/aside-nav2.hbs +1 -1
  34. package/src/components/banner-news.hbs +8 -0
  35. package/src/components/date-selection.hbs +46 -59
  36. package/src/components/delivery-types.hbs +18 -38
  37. package/src/components/my-account/active-orders/consignment-info.hbs +11 -0
  38. package/src/components/my-account/active-orders/header.hbs +4 -0
  39. package/src/components/my-account/active-orders/list-orders.hbs +9 -0
  40. package/src/components/my-account/active-orders/order-details.hbs +18 -0
  41. package/src/components/my-account/active-orders/order-header.hbs +7 -0
  42. package/src/components/my-account/active-orders/order.hbs +20 -0
  43. package/src/components/my-account/active-orders/shipment-detail.hbs +13 -0
  44. package/src/components/my-account/barcode.hbs +17 -0
  45. package/src/components/my-account/clipboard-code-card.hbs +16 -0
  46. package/src/components/my-account/contact-us.hbs +23 -0
  47. package/src/components/my-account/discount.hbs +11 -0
  48. package/src/components/my-account/greetings.hbs +7 -0
  49. package/src/components/my-account/leave-modal.hbs +13 -0
  50. package/src/components/my-account/menu-items.hbs +25 -0
  51. package/src/components/my-account/mobile-nav.hbs +46 -0
  52. package/src/components/my-account/personal-details-form.hbs +24 -0
  53. package/src/components/my-account/personal-details.hbs +14 -0
  54. package/src/components/my-account/user-account-actions.hbs +18 -0
  55. package/src/components/user-information-field.hbs +4 -0
  56. package/src/components.html +1 -0
  57. package/src/data/data_calendar.json +149 -0
  58. package/src/data/data_notification-page.json +4 -0
  59. package/src/data/my-account/data_my-account.json +469 -0
  60. package/src/data/my-account/data_personal-details.json +179 -0
  61. package/src/elements/dropdown.hbs +16 -5
  62. package/src/elements/form-row.hbs +1 -1
  63. package/src/img/placeholders/discount-sm-15.jpg +0 -0
  64. package/src/img/placeholders/discount-sm.png +0 -0
  65. package/src/js/components/date-selection.js +6 -20
  66. package/src/js/components/leave-event-v2.js +0 -0
  67. package/src/js/components/leave-event.js +10 -3
  68. package/src/js/emulation/date-selection.js +0 -21
  69. package/src/js/emulation/personal-details-local.js +73 -0
  70. package/src/js/page/my-account.js +51 -0
  71. package/src/js/page/personal-details.js +217 -0
  72. package/src/layouts/my-account-v2.hbs +27 -0
  73. package/src/layouts/my-account.hbs +1 -1
  74. package/src/page_checkout_delivery-details-v2-asm.html +3 -3
  75. package/src/page_checkout_delivery-details-v2-calendar-message.html +1 -1
  76. package/src/page_checkout_delivery-details-v2-oos.html +1 -1
  77. package/src/page_checkout_delivery-details-v2-wisdom-not-available.html +2 -2
  78. package/src/page_checkout_delivery-details-v2-wisdom.html +2 -2
  79. package/src/page_checkout_delivery-details-with-loader-v2.html +1 -1
  80. package/src/page_checkout_delivery-details_guest-new.html +1 -1
  81. package/src/page_checkout_next-day-delivery-details.html +161 -0
  82. package/src/{page_checkout_delivery-details-v2.html → page_checkout_rapid-delivery-details.html} +14 -3
  83. package/src/page_discount_installer.html +7 -1
  84. package/src/page_marketing-preferences.html +7 -1
  85. package/src/page_my-account-installer.html +93 -0
  86. package/src/page_my-account-trade-pro.html +91 -0
  87. package/src/page_my-account.html +56 -59
  88. package/src/page_my-account_address-book.html +8 -2
  89. package/src/page_my-account_order-history.html +8 -3
  90. package/src/page_my-account_personal-details.html +7 -1
  91. package/src/page_personal-details-installer.html +52 -0
  92. package/src/page_personal-details.html +52 -0
  93. package/src/page_tradePro_discount.html +8 -2
  94. package/src/page_tradePro_rewards.html +7 -1
  95. package/src/partials/breadcrumbs.hbs +27 -8
  96. package/src/partials/head.hbs +5 -1
  97. package/src/partials/header.hbs +68 -49
  98. package/src/partials/main-nav.hbs +17 -9
  99. package/src/scss/components/_aside-nav2.scss +18 -0
  100. package/src/scss/components/_date-selection-add-new-styles.scss +78 -19
  101. package/src/scss/components/_date-selection.scss +30 -215
  102. package/src/scss/components/my-account/_consignment-info.scss +46 -0
  103. package/src/scss/components/my-account/_contacts.scss +116 -0
  104. package/src/scss/components/my-account/_menu.scss +215 -0
  105. package/src/scss/components/my-account/_mobile-nav.scss +130 -0
  106. package/src/scss/components/my-account/_order.scss +112 -0
  107. package/src/scss/components/my-account/_shipment.scss +92 -0
  108. package/src/scss/emulation.scss +0 -24
  109. package/src/scss/helpers/_variables.scss +3 -1
  110. package/src/scss/my-account-main-v2.scss +32 -0
  111. package/src/scss/pages/checkout-new.scss +51 -0
  112. package/src/scss/pages/my-account-v2.scss +570 -0
  113. package/src/scss/pages/my-account.scss +1 -0
  114. package/src/scss/pages/page_checkout_delivery-new.scss +2 -1
  115. package/src/scss/pages/page_paint-mixing-error.scss +1 -1
  116. package/src/scss/pages/page_personal-details.scss +249 -0
  117. package/src/scss/partials/_header.scss +30 -0
  118. package/src/scss/partials/_main-nav.scss +6 -2
  119. package/src/sitemap.html +44 -66
  120. package/src/components/calendar-time-table-v2.hbs +0 -3
  121. package/src/components/calendar-time-table.hbs +0 -3
  122. package/src/components/date-selection-v2.hbs +0 -106
  123. package/src/components/delivery-selection.hbs +0 -11
  124. package/src/components/delivery-types-v2.hbs +0 -17
  125. package/src/page_checkout_delivery-address.html +0 -70
  126. package/src/page_checkout_delivery-details-ASM.html +0 -251
  127. package/src/page_checkout_delivery-details-oos-partially.html +0 -215
  128. package/src/page_checkout_delivery-details-oos.html +0 -232
  129. package/src/page_checkout_delivery-details-with-loader.html +0 -220
  130. package/src/page_checkout_delivery-details.html +0 -221
  131. package/src/page_checkout_delivery-details_guest.html +0 -198
  132. package/src/page_tradePro_delivery-details.html +0 -243
@@ -0,0 +1 @@
1
+ !function n(c,i,r){function a(e,t){if(!i[e]){if(!c[e]){var o="function"==typeof require&&require;if(!t&&o)return o(e,!0);if(l)return l(e,!0);throw(t=new Error("Cannot find module '"+e+"'")).code="MODULE_NOT_FOUND",t}o=i[e]={exports:{}},c[e][0].call(o.exports,function(t){return a(c[e][1][t]||t)},o,o.exports,n,c,i,r)}return i[e].exports}for(var l="function"==typeof require&&require,t=0;t<r.length;t++)a(r[t]);return a}({1:[function(t,e,o){"use strict";var n=t("./utils/copy-to-clipboard"),c=window.Wick||{};c.MyAccount={el:{$myAccount:$(".my-account")},clipboardCodes:{tradeProId:{titleEl:".clipboard-code.trade-pro-id .title",subtitleEl:".clipboard-code.trade-pro-id .subtitle",btnCopy:".btn--trade-pro-id"},discountCode:{titleEl:".clipboard-code.discount-code .title",subtitleEl:".clipboard-code.discount-code .subtitle",btnCopy:".btn--discount-code"}},copyCode:function(t){var t=c.MyAccount.clipboardCodes[t],e=t.titleEl,o=t.subtitleEl,t=t.btnCopy,o=$(o).text().trim(),e=$(e).text().trim();(0,n.copyToClipboard)(o,t),c.SnackBar.show({text:"".concat(e," copied to clipboard"),type:c.SnackBar.types.SUCCESS,withCloseButton:!1,autoClose:!0,delayBeforeClose:1500})},init:function(){Object.keys(c.MyAccount.clipboardCodes).forEach(function(t){var e=c.MyAccount.clipboardCodes[t].btnCopy;$(e).on("click",function(){return c.MyAccount.copyCode(t)})})}},$(document).ready(function(){c.MyAccount.el.$myAccount.length&&c.MyAccount.init()})},{"./utils/copy-to-clipboard":2}],2:[function(t,e,o){"use strict";Object.defineProperty(o,"__esModule",{value:!0}),o.copyToClipboard=function(t,e){var o=$("<textarea>").css({position:"absolute",top:0,left:0,opacity:0});$(e).parent().append(o);e=t.replace(/(^\w|\s\w)/g,function(t){return t.toUpperCase()}).split(" ").filter(function(t){return""!==t}).join(" ");o.val(e),navigator.userAgent.match(/TradeProMobile_iOS|DIYMobile_iOS/i)?function(t){var t=t.get(0),e=t.contentEditable,o=t.readOnly,n=document.createRange(),c=window.getSelection();t.contentEditable=!0,t.readOnly=!1,n.selectNodeContents(t),c.removeAllRanges(),c.addRange(n),t.setSelectionRange(0,999999),t.contentEditable=e,t.readOnly=o}(o):navigator.userAgent.match(/ipad|ipod|iphone/i)?(o.select(),o[0].setSelectionRange(0,999999)):o.select();document.execCommand("copy"),o.remove()}},{}]},{},[1]);
@@ -0,0 +1,51 @@
1
+ import {copyToClipboard} from "./utils/copy-to-clipboard";
2
+
3
+ var Wick = window.Wick || {};
4
+
5
+ Wick.MyAccount = {
6
+ el: {
7
+ $myAccount: $('.my-account'),
8
+ },
9
+ clipboardCodes: {
10
+ tradeProId: {
11
+ titleEl: '.clipboard-code.trade-pro-id .title',
12
+ subtitleEl: '.clipboard-code.trade-pro-id .subtitle',
13
+ btnCopy: '.btn--trade-pro-id',
14
+ },
15
+ discountCode: {
16
+ titleEl: '.clipboard-code.discount-code .title',
17
+ subtitleEl: '.clipboard-code.discount-code .subtitle',
18
+ btnCopy: '.btn--discount-code',
19
+ },
20
+ },
21
+ copyCode(codeType) {
22
+ const { titleEl, subtitleEl, btnCopy } = Wick.MyAccount.clipboardCodes[codeType];
23
+ const value = $(subtitleEl).text().trim();
24
+ const title = $(titleEl).text().trim();
25
+
26
+ copyToClipboard(value, btnCopy);
27
+ Wick.SnackBar.show(
28
+ {
29
+ text: `${title} copied to clipboard`,
30
+ type: Wick.SnackBar.types.SUCCESS,
31
+ withCloseButton: false,
32
+ autoClose: true,
33
+ delayBeforeClose: 1500
34
+ }
35
+ );
36
+ },
37
+ init() {
38
+ Object.keys(Wick.MyAccount.clipboardCodes).forEach((codeType) => {
39
+ const { btnCopy } = Wick.MyAccount.clipboardCodes[codeType];
40
+ $(btnCopy).on('click', () => Wick.MyAccount.copyCode(codeType));
41
+ });
42
+ }
43
+ }
44
+
45
+ $(document).ready(function () {
46
+ if (!Wick.MyAccount.el.$myAccount.length) {
47
+ return;
48
+ }
49
+
50
+ Wick.MyAccount.init();
51
+ });
@@ -0,0 +1,217 @@
1
+ import {isValidEmail, isValidInputTextField, updateStylingError, removeErrorStyling} from "./utils/validation";
2
+ import {createEvent} from "./utils/create-event";
3
+
4
+ const Handlebars = require("hbsfy/runtime");
5
+ import userInformationField from '../../components/user-information-field.hbs';
6
+
7
+ var Wick = window.Wick || {};
8
+
9
+ Wick.PersonalDetails = {
10
+ UPDATE_PERSONAL_DETAILS_EVENT: 'updatePersonalDetails',
11
+ el: {
12
+ userInformationSection: '.user-information',
13
+ userInformationList: '.user-information__list',
14
+ userForm: '.user-form',
15
+ formRow: '.user-form .form-row',
16
+ emailInput: '#email',
17
+ firstNameInput: '#firstName',
18
+ surnameInput: '#lastName',
19
+ btnEdit: '.user-information .btn__edit',
20
+ btnCancel: '[data-action="cancel-form"]',
21
+ btnSave: '[data-action="save-form"]',
22
+ btnContinue: '[data-action="reset-details"]',
23
+ btnChangePassword: '.btn__change-password',
24
+ formInvalidClass: 'form_invalid',
25
+ notification: '.notification',
26
+ fieldError: '.form-row.form-row_validation-error',
27
+ },
28
+ initialFormState: {},
29
+ errorMessages: {
30
+ errorFirstName: 'Please enter your first name',
31
+ errorSurname: 'Please enter your surname',
32
+ errorEmail: 'Please enter you email',
33
+ },
34
+ fieldToLabelMap: {
35
+ titleCode: 'Title',
36
+ firstName: 'First name',
37
+ lastName: 'Surname',
38
+ email: 'Email',
39
+ tradeType: 'How would you describe yourself or your main trade',
40
+ },
41
+ defaultNotificationConfig: {
42
+ container: '.globalMessages .col-12',
43
+ closeBtn: true,
44
+ noScrolling: true,
45
+ },
46
+ getFieldsConfigurations: function () {
47
+ return [
48
+ {
49
+ input: Wick.PersonalDetails.el.firstNameInput,
50
+ validator: isValidInputTextField,
51
+ error: Wick.PersonalDetails.errorMessages.errorFirstName
52
+ },
53
+ {
54
+ input: Wick.PersonalDetails.el.surnameInput,
55
+ validator: isValidInputTextField,
56
+ error: Wick.PersonalDetails.errorMessages.errorSurname
57
+ },
58
+ {
59
+ input: Wick.PersonalDetails.el.emailInput,
60
+ validator: isValidEmail,
61
+ error: Wick.PersonalDetails.errorMessages.errorEmail
62
+ }
63
+ ]
64
+ },
65
+ showForm() {
66
+ Wick.PersonalDetails.validateForm();
67
+ $(Wick.PersonalDetails.el.notification).remove();
68
+ $(Wick.PersonalDetails.el.userInformationSection).addClass('d-none');
69
+ $(Wick.PersonalDetails.el.userForm).removeClass('d-none');
70
+ },
71
+ hideForm() {
72
+ $(Wick.PersonalDetails.el.userForm).addClass('d-none');
73
+ $(Wick.PersonalDetails.el.userInformationSection).removeClass('d-none');
74
+ },
75
+ validateInput: function (input, validatorFunction, errorMsg) {
76
+ const value = $(input).val();
77
+ const isValid = validatorFunction(value);
78
+ updateStylingError(input, isValid, errorMsg);
79
+
80
+ return isValid;
81
+ },
82
+ validateForm: function() {
83
+ const fields = Wick.PersonalDetails.getFieldsConfigurations();
84
+ let isValid = true;
85
+
86
+ fields.forEach(field => {
87
+ let parentElem = $(field.input).closest(Wick.PersonalDetails.el.fieldError);
88
+ if (parentElem.length) {
89
+ removeErrorStyling(parentElem);
90
+ }
91
+ const result = Wick.PersonalDetails.validateInput(field.input, field.validator, field.error);
92
+ isValid = isValid && result;
93
+ });
94
+
95
+ return isValid;
96
+ },
97
+ requestToUpdateForm() {
98
+ return new Promise((resolve, reject) => {
99
+ const payloadArray = Wick.LeaveEvent.getState(Wick.PersonalDetails.el.userForm);
100
+ const payloadObject = payloadArray.reduce((acc, { name, value }) => {
101
+ acc[name] = value;
102
+ return acc;
103
+ }, {});
104
+ const eventDetail = {resolve, reject};
105
+ const event = createEvent(Wick.PersonalDetails.UPDATE_PERSONAL_DETAILS_EVENT, payloadObject, eventDetail);
106
+ window.dispatchEvent(event);
107
+ })
108
+ .then((response) => {
109
+ Wick.Notification.show({
110
+ ...Wick.PersonalDetails.defaultNotificationConfig,
111
+ text: response.globalMessage.message,
112
+ type: 'success',
113
+ });
114
+ Wick.PersonalDetails.initialFormState = Wick.LeaveEvent.getState(Wick.PersonalDetails.el.userForm);
115
+ Wick.PersonalDetails.updateUserInformationSection(Wick.PersonalDetails.initialFormState);
116
+ Wick.PersonalDetails.updateFormFields(Wick.PersonalDetails.initialFormState);
117
+ Wick.PersonalDetails.hideForm();
118
+ Wick.LeaveEvent.removeLeaveEvent();
119
+ })
120
+ .catch((error) => {
121
+ Wick.Notification.show({
122
+ ...Wick.PersonalDetails.defaultNotificationConfig,
123
+ text: error.globalMessage.message,
124
+ type: 'error',
125
+ });
126
+ Wick.PersonalDetails.handleFieldErrors(error);
127
+ });
128
+ },
129
+ handleFieldErrors(fieldErrors) {
130
+ if (fieldErrors && fieldErrors.length) {
131
+ fieldErrors.forEach((fieldError) => {
132
+ const field = `#${fieldError.field}`;
133
+ updateStylingError(field, false, fieldError.message);
134
+ });
135
+ }
136
+ },
137
+ submitForm(event) {
138
+ event.preventDefault();
139
+ if (Wick.PersonalDetails.validateForm()) {
140
+ Wick.PersonalDetails.requestToUpdateForm();
141
+ } else {
142
+ Wick.Notification.show({
143
+ ...Wick.PersonalDetails.defaultNotificationConfig,
144
+ text: 'Please correct the errors below.',
145
+ type: 'error',
146
+ });
147
+ }
148
+ },
149
+ updateUserInformationSection(personalDetails) {
150
+ const $userInformationList = $(Wick.PersonalDetails.el.userInformationList);
151
+
152
+ if (!$userInformationList.length) return;
153
+
154
+ $userInformationList.empty();
155
+
156
+ personalDetails.forEach(({ name, value }) => {
157
+ const label = Wick.PersonalDetails.fieldToLabelMap[name] || name;
158
+
159
+ $userInformationList.append(
160
+ userInformationField({
161
+ label,
162
+ value,
163
+ })
164
+ );
165
+ });
166
+ },
167
+ updateFormFields(personalDetails) {
168
+ personalDetails.forEach(({ name, value }) => {
169
+ const field = document.querySelector(`#${name}`);
170
+ if (field) {
171
+ field.value = value || '';
172
+ field.setAttribute('value', value || '');
173
+
174
+ if (field.tagName === 'SELECT' || field.tagName === 'INPUT') {
175
+ field.value = value || '';
176
+ field.setAttribute('value', value || '');
177
+ }
178
+ }
179
+ });
180
+ },
181
+ resetFormToInitialState() {
182
+ Wick.PersonalDetails.hideForm();
183
+ $(Wick.PersonalDetails.el.notification).remove();
184
+ $(Wick.LeaveEvent.el.leavePopup).modal('hide');
185
+ Wick.PersonalDetails.updateFormFields(Wick.PersonalDetails.initialFormState);
186
+ },
187
+ changePasswordHandler(event) {
188
+ const changePasswordUrl = $(Wick.PersonalDetails.el.btnChangePassword).attr('href');
189
+ const currentState = Wick.LeaveEvent.getState(Wick.PersonalDetails.el.userForm);
190
+ const isDifferent = !_.isEqual(currentState, Wick.PersonalDetails.initialFormState);
191
+
192
+ if (isDifferent) {
193
+ event.preventDefault();
194
+ $(Wick.LeaveEvent.el.leavePopup).modal('show');
195
+ Wick.LeaveEvent.proceedBrowserLeave = true;
196
+ $(Wick.LeaveEvent.el.leavePopup).find(Wick.PersonalDetails.el.btnContinue).off('click').on('click', function () {
197
+ Wick.LeaveEvent.removeLeaveEvent();
198
+ $(Wick.LeaveEvent.el.leavePopup).modal('hide');
199
+ window.location.href = changePasswordUrl;
200
+ });
201
+ } else {
202
+ window.location.href = changePasswordUrl;
203
+ }
204
+ },
205
+ init: function () {
206
+ Wick.LeaveEvent.bindEvent(Wick.PersonalDetails.el.userForm, Wick.PersonalDetails.el.btnCancel, Wick.PersonalDetails.el.btnContinue, Wick.PersonalDetails.resetFormToInitialState);
207
+ Wick.PersonalDetails.initialFormState = Wick.LeaveEvent.getState(Wick.PersonalDetails.el.userForm)
208
+
209
+ $(Wick.PersonalDetails.el.btnEdit).on('click', Wick.PersonalDetails.showForm);
210
+ $(Wick.PersonalDetails.el.btnSave).on('click', Wick.PersonalDetails.submitForm);
211
+ $(Wick.PersonalDetails.el.btnChangePassword).on('click', Wick.PersonalDetails.changePasswordHandler);
212
+ }
213
+ }
214
+
215
+ $(document).ready(function () {
216
+ Wick.PersonalDetails.init();
217
+ });
@@ -0,0 +1 @@
1
+ !function n(o,a,i){function l(t,e){if(!a[t]){if(!o[t]){var r="function"==typeof require&&require;if(!e&&r)return r(t,!0);if(s)return s(t,!0);throw(e=new Error("Cannot find module '"+t+"'")).code="MODULE_NOT_FOUND",e}r=a[t]={exports:{}},o[t][0].call(r.exports,function(e){return l(o[t][1][e]||e)},r,r.exports,n,o,a,i)}return a[t].exports}for(var s="function"==typeof require&&require,e=0;e<i.length;e++)l(i[e]);return l}({1:[function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}function o(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}r.__esModule=!0;var a=o(e("./handlebars/base")),i=n(e("./handlebars/safe-string")),l=n(e("./handlebars/exception")),s=o(e("./handlebars/utils")),u=o(e("./handlebars/runtime")),e=n(e("./handlebars/no-conflict"));function d(){var t=new a.HandlebarsEnvironment;return s.extend(t,a),t.SafeString=i.default,t.Exception=l.default,t.Utils=s,t.escapeExpression=s.escapeExpression,t.VM=u,t.template=function(e){return u.template(e,t)},t}var c=d();c.create=d,e.default(c),c.default=c,r.default=c,t.exports=r.default},{"./handlebars/base":2,"./handlebars/exception":5,"./handlebars/no-conflict":18,"./handlebars/runtime":19,"./handlebars/safe-string":20,"./handlebars/utils":21}],2:[function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}r.__esModule=!0,r.HandlebarsEnvironment=c;var o=e("./utils"),a=n(e("./exception")),i=e("./helpers"),l=e("./decorators"),s=n(e("./logger")),u=e("./internal/proto-access"),d=(r.VERSION="4.7.8",r.COMPILER_REVISION=8,r.LAST_COMPATIBLE_COMPILER_REVISION=7,r.REVISION_CHANGES={1:"<= 1.0.rc.2",2:"== 1.0.0-rc.3",3:"== 1.0.0-rc.4",4:"== 1.x.x",5:"== 2.0.0-alpha.x",6:">= 2.0.0-beta.1",7:">= 4.0.0 <4.3.0",8:">= 4.3.0"},"[object Object]");function c(e,t,r){this.helpers=e||{},this.partials=t||{},this.decorators=r||{},i.registerDefaultHelpers(this),l.registerDefaultDecorators(this)}c.prototype={constructor:c,logger:s.default,log:s.default.log,registerHelper:function(e,t){if(o.toString.call(e)===d){if(t)throw new a.default("Arg not supported with multiple helpers");o.extend(this.helpers,e)}else this.helpers[e]=t},unregisterHelper:function(e){delete this.helpers[e]},registerPartial:function(e,t){if(o.toString.call(e)===d)o.extend(this.partials,e);else{if(void 0===t)throw new a.default('Attempting to register a partial called "'+e+'" as undefined');this.partials[e]=t}},unregisterPartial:function(e){delete this.partials[e]},registerDecorator:function(e,t){if(o.toString.call(e)===d){if(t)throw new a.default("Arg not supported with multiple decorators");o.extend(this.decorators,e)}else this.decorators[e]=t},unregisterDecorator:function(e){delete this.decorators[e]},resetLoggedPropertyAccesses:function(){u.resetLoggedProperties()}};e=s.default.log;r.log=e,r.createFrame=o.createFrame,r.logger=s.default},{"./decorators":3,"./exception":5,"./helpers":6,"./internal/proto-access":15,"./logger":17,"./utils":21}],3:[function(e,t,r){"use strict";r.__esModule=!0,r.registerDefaultDecorators=function(e){n.default(e)};var r=e("./decorators/inline"),n=(e=r)&&e.__esModule?e:{default:e}},{"./decorators/inline":4}],4:[function(e,t,r){"use strict";r.__esModule=!0;var i=e("../utils");r.default=function(e){e.registerDecorator("inline",function(n,o,a,e){var t=n;return o.partials||(o.partials={},t=function(e,t){var r=a.partials,e=(a.partials=i.extend({},r,o.partials),n(e,t));return a.partials=r,e}),o.partials[e.args[0]]=e.fn,t})},t.exports=r.default},{"../utils":21}],5:[function(e,t,r){"use strict";r.__esModule=!0;var s=["description","fileName","lineNumber","endLineNumber","message","name","number","stack"];function u(e,t){for(var t=t&&t.loc,r=void 0,n=void 0,o=void 0,a=void 0,i=(t&&(r=t.start.line,n=t.end.line,o=t.start.column,a=t.end.column,e+=" - "+r+":"+o),Error.prototype.constructor.call(this,e)),l=0;l<s.length;l++)this[s[l]]=i[s[l]];Error.captureStackTrace&&Error.captureStackTrace(this,u);try{t&&(this.lineNumber=r,this.endLineNumber=n,Object.defineProperty?(Object.defineProperty(this,"column",{value:o,enumerable:!0}),Object.defineProperty(this,"endColumn",{value:a,enumerable:!0})):(this.column=o,this.endColumn=a))}catch(e){}}u.prototype=new Error,r.default=u,t.exports=r.default},{}],6:[function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}r.__esModule=!0,r.registerDefaultHelpers=function(e){o.default(e),a.default(e),i.default(e),l.default(e),s.default(e),u.default(e),d.default(e)},r.moveHelperToHooks=function(e,t,r){e.helpers[t]&&(e.hooks[t]=e.helpers[t],r||delete e.helpers[t])};var o=n(e("./helpers/block-helper-missing")),a=n(e("./helpers/each")),i=n(e("./helpers/helper-missing")),l=n(e("./helpers/if")),s=n(e("./helpers/log")),u=n(e("./helpers/lookup")),d=n(e("./helpers/with"))},{"./helpers/block-helper-missing":7,"./helpers/each":8,"./helpers/helper-missing":9,"./helpers/if":10,"./helpers/log":11,"./helpers/lookup":12,"./helpers/with":13}],7:[function(e,t,r){"use strict";r.__esModule=!0;var a=e("../utils");r.default=function(o){o.registerHelper("blockHelperMissing",function(e,t){var r=t.inverse,n=t.fn;return!0===e?n(this):!1===e||null==e?r(this):a.isArray(e)?0<e.length?(t.ids&&(t.ids=[t.name]),o.helpers.each(e,t)):r(this):(t.data&&t.ids&&((r=a.createFrame(t.data)).contextPath=a.appendContextPath(t.data.contextPath,t.name),t={data:r}),n(e,t))})},t.exports=r.default},{"../utils":21}],8:[function(e,t,r){"use strict";r.__esModule=!0;var h=e("../utils"),e=e("../exception"),m=(e=e)&&e.__esModule?e:{default:e};r.default=function(e){e.registerHelper("each",function(n,e){if(!e)throw new m.default("Must pass iterator to #each");var t,o=e.fn,r=e.inverse,a=0,i="",l=void 0,s=void 0;function u(e,t,r){l&&(l.key=e,l.index=t,l.first=0===t,l.last=!!r,s)&&(l.contextPath=s+e),i+=o(n[e],{data:l,blockParams:h.blockParams([n[e],e],[s+e,null])})}if(e.data&&e.ids&&(s=h.appendContextPath(e.data.contextPath,e.ids[0])+"."),h.isFunction(n)&&(n=n.call(this)),e.data&&(l=h.createFrame(e.data)),n&&"object"==typeof n)if(h.isArray(n))for(var d=n.length;a<d;a++)a in n&&u(a,a,a===n.length-1);else if("function"==typeof Symbol&&n[Symbol.iterator]){for(var c=[],f=n[Symbol.iterator](),p=f.next();!p.done;p=f.next())c.push(p.value);for(d=(n=c).length;a<d;a++)u(a,a,a===n.length-1)}else t=void 0,Object.keys(n).forEach(function(e){void 0!==t&&u(t,a-1),t=e,a++}),void 0!==t&&u(t,a-1,!0);return i=0===a?r(this):i})},t.exports=r.default},{"../exception":5,"../utils":21}],9:[function(e,t,r){"use strict";r.__esModule=!0;var e=e("../exception"),n=(e=e)&&e.__esModule?e:{default:e};r.default=function(e){e.registerHelper("helperMissing",function(){if(1!==arguments.length)throw new n.default('Missing helper: "'+arguments[arguments.length-1].name+'"')})},t.exports=r.default},{"../exception":5}],10:[function(e,t,r){"use strict";r.__esModule=!0;var n=e("../utils"),e=e("../exception"),o=(e=e)&&e.__esModule?e:{default:e};r.default=function(r){r.registerHelper("if",function(e,t){if(2!=arguments.length)throw new o.default("#if requires exactly one argument");return n.isFunction(e)&&(e=e.call(this)),!t.hash.includeZero&&!e||n.isEmpty(e)?t.inverse(this):t.fn(this)}),r.registerHelper("unless",function(e,t){if(2!=arguments.length)throw new o.default("#unless requires exactly one argument");return r.helpers.if.call(this,e,{fn:t.inverse,inverse:t.fn,hash:t.hash})})},t.exports=r.default},{"../exception":5,"../utils":21}],11:[function(e,t,r){"use strict";r.__esModule=!0,r.default=function(o){o.registerHelper("log",function(){for(var e=[void 0],t=arguments[arguments.length-1],r=0;r<arguments.length-1;r++)e.push(arguments[r]);var n=1;null!=t.hash.level?n=t.hash.level:t.data&&null!=t.data.level&&(n=t.data.level),e[0]=n,o.log.apply(o,e)})},t.exports=r.default},{}],12:[function(e,t,r){"use strict";r.__esModule=!0,r.default=function(e){e.registerHelper("lookup",function(e,t,r){return e&&r.lookupProperty(e,t)})},t.exports=r.default},{}],13:[function(e,t,r){"use strict";r.__esModule=!0;var o=e("../utils"),e=e("../exception"),a=(e=e)&&e.__esModule?e:{default:e};r.default=function(e){e.registerHelper("with",function(e,t){if(2!=arguments.length)throw new a.default("#with requires exactly one argument");o.isFunction(e)&&(e=e.call(this));var r,n=t.fn;return o.isEmpty(e)?t.inverse(this):(r=t.data,t.data&&t.ids&&((r=o.createFrame(t.data)).contextPath=o.appendContextPath(t.data.contextPath,t.ids[0])),n(e,{data:r,blockParams:o.blockParams([e],[r&&r.contextPath])}))})},t.exports=r.default},{"../exception":5,"../utils":21}],14:[function(e,t,r){"use strict";r.__esModule=!0,r.createNewLookupObject=function(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return n.extend.apply(void 0,[Object.create(null)].concat(t))};var n=e("../utils")},{"../utils":21}],15:[function(e,t,r){"use strict";r.__esModule=!0,r.createProtoAccessControl=function(e){var t=Object.create(null),r=(t.constructor=!1,t.__defineGetter__=!1,t.__defineSetter__=!1,t.__lookupGetter__=!1,Object.create(null));return r.__proto__=!1,{properties:{whitelist:n.createNewLookupObject(r,e.allowedProtoProperties),defaultValue:e.allowProtoPropertiesByDefault},methods:{whitelist:n.createNewLookupObject(t,e.allowedProtoMethods),defaultValue:e.allowProtoMethodsByDefault}}},r.resultIsAllowed=function(e,t,r){return i("function"==typeof e?t.methods:t.properties,r)},r.resetLoggedProperties=function(){Object.keys(a).forEach(function(e){delete a[e]})};var n=e("./create-new-lookup-object"),r=e("../logger"),o=(e=r)&&e.__esModule?e:{default:e},a=Object.create(null);function i(e,t){return void 0!==e.whitelist[t]?!0===e.whitelist[t]:void 0!==e.defaultValue?e.defaultValue:(!0!==a[e=t]&&(a[e]=!0,o.default.log("error",'Handlebars: Access has been denied to resolve the property "'+e+'" because it is not an "own property" of its parent.\nYou can add a runtime option to disable the check or this warning:\nSee https://handlebarsjs.com/api-reference/runtime-options.html#options-to-control-prototype-access for details')),!1)}},{"../logger":17,"./create-new-lookup-object":14}],16:[function(e,t,r){"use strict";r.__esModule=!0,r.wrapHelper=function(t,r){if("function"!=typeof t)return t;return function(){var e=arguments[arguments.length-1];return arguments[arguments.length-1]=r(e),t.apply(this,arguments)}}},{}],17:[function(e,t,r){"use strict";r.__esModule=!0;var n=e("./utils"),o={methodMap:["debug","info","warn","error"],level:"info",lookupLevel:function(e){var t;return e="string"==typeof e?0<=(t=n.indexOf(o.methodMap,e.toLowerCase()))?t:parseInt(e,10):e},log:function(e){if(e=o.lookupLevel(e),"undefined"!=typeof console&&o.lookupLevel(o.level)<=e){e=o.methodMap[e];console[e]||(e="log");for(var t=arguments.length,r=Array(1<t?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];console[e].apply(console,r)}}};r.default=o,t.exports=r.default},{"./utils":21}],18:[function(e,t,r){"use strict";r.__esModule=!0,r.default=function(e){"object"!=typeof globalThis&&(Object.prototype.__defineGetter__("__magic__",function(){return this}),__magic__.globalThis=__magic__,delete Object.prototype.__magic__);var t=globalThis.Handlebars;e.noConflict=function(){return globalThis.Handlebars===e&&(globalThis.Handlebars=t),e}},t.exports=r.default},{}],19:[function(e,t,r){"use strict";r.__esModule=!0,r.checkRevision=function(e){var t=e&&e[0]||1,r=f.COMPILER_REVISION;if(!(t>=f.LAST_COMPATIBLE_COMPILER_REVISION&&t<=f.COMPILER_REVISION))throw t<f.LAST_COMPATIBLE_COMPILER_REVISION?(r=f.REVISION_CHANGES[r],t=f.REVISION_CHANGES[t],new c.default("Template was precompiled with an older version of Handlebars than the current runtime. Please update your precompiler to a newer version ("+r+") or downgrade your runtime to an older version ("+t+").")):new c.default("Template was precompiled with a newer version of Handlebars than the current runtime. Please update your runtime to a newer version ("+e[1]+").")},r.template=function(s,u){if(!u)throw new c.default("No environment passed to template");if(!s||!s.main)throw new c.default("Unknown template object: "+typeof s);s.main.decorator=s.main_d,u.VM.checkRevision(s.compiler);var r=s.compiler&&7===s.compiler[0];var i={strict:function(e,t,r){if(e&&t in e)return i.lookupProperty(e,t);throw new c.default('"'+t+'" not defined in '+e,{loc:r})},lookupProperty:function(e,t){var r=e[t];return null==r||Object.prototype.hasOwnProperty.call(e,t)||h.resultIsAllowed(r,i.protoAccessControl,t)?r:void 0},lookup:function(e,t){for(var r=e.length,n=0;n<r;n++)if(null!=(e[n]&&i.lookupProperty(e[n],t)))return e[n][t]},lambda:function(e,t){return"function"==typeof e?e.call(t):e},escapeExpression:d.escapeExpression,invokePartial:function(e,t,r){r.hash&&(t=d.extend({},t,r.hash),r.ids)&&(r.ids[0]=!0),e=u.VM.resolvePartial.call(this,e,t,r);var n=d.extend({},r,{hooks:this.hooks,protoAccessControl:this.protoAccessControl}),o=u.VM.invokePartial.call(this,e,t,n);if(null==o&&u.compile&&(r.partials[r.name]=u.compile(e,s.compilerOptions,u),o=r.partials[r.name](t,n)),null==o)throw new c.default("The partial "+r.name+" could not be compiled when running in runtime-only mode");if(r.indent){for(var a=o.split("\n"),i=0,l=a.length;i<l&&(a[i]||i+1!==l);i++)a[i]=r.indent+a[i];o=a.join("\n")}return o},fn:function(e){var t=s[e];return t.decorator=s[e+"_d"],t},programs:[],program:function(e,t,r,n,o){var a=this.programs[e],i=this.fn(e);return a=t||o||n||r?m(this,e,i,t,r,n,o):a||(this.programs[e]=m(this,e,i))},data:function(e,t){for(;e&&t--;)e=e._parent;return e},mergeIfNeeded:function(e,t){var r=e||t;return r=e&&t&&e!==t?d.extend({},t,e):r},nullContext:Object.seal({}),noop:u.VM.noop,compilerInfo:s.compiler};function l(e){var t=arguments.length<=1||void 0===arguments[1]?{}:arguments[1],r=t.data,n=(l._setup(t),!t.partial&&s.useData&&(r=function(e,t){t&&"root"in t||((t=t?f.createFrame(t):{}).root=e);return t}(e,r)),void 0),o=s.useBlockParams?[]:void 0;function a(e){return""+s.main(i,e,i.helpers,i.partials,r,o,n)}return s.useDepths&&(n=t.depths?e!=t.depths[0]?[e].concat(t.depths):t.depths:[e]),(a=v(s.main,a,i,t.depths||[],r,o))(e,t)}return l.isTop=!0,l._setup=function(e){var t,n,o;e.partial?(i.protoAccessControl=e.protoAccessControl,i.helpers=e.helpers,i.partials=e.partials,i.decorators=e.decorators,i.hooks=e.hooks):(t=d.extend({},u.helpers,e.helpers),n=t,o=i,Object.keys(n).forEach(function(e){var t,r=n[e];n[e]=(t=o.lookupProperty,p.wrapHelper(r,function(e){return d.extend({lookupProperty:t},e)}))}),i.helpers=t,s.usePartial&&(i.partials=i.mergeIfNeeded(e.partials,u.partials)),(s.usePartial||s.useDecorators)&&(i.decorators=d.extend({},u.decorators,e.decorators)),i.hooks={},i.protoAccessControl=h.createProtoAccessControl(e),t=e.allowCallsToHelperMissing||r,a.moveHelperToHooks(i,"helperMissing",t),a.moveHelperToHooks(i,"blockHelperMissing",t))},l._child=function(e,t,r,n){if(s.useBlockParams&&!r)throw new c.default("must pass block params");if(s.useDepths&&!n)throw new c.default("must pass parent depths");return m(i,e,s[e],t,0,r,n)},l},r.wrapProgram=m,r.resolvePartial=function(e,t,r){e?e.call||r.name||(r.name=e,e=r.partials[e]):e="@partial-block"===r.name?r.data["partial-block"]:r.partials[r.name];return e},r.invokePartial=function(e,t,n){var o=n.data&&n.data["partial-block"];n.partial=!0,n.ids&&(n.data.contextPath=n.ids[0]||n.data.contextPath);var a=void 0;n.fn&&n.fn!==i&&!function(){n.data=f.createFrame(n.data);var r=n.fn;a=n.data["partial-block"]=function(e){var t=arguments.length<=1||void 0===arguments[1]?{}:arguments[1];return t.data=f.createFrame(t.data),t.data["partial-block"]=o,r(e,t)},r.partials&&(n.partials=d.extend({},n.partials,r.partials))}();void 0===e&&a&&(e=a);{if(void 0===e)throw new c.default("The partial "+n.name+" could not be found");if(e instanceof Function)return e(t,n)}},r.noop=i;var d=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(e("./utils")),r=e("./exception"),c=(r=r)&&r.__esModule?r:{default:r},f=e("./base"),a=e("./helpers"),p=e("./internal/wrapHelper"),h=e("./internal/proto-access");function m(n,e,o,a,t,i,l){function r(e){var t=arguments.length<=1||void 0===arguments[1]?{}:arguments[1],r=l;return!l||e==l[0]||e===n.nullContext&&null===l[0]||(r=[e].concat(l)),o(n,e,n.helpers,n.partials,t.data||a,i&&[t.blockParams].concat(i),r)}return(r=v(o,r,n,l,a,i)).program=e,r.depth=l?l.length:0,r.blockParams=t||0,r}function i(){return""}function v(e,t,r,n,o,a){return e.decorator&&(t=e.decorator(t,e={},r,n&&n[0],o,a,n),d.extend(t,e)),t}},{"./base":2,"./exception":5,"./helpers":6,"./internal/proto-access":15,"./internal/wrapHelper":16,"./utils":21}],20:[function(e,t,r){"use strict";function n(e){this.string=e}r.__esModule=!0,n.prototype.toString=n.prototype.toHTML=function(){return""+this.string},r.default=n,t.exports=r.default},{}],21:[function(e,t,r){"use strict";r.__esModule=!0,r.extend=l,r.indexOf=function(e,t){for(var r=0,n=e.length;r<n;r++)if(e[r]===t)return r;return-1},r.escapeExpression=function(e){if("string"!=typeof e){if(e&&e.toHTML)return e.toHTML();if(null==e)return"";if(!e)return e+"";e=""+e}return a.test(e)?e.replace(o,i):e},r.isEmpty=function(e){return!e&&0!==e||!(!d(e)||0!==e.length)},r.createFrame=function(e){var t=l({},e);return t._parent=e,t},r.blockParams=function(e,t){return e.path=t,e},r.appendContextPath=function(e,t){return(e?e+".":"")+t};var n={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","`":"&#x60;","=":"&#x3D;"},o=/[&<>"'`=]/g,a=/[&<>"'`=]/;function i(e){return n[e]}function l(e){for(var t=1;t<arguments.length;t++)for(var r in arguments[t])Object.prototype.hasOwnProperty.call(arguments[t],r)&&(e[r]=arguments[t][r]);return e}var s=Object.prototype.toString,u=(r.toString=s,function(e){return"function"==typeof e}),d=(u(/x/)&&(r.isFunction=u=function(e){return"function"==typeof e&&"[object Function]"===s.call(e)}),r.isFunction=u,Array.isArray||function(e){return!(!e||"object"!=typeof e)&&"[object Array]"===s.call(e)});r.isArray=d},{}],22:[function(e,t,r){t.exports=e("./dist/cjs/handlebars.runtime").default},{"./dist/cjs/handlebars.runtime":1}],23:[function(e,t,r){t.exports=e("handlebars/runtime").default},{"handlebars/runtime":22}],24:[function(e,t,r){e=e("hbsfy/runtime");t.exports=e.template({compiler:[8,">= 4.3.0"],main:function(e,t,r,n,o){var a,i=null!=t?t:e.nullContext||{},l=e.hooks.helperMissing,s="function",u=e.escapeExpression,e=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<li class="user-information__item">\n <label class="user-information__label">'+u(typeof(a=null!=(a=e(r,"label")||(null!=t?e(t,"label"):t))?a:l)==s?a.call(i,{name:"label",hash:{},data:o,loc:{start:{line:2,column:41},end:{line:2,column:50}}}):a)+'</label>\n <p class="user-information__value">'+u(typeof(a=null!=(a=e(r,"value")||(null!=t?e(t,"value"):t))?a:l)==s?a.call(i,{name:"value",hash:{},data:o,loc:{start:{line:3,column:37},end:{line:3,column:46}}}):a)+"</p>\n</li>\n"},useData:!0})},{"hbsfy/runtime":23}],25:[function(e,t,r){"use strict";var n,o=e("./utils/validation"),a=e("./utils/create-event"),i=(n=e("../../components/user-information-field.hbs"))&&n.__esModule?n:{default:n};function l(e){return(l="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)}function s(t,e){var r,n=Object.keys(t);return Object.getOwnPropertySymbols&&(r=Object.getOwnPropertySymbols(t),e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,r)),n}function u(n){for(var e=1;e<arguments.length;e++){var o=null!=arguments[e]?arguments[e]:{};e%2?s(Object(o),!0).forEach(function(e){var t,r;t=n,r=o[e=e],(e=function(e){e=function(e,t){if("object"!==l(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0===r)return("string"===t?String:Number)(e);r=r.call(e,t||"default");if("object"!==l(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}(e,"string");return"symbol"===l(e)?e:String(e)}(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(o)):s(Object(o)).forEach(function(e){Object.defineProperty(n,e,Object.getOwnPropertyDescriptor(o,e))})}return n}e("hbsfy/runtime");var d=window.Wick||{};d.PersonalDetails={UPDATE_PERSONAL_DETAILS_EVENT:"updatePersonalDetails",el:{userInformationSection:".user-information",userInformationList:".user-information__list",userForm:".user-form",formRow:".user-form .form-row",emailInput:"#email",firstNameInput:"#firstName",surnameInput:"#lastName",btnEdit:".user-information .btn__edit",btnCancel:'[data-action="cancel-form"]',btnSave:'[data-action="save-form"]',btnContinue:'[data-action="reset-details"]',btnChangePassword:".btn__change-password",formInvalidClass:"form_invalid",notification:".notification",fieldError:".form-row.form-row_validation-error"},initialFormState:{},errorMessages:{errorFirstName:"Please enter your first name",errorSurname:"Please enter your surname",errorEmail:"Please enter you email"},fieldToLabelMap:{titleCode:"Title",firstName:"First name",lastName:"Surname",email:"Email",tradeType:"How would you describe yourself or your main trade"},defaultNotificationConfig:{container:".globalMessages .col-12",closeBtn:!0,noScrolling:!0},getFieldsConfigurations:function(){return[{input:d.PersonalDetails.el.firstNameInput,validator:o.isValidInputTextField,error:d.PersonalDetails.errorMessages.errorFirstName},{input:d.PersonalDetails.el.surnameInput,validator:o.isValidInputTextField,error:d.PersonalDetails.errorMessages.errorSurname},{input:d.PersonalDetails.el.emailInput,validator:o.isValidEmail,error:d.PersonalDetails.errorMessages.errorEmail}]},showForm:function(){d.PersonalDetails.validateForm(),$(d.PersonalDetails.el.notification).remove(),$(d.PersonalDetails.el.userInformationSection).addClass("d-none"),$(d.PersonalDetails.el.userForm).removeClass("d-none")},hideForm:function(){$(d.PersonalDetails.el.userForm).addClass("d-none"),$(d.PersonalDetails.el.userInformationSection).removeClass("d-none")},validateInput:function(e,t,r){t=t($(e).val());return(0,o.updateStylingError)(e,t,r),t},validateForm:function(){var e=d.PersonalDetails.getFieldsConfigurations(),r=!0;return e.forEach(function(e){var t=$(e.input).closest(d.PersonalDetails.el.fieldError),t=(t.length&&(0,o.removeErrorStyling)(t),d.PersonalDetails.validateInput(e.input,e.validator,e.error));r=r&&t}),r},requestToUpdateForm:function(){return new Promise(function(e,t){var r=d.LeaveEvent.getState(d.PersonalDetails.el.userForm).reduce(function(e,t){var r=t.name,t=t.value;return e[r]=t,e},{}),r=(0,a.createEvent)(d.PersonalDetails.UPDATE_PERSONAL_DETAILS_EVENT,r,{resolve:e,reject:t});window.dispatchEvent(r)}).then(function(e){d.Notification.show(u(u({},d.PersonalDetails.defaultNotificationConfig),{},{text:e.globalMessage.message,type:"success"})),d.PersonalDetails.initialFormState=d.LeaveEvent.getState(d.PersonalDetails.el.userForm),d.PersonalDetails.updateUserInformationSection(d.PersonalDetails.initialFormState),d.PersonalDetails.updateFormFields(d.PersonalDetails.initialFormState),d.PersonalDetails.hideForm(),d.LeaveEvent.removeLeaveEvent()}).catch(function(e){d.Notification.show(u(u({},d.PersonalDetails.defaultNotificationConfig),{},{text:e.globalMessage.message,type:"error"})),d.PersonalDetails.handleFieldErrors(e)})},handleFieldErrors:function(e){e&&e.length&&e.forEach(function(e){var t="#".concat(e.field);(0,o.updateStylingError)(t,!1,e.message)})},submitForm:function(e){e.preventDefault(),d.PersonalDetails.validateForm()?d.PersonalDetails.requestToUpdateForm():d.Notification.show(u(u({},d.PersonalDetails.defaultNotificationConfig),{},{text:"Please correct the errors below.",type:"error"}))},updateUserInformationSection:function(e){var r=$(d.PersonalDetails.el.userInformationList);r.length&&(r.empty(),e.forEach(function(e){var t=e.name,e=e.value,t=d.PersonalDetails.fieldToLabelMap[t]||t;r.append((0,i.default)({label:t,value:e}))}))},updateFormFields:function(e){e.forEach(function(e){var t=e.name,e=e.value,t=document.querySelector("#".concat(t));t&&(t.value=e||"",t.setAttribute("value",e||""),"SELECT"!==t.tagName&&"INPUT"!==t.tagName||(t.value=e||"",t.setAttribute("value",e||"")))})},resetFormToInitialState:function(){d.PersonalDetails.hideForm(),$(d.PersonalDetails.el.notification).remove(),$(d.LeaveEvent.el.leavePopup).modal("hide"),d.PersonalDetails.updateFormFields(d.PersonalDetails.initialFormState)},changePasswordHandler:function(e){var t=$(d.PersonalDetails.el.btnChangePassword).attr("href"),r=d.LeaveEvent.getState(d.PersonalDetails.el.userForm);!_.isEqual(r,d.PersonalDetails.initialFormState)?(e.preventDefault(),$(d.LeaveEvent.el.leavePopup).modal("show"),d.LeaveEvent.proceedBrowserLeave=!0,$(d.LeaveEvent.el.leavePopup).find(d.PersonalDetails.el.btnContinue).off("click").on("click",function(){d.LeaveEvent.removeLeaveEvent(),$(d.LeaveEvent.el.leavePopup).modal("hide"),window.location.href=t})):window.location.href=t},init:function(){d.LeaveEvent.bindEvent(d.PersonalDetails.el.userForm,d.PersonalDetails.el.btnCancel,d.PersonalDetails.el.btnContinue,d.PersonalDetails.resetFormToInitialState),d.PersonalDetails.initialFormState=d.LeaveEvent.getState(d.PersonalDetails.el.userForm),$(d.PersonalDetails.el.btnEdit).on("click",d.PersonalDetails.showForm),$(d.PersonalDetails.el.btnSave).on("click",d.PersonalDetails.submitForm),$(d.PersonalDetails.el.btnChangePassword).on("click",d.PersonalDetails.changePasswordHandler)}},$(document).ready(function(){d.PersonalDetails.init()})},{"../../components/user-information-field.hbs":24,"./utils/create-event":26,"./utils/validation":27,"hbsfy/runtime":23}],26:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.createEvent=function(e,t,r){return new CustomEvent(e,{detail:{payload:t,resolve:r.resolve,reject:r.reject}})}},{}],27:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.addErrorMessage=D,r.addFieldValidation=function(e,r){$(e).each(function(e,t){$(t).blur(function(){i(this),r(this),n.idsOfInputsWithNoNeedToUpdateDuringTyping.includes(t.id)||$(this).keyup(function(){i(this),r(this)})})})},r.clearValidationErrors=function(e){e=$(e);e.hasClass("form_invalid")&&e.removeClass("form_invalid").find(".form-row[data-row-required]").removeClass("form-row_validation-error").find(".form-row__error").remove()},r.isNameOnCardContainsAtLeast14Digits=P,r.isNameOnCardContainsOnly16Digits=b,r.isValidAddress2=v,r.isValidAddressSelection=m,r.isValidEmail=l,r.isValidFieldSize=d,r.isValidHouseName=h,r.isValidInputTextField=c,r.isValidPassword=s,r.isValidPhoneNumber=f,r.isValidPostcodeField=p,r.isValidStoreId=_,r.isValidTitle=u,r.isValidVoucher=g,r.removeErrorStyling=E,r.showValidationErrors=function(e,t){e=$(e);e.hasClass(o.formInvalid)?e.find(o.fieldRow).find(".form-row__error").text(t):(e.find(".form-row__error").remove(),e.addClass(o.formInvalid).find(o.fieldRow).append(function(e){return'<div class="form-row__error"> '.concat(e||"Error message here","</div>")}(t)).addClass(o.rowValidationError));t=e.find(o.fieldRow).first();{var r;t.length&&!function(e){"function"==typeof jQuery&&e instanceof jQuery&&(e=e[0]);e=e.getBoundingClientRect();return 0<=e.top&&0<=e.left&&e.bottom<=(window.innerHeight||document.documentElement.clientHeight)&&e.right<=(window.innerWidth||document.documentElement.clientWidth)}(t)&&(e=t.closest(".modal").length,r=e?t.closest(".modal"):$("html, body"),e=e?0:t.offset().top-30,r.animate({scrollTop:e},300))}},r.updateInputValueBeforeValidation=i,r.updateStylingError=w,r.updateStylingErrorForElement=y,r.validateAddress1=function(e){w(e.id,c(e.value),invalidAddressOne)},r.validateAddress2=function(e){w(e.id,v(e.value),invalidAddressTwo)},r.validateAddressSelection=function(e){w(e.id,m(e),selectAddressMessage)},r.validateCity=function(e){w(e.id,c(e.value),invalidTownCity)},r.validateEmail=function(e){w(e.id,l(e.value),invalidEmailAddress)},r.validateFirstName=function(e){w(e.id,c(e.value),invalidFirstName)},r.validateGuidPattern=function(e){return a.guidPattern.test(e)},r.validateHouseName=function(e){w(e.id,h(e.value))},r.validateLastName=function(e){w(e.id,c(e.value),invalidLastName)},r.validateMobile=function(e,t){w(e.id,f(e.value,t),invalidMobile)},r.validateNameOnCard=function(e){w(e.id,!0);var t=c(e.value);t?e.value.length>nameOnCardMaxLength?w(e.id,!1,invalidNameOnCardLength):b(e.value)?w(e.id,!1,invalidCustomNameOnCard):P(e.value)&&w(e.id,!1,validationWarnNameOnCard):w(e.id,t,invalidNameOnCard)},r.validatePassword=function(e){w(e.id,s(e.value),invalidPassword)},r.validatePhone=function(e){w(e.id,f(e.value,!0),invalidTelephone)},r.validatePostcode=function(e,t){var r=e.value,n=p(r);t&&n&&(r=r.replace(/\s/g,""),$("#"+$.escapeSelector(e.id)).val(r.substr(0,r.length-3)+" "+r.substr(r.length-3)));w(e.id,n,invalidPostCode)},r.validateStoreId=function(e){w(e.id,_(e.value),invalidStoreId)},r.validateTitle=function(e){w(e.id,u(e.value),invalidTitle)},r.validateUserFriendlyIdPattern=function(e){return a.userFriendlyIdPattern.test(e)},r.validateVoucher=function(e){y(e,g(e.value),invalidVoucherCode)},r.wrapWithError=x;var n={idsOfInputsWithNoNeedToUpdateDuringTyping:["address-lookup-query","modal-address-lookup-query"]},o={formInvalid:"form_invalid",fieldRow:".form-row[data-row-required]",rowValidationError:"form-row_validation-error"},a={guidPattern:/^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/i,userFriendlyIdPattern:/^[A-Za-z]{2,3}\d{6}$/};function i(e){$(e).val($.trim($(e).val()))}function l(e){var t=new RegExp("^(?=.{1,64}@)[\\w\\+-]+(\\.[\\w\\+-]+)*@(([A-Za-z\\d]+[A-Za-z\\d-]*\\.){1,3}[A-Za-z]{2,16}|(?:(?:25[0-5]|2[0-4][\\d]|[01]?[\\d][\\d]?)\\.){3}(?:25[0-5]|2[0-4][\\d]|[01]?[\\d][\\d]?))$"),r=e.length<=254;return t.test(e)&&r}function s(e){return 0<e.length}function u(e){return 0<e.length}function d(e){return 0<e.length&&e.length<255}function c(e){var t=new RegExp("^[\\w ()/&.,'-]+$|^$");return d(e)&&t.test(e)}function f(e,t){var r=new RegExp("^0{1}\\d{10}$|^0{1}\\d{5}\\s{1}\\d{5}$|^0{1}\\d{4}\\s{1}\\d{6}$|^0{1}\\d{3}\\s{1}\\d{3}\\s{1}\\d{4}$|^0{1}\\d{2}\\s{1}\\d{4}\\s{1}\\d{4}$|^0{1}\\d{3}\\s{1}\\d{7}$"),n=new RegExp("^0{1}\\d{9}$|^0{1}\\d{5}\\s{1}\\d{4}$|^0{1}\\d{4}\\s{1}\\d{5}$"),r=r.test(e)||n.test(e);return t?0===e.length||r:0<e.length&&r}function p(e){var e=e.toUpperCase().replaceAll(" ",""),t=new RegExp("^(GIR 0AA)|((([A-PR-UWYZ][0-9][0-9]?)|([A-PR-UWYZ][A-HK-Y][0-9][0-9]?)|([A-PR-UWYZ][0-9][A-HJKSTUW])|([A-PR-UWYZ][A-HK-Y][0-9][ABEHMNPRVWXY]))[0-9][A-BD-HJLNP-UW-Z]{2})$");return 4<e.replace(/\s+/g,"").length&&t.test(e)}function h(e){var t=new RegExp("^[\\w ()/&.,'-]+$|^$");return 0<e.length&&t.test(e)}function m(e){return!$("#"+$.escapeSelector(e.id)).is(":visible")}function v(e){var t=new RegExp("^[\\w ().,'-]+$|^$");return 0===e.length||t.test(e)}function g(e){return 0<e.trim().length}function b(e){return new RegExp("^\\d{16}$").test(e)}function P(e){return new RegExp("^(.*\\d){14,}.*$").test(e)}function _(e){return"0"!==e}function w(e,t,r){y($(e),t,r)}function y(e,t,r){e=$(e).closest(".form-row");e.is(":visible")&&(E(e),t||(x(e),D(e,r)))}function E(e){e.removeClass("form-row_validation-error"),e.find(".form-row__error").remove()}function x(e){$(e).addClass("form-row_validation-error")}function D(e,t){t&&$(e).append('<div class="form-row__error">'+t+"</div>")}},{}]},{},[25]);