PageSourceSearch

https://www.which.co.uk/static/deliver/static/js/node_modules_dom-…eClass_js-static-t-62c0b5.c4580d82.chunk.js

js which.co.uk collected 2026-09-24 07:24:16 UTC 17,523 bytes, 2 lines download raw bytes

1"use strict";(this.__LOADABLE_LOADED_CHUNKS__=this.__LOADABLE_LOADED_CHUNKS__||[]).push([["node_modules_dom-helpers_esm_addClass_js-node_modules_dom-helpers_esm_removeClass_js-static-t-62c0b5"],{"../../node_modules/dom-helpers/esm/addClass.js"(e,t,r){function o(e,t){e.classList?e.classList.add(t):function(e,t){return e.classList?!!t&&e.classList.contains(t):-1!==(" "+(e.className.baseVal||e.className)+" ").indexOf(" "+t+" ")}(e,t)||("string"==typeof e.className?e.className=e.className+" "+t:e.setAttribute("class",(e.className&&e.className.baseVal||"")+" "+t))}r.d(t,{A:()=>o})},"../../node_modules/dom-helpers/esm/removeClass.js"(e,t,r){function o(e,t){return e.replace(new RegExp("(^|\\s)"+t+"(?:\\s|$)","g"),"$1").replace(/\s+/g," ").replace(/^\s*|\s*$/g,"")}function a(e,t){e.classList?e.classList.remove(t):"string"==typeof e.className?e.className=o(e.className,t):e.setAttribute("class",o(e.className&&e.className.baseVal||"",t))}r.d(t,{A:()=>a})},"../static-tools/build/components/ControlledDropdown/ControlledDropdown.js"(e,t,r){r.d(t,{c:()=>s});var o=r("../../node_modules/react-hook-form/dist/index.esm.mjs"),a=r("../../node_modules/@which/seatbelt/src/index.ts");var l=r("../../node_modules/react/jsx-runtime.js");const n=["control","errorMsg","label","name","options","placeholderOption","required","tooltip"],s=e=>{let t=e.control,r=e.errorMsg,s=e.label,i=e.name,c=e.options,d=e.placeholderOption,u=e.required,h=void 0!==u&&u,f=e.tooltip,m=function(e,t){if(null==e)return{};var r,o,a=function(e,t){if(null==e)return{};var r={};for(var o in e)if({}.hasOwnProperty.call(e,o)){if(-1!==t.indexOf(o))continue;r[o]=e[o]}return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(o=0;o<l.length;o++)r=l[o],-1===t.indexOf(r)&&{}.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}(e,n);return(0,l.jsx)(o.xI,{control:t,name:i,render:e=>{let t=e.field,o=t.onChange,n=t.value,u=t.ref,y=e.fieldState.error;return(0,l.jsx)(a.zB,{label:s,labelFor:i,required:h,...y&&{errorMsg:r},tooltip:f,children:(0,l.jsx)(a.ms,{"aria-invalid":!!y,callback:o,id:i,name:i,options:c,placeholderOption:d,selectRef:u,value:n,variant:"regular",wrapperClassName:"ControlledDropdown_formFieldDropdown__aazGW",...m})})},rules:{required:h}})}},"../static-tools/build/components/ControlledTextField/ControlledTextField.js"(e,t,r){r.d(t,{S:()=>s});var o=r("../../node_modules/react-hook-form/dist/index.esm.mjs"),a=r("../../node_modules/@which/seatbelt/src/index.ts"),l=r("../../node_modules/react/jsx-runtime.js");const n=["className","control","errorMsg","inputType","placeholder","label","name","required","showRequiredText","tooltip","validation"],s=e=>{let t=e.className,r=e.control,s=e.errorMsg,i=e.inputType,c=void 0===i?"text":i,d=e.placeholder,u=e.label,h=e.name,f=e.required,m=void 0===f||f,y=e.showRequiredText,b=void 0===y||y,S=e.tooltip,p=e.validation,v=function(e,t){if(null==e)return{};var r,o,a=function(e,t){if(null==e)return{};var r={};for(var o in e)if({}.hasOwnProperty.call(e,o)){if(-1!==t.indexOf(o))continue;r[o]=e[o]}return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(o=0;o<l.length;o++)r=l[o],-1===t.indexOf(r)&&{}.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}(e,n);const g="currency"===c?p||{required:m,pattern:/(?=.*?\d)(([1-9]\d{0,2}(,\d{3})*)|\d+)?(\.\d{1,2})?$/}:p||{required:m};return(0,l.jsx)(o.xI,{control:r,defaultValue:"",name:h,render:e=>{let r=e.field,o=r.onChange,n=r.onBlur,i=r.value,f=r.ref,y=e.fieldState.error;return(0,l.jsx)(a.zB,{className:t,label:u,labelFor:h,required:m,showRequiredText:b,tooltip:S,...y&&{errorMsg:s},children:"currency"===c?(0,l.jsx)(a.UG,{"aria-invalid":!!y,inputMode:"decimal",inputRef:f,name:h,onBlur:n,onChange:o,value:i,...v}):(0,l.jsx)(a.w_,{"aria-invalid":!!y,inputRef:f,name:h,onBlur:n,onChange:o,placeholder:d,type:c,value:i,...v})})},rules:g})}},"../static-tools/build/components/Results/Results.js"(e,t,r){r.d(t,{n:()=>n});var o=r("../../node_modules/react/index.js");var a=r("../../node_modules/react/jsx-runtime.js");const l=["children","aria-label"],n=(0,o.forwardRef)((e,t)=>{let r=e.children,o=e["aria-label"],n=function(e,t){if(null==e)return{};var r,o,a=function(e,t){if(null==e)return{};var r={};for(var o in e)if({}.hasOwnProperty.call(e,o)){if(-1!==t.indexOf(o))continue;r[o]=e[o]}return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(o=0;o<l.length;o++)r=l[o],-1===t.indexOf(r)&&{}.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}(e,l);return(0,a.jsx)("section",{"aria-label":o,className:"Results_results__7sRSn",ref:t,...n,children:r})})},"../static-tools/build/components/ToolBody/ToolBody.js"(e,t,r){r.d(t,{F:()=>l});var o=r("../../node_modules/react/jsx-runtime.js");const a=["children","aria-labelledby"],l=e=>{let t=e.children,r=e["aria-labelledby"],l=function(e,t){if(null==e)return{};var r,o,a=function(e,t){if(null==e)return{};var r={};for(var o in e)if({}.hasOwnProperty.call(e,o)){if(-1!==t.indexOf(o))continue;r[o]=e[o]}return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(o=0;o<l.length;o++)r=l[o],-1===t.indexOf(r)&&{}.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}(e,a);return(0,o.jsx)("section",{"aria-labelledby":r,className:"ToolBody_toolBody__ml+So",...l,children:t})}},"../static-tools/build/components/ToolFrame/ToolFrame.js"(e,t,r){r.d(t,{U:()=>l});var o=r("../../node_modules/react/jsx-runtime.js");const a=["children"],l=e=>{let t=e.children,r=function(e,t){if(null==e)return{};var r,o,a=function(e,t){if(null==e)return{};var r={};for(var o in e)if({}.hasOwnProperty.call(e,o)){if(-1!==t.indexOf(o))continue;r[o]=e[o]}return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(o=0;o<l.length;o++)r=l[o],-1===t.indexOf(r)&&{}.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}(e,a);return(0,o.jsx)("aside",{className:"ToolFrame_toolFrame__j6N2n",...r,children:t})}},"../static-tools/build/components/ToolHeading/ToolHeading.js"(e,t,r){r.d(t,{L:()=>n});var o=r("../../node_modules/@which/seatbelt/src/index.ts");var a=r("../../node_modules/react/jsx-runtime.js");const l=["children"],n=e=>{let t=e.children,r=function(e,t){if(null==e)return{};var r,o,a=function(e,t){if(null==e)return{};var r={};for(var o in e)if({}.hasOwnProperty.call(e,o)){if(-1!==t.indexOf(o))continue;r[o]=e[o]}return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(o=0;o<l.length;o++)r=l[o],-1===t.indexOf(r)&&{}.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}(e,l);return(0,a.jsx)(o.Yx,{className:"ToolHeading_toolHeading__cK3t9",tag:"h2",textStyle:"sb-text-heading-medium",...r,children:t})}},"../static-tools/build/hooks/useTrackedButton.js"(e,t,r){r.d(t,{M:()=>a});var o=r("../static-tools/build/shared/utils/push-data-layer-click.js");const a=e=>{let t=e.trackingState,r=t.trackFirstInteraction,a=t.toolInfo,l=e.trackingName,n=e.onClick;return{onClick:e=>{(0,o.M)({toolInfo:a,itemText:`${l} (button)`}),r(),"function"==typeof n&&n(e)}}}},"../static-tools/build/hooks/useTrackedInput.js"(e,t,r){r.d(t,{I:()=>a});var o=r("../static-tools/build/shared/utils/push-data-layer-click.js");const a=e=>{let t=e.trackingState,r=t.trackFirstInteraction,a=t.toolInfo,l=e.onFocus;return{onFocus:e=>{(0,o.M)({toolInfo:a,itemText:`${e.target?.name} (${e.target?.type} field)`}),r(),"function"==typeof l&&l(e)}}}},"../static-tools/build/hooks/useTrackedSelect.js"(e,t,r){r.d(t,{I:()=>a});var o=r("../static-tools/build/shared/utils/push-data-layer-click.js");const a=e=>{let t=e.trackingState,r=t.trackFirstInteraction,a=t.toolInfo,l=e.onFocus;return{onFocus:e=>{(0,o.M)({toolInfo:a,itemText:`${e.target?.name} (${e.target?.type} field)`}),r(),"function"==typeof l&&l(e)}}}},"../static-tools/build/hooks/useTracking.js"(e,t,r){r.d(t,{z:()=>n});var o=r("../../node_modules/react/index.js"),a=r("../static-tools/build/shared/utils/push-data-layer-click.js");function l(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,o=Array(t);r<t;r++)o[r]=e[r];return o}const n=e=>{const t=(s=(0,o.useState)(!1),i=2,function(e){if(Array.isArray(e))return e}(s)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var o,a,l,n,s=[],i=!0,c=!1;try{if(l=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;i=!1}else for(;!(i=(o=l.call(r)).done)&&(s.push(o.value),s.length!==t);i=!0);}catch(e){c=!0,a=e}
1finally{try{if(!i&&null!=r.return&&(n=r.return(),Object(n)!==n))return}finally{if(c)throw a}}return s}}(s,i)||function(e,t){if(e){if("string"==typeof e)return l(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?l(e,t):void 0}}(s,i)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),r=t[0],n=t[1];var s,i;return{trackFirstInteraction:(0,o.useCallback)(()=>{r||((0,a.M)({toolInfo:e,itemText:"tool use"}),n(!0))},[r,e]),toolInfo:e}}},"../static-tools/build/shared/utils/currency-formatter.js"(e,t,r){r.d(t,{y:()=>o});const o=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:2,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:2;return Intl.NumberFormat("en-GB",{currency:"GBP",minimumFractionDigits:t,maximumFractionDigits:r,style:"currency"}).format(e)}},"../static-tools/build/shared/utils/handle-currency-field-blur.js"(e,t,r){r.d(t,{J:()=>o});const o=(e,t)=>{const r=e.target?.name,o=e.target?.value;o&&(isNaN(Number(o))?t(r,o,{shouldDirty:!0,shouldValidate:!0}):r&&o&&t(r,Number(o.replace(/,/g,"")).toLocaleString("en"),{shouldDirty:!0,shouldValidate:!0}))}},"../static-tools/build/shared/utils/parse-xml-data-to-number.js"(e,t,r){function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,o=Array(t);r<t;r++)o[r]=e[r];return o}r.d(t,{$:()=>a});const a=e=>Object.fromEntries(Object.entries(e).map(e=>{let t=(n=2,function(e){if(Array.isArray(e))return e}(l=e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var o,a,l,n,s=[],i=!0,c=!1;try{if(l=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;i=!1}else for(;!(i=(o=l.call(r)).done)&&(s.push(o.value),s.length!==t);i=!0);}catch(e){c=!0,a=e}finally{try{if(!i&&null!=r.return&&(n=r.return(),Object(n)!==n))return}finally{if(c)throw a}}return s}}(l,n)||function(e,t){if(e){if("string"==typeof e)return o(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?o(e,t):void 0}}(l,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),r=t[0],a=t[1];var l,n;return[r,void 0!==a?parseFloat(a):void 0]}))},"../static-tools/build/shared/utils/push-data-layer-click.js"(e,t,r){r.d(t,{M:()=>a});var o=r("../shared/build/esm/utils/dynamic-ga4-datalayer-push.js");const a=e=>{let t=e.toolInfo,r=t.name,a=t.category,l=e.itemText;(0,o.N)({eventName:"click_tool",item_group:a,tool_name:r,item_text:l,event:"static_tool_click"})}},"../static-tools/build/shared/utils/tax-utils.js"(e,t,r){function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,o=Array(t);r<t;r++)o[r]=e[r];return o}r.d(t,{P$:()=>n,_3:()=>s,by:()=>l});const a=(e,t)=>{const r=(a=e.split("-"),l=1,function(e){if(Array.isArray(e))return e}(a)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var o,a,l,n,s=[],i=!0,c=!1;try{if(l=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;i=!1}else for(;!(i=(o=l.call(r)).done)&&(s.push(o.value),s.length!==t);i=!0);}catch(e){c=!0,a=e}finally{try{if(!i&&null!=r.return&&(n=r.return(),Object(n)!==n))return}finally{if(c)throw a}}return s}}(a,l)||function(e,t){if(e){if("string"==typeof e)return o(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?o(e,t):void 0}}(a,l)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}())[0];var a,l;return parseInt(r)<t},l=e=>{let t=e.income,r=e.taxYear,o=e.personalAllowanceLimit,l=e.lowThreshold,n=l,s=e.midThreshold,i=e.lowThresholdScot,c=e.startThresholdScot,d=e.basicThresholdScot,u=e.intermediateThresholdScot,h=e.highThresholdScot;if(t>=o){let e=(t-o)/2;e>l&&(e=l),n-=e,s-=e,i-=e,c-=e,d-=e,u-=e,a(r,2024)||(h-=e)}return{calculatedLowThreshold:n,calculatedMidThreshold:s,calculatedLowThresholdScot:i,calculatedStartThresholdScot:c,calculatedBasicThresholdScot:d,calculatedIntermediateThresholdScot:u,calculatedHighThresholdScot:h}},n=e=>{let t=e.salary,r=e.lowThreshold,o=e.midThreshold,a=e.highThreshold,l=e.lowRate,n=e.midRate,s=e.highRate,i=e.returnBreakdown,c=void 0!==i&&i;const d={[s]:0,[n]:0,[l]:0};let u=0;if(t>=a){const e=(t-a)*s,i=(a-o)*n,c=(o-r)*l;d[s]=e,d[n]=i,d[l]=c,u=e+i+c}else if(t<a&&t>=o){const e=(t-o)*n,a=(o-r)*l;d[n]=e,d[l]=a,u=e+a}else if(t<o&&t>=r){const e=(t-r)*l;d[l]=e,u=e}return c?{totalPayment:u,paymentsByBand:d}:u},s=e=>{let t=e.taxYear,r=e.salary,o=e.startThresholdScot,l=e.basicThresholdScot,n=e.intermediateThresholdScot,s=e.highThresholdScot,f=e.advancedThresholdScot,m=e.startRateScot,y=e.basicRateScot,b=e.lowThresholdScot,S=e.intermediateRateScot,p=e.higherRateScot,v=e.topRateScot,g=e.advancedRateScot,T=e.returnBreakdown;const w={[m]:0,[y]:0,[S]:0,[p]:0,[v]:0,...g?{[g]:0}:{}};let j=0;if(!a(t,2024)&&g&&f&&r>=f)return c({salary:r,lowThresholdScot:b,startThresholdScot:o,basicThresholdScot:l,intermediateThresholdScot:n,highThresholdScot:s,advancedThresholdScot:f,startRateScot:m,basicRateScot:y,intermediateRateScot:S,higherRateScot:p,topRateScot:v,advancedRateScot:g,returnBreakdown:T,defaultBreakdown:w});if(!a(t,2024)&&g&&f&&r>=s&&r<f)return d({salary:r,lowThresholdScot:b,startThresholdScot:o,basicThresholdScot:l,intermediateThresholdScot:n,highThresholdScot:s,startRateScot:m,basicRateScot:y,intermediateRateScot:S,higherRateScot:p,advancedRateScot:g,returnBreakdown:T,defaultBreakdown:w});if(a(t,2024)&&r>=s)return i({salary:r,lowThresholdScot:b,startThresholdScot:o,basicThresholdScot:l,intermediateThresholdScot:n,highThresholdScot:s,startRateScot:m,basicRateScot:y,intermediateRateScot:S,higherRateScot:p,topRateScot:v,returnBreakdown:T,defaultBreakdown:w});if(r>=n&&r<s)return u({salary:r,lowThresholdScot:b,startThresholdScot:o,basicThresholdScot:l,intermediateThresholdScot:n,startRateScot:m,basicRateScot:y,intermediateRateScot:S,higherRateScot:p,returnBreakdown:T,defaultBreakdown:w});if(r>=l&&r<n)return h({bands:[{threshold:l,rate:S},{threshold:o,rate:y},{threshold:b,rate:m}],salary:r,returnBreakdown:T,defaultBreakdown:w});if(r>=o&&r<l)return h({bands:[{threshold:o,rate:y},{threshold:b,rate:m}],salary:r,returnBreakdown:T,defaultBreakdown:w});if(r>=b&&r<o){const e=(r-b)*m;w[m]=e,j=e}return T?{totalPayment:j,paymentsByBand:w}:j},i=e=>{let t=e.salary,r=e.lowThresholdScot,o=e.startThresholdScot,a=e.basicThresholdScot,l=e.intermediateThresholdScot,n=e.highThresholdScot,s=e.startRateScot,i=e.basicRateScot,c=e.intermediateRateScot,d=e.higherRateScot,u=e.topRateScot,f=e.returnBreakdown,m=e.defaultBreakdown;return h({bands:[{threshold:n,rate:u},{threshold:l,rate:d},{threshold:a,rate:c},{threshold:o,rate:i},{threshold:r,rate:s}],salary:t,returnBreakdown:f,defaultBreakdown:m})},c=e=>{let t=e.salary,r=e.lowThresholdScot,o=e.startThresholdScot,a=e.basicThresholdScot,l=e.intermediateThresholdScot,n=e.highThresholdScot,s=e.advancedThresholdScot,i=e.startRateScot,c=e.basicRateScot,d=e.intermediateRateScot,u=e.higherRateScot,f=e.topRateScot,m=e.advancedRateScot,y=e.returnBreakdown,b=e.defaultBreakdown;return h({bands:[{threshold:s,rate:f},{threshold:n,rate:m},{threshold:l,rate:u},{threshold:a,rate:d},{threshold:o,rate:c},{threshold:r,rate:i}],salary:t,returnBreakdown:y,defaultBreakdown:b})},d=e=>{let t=e.salary,r=e.lowThresholdScot,o=e.startThresholdScot,a=e.basicThresholdScot,l=e.intermediateThresholdScot,n=e.highThresholdScot,s=e.startRateScot,i=e.basicRateScot,c=e.intermediateRateScot,d=e.higherRateScot,u=e.advancedRateScot,f=e.returnBreakdown,m=e.defaultBreakdown;return h({bands:[{threshold:n,rate:u},{threshold:l,rate:d},{threshold:a,rate:c},{threshold:o,rate:i},{threshold:r,rate:s}],salary:t,returnBreakdown:f,defaultBreakdown:m})},u=e=>{let t=e.salary,r=e.lowThresholdScot,o=e.startThresholdScot,a=e.basicThresholdScot,l=e.intermediateThresholdScot,n=e.startRateScot,s=e.basicRateScot,i=e.intermediateRateScot,c=e.higherRateScot,d=e.returnBreakdown,u=e.defaultBreakdown;return h({bands:[{threshold:l,rate:c},{threshold:a,rate:i},{threshold:o,rate:s},{threshold:r,rate:n}],salary:t,returnBreakdown:d,defaultBreakdown:u})}
1,h=e=>{let t=e.bands,r=e.salary,o=e.returnBreakdown,a=void 0!==o&&o,l=e.defaultBreakdown,n=r;const s=l||{},i=t.reduce((e,t)=>{let r=t.threshold,o=t.rate;if(n>r){const t=n-r;e+=t*o,n=r,a&&(s[o]=t*o)}else a&&(s[o]=0);return e},0);return a?{totalPayment:i,paymentsByBand:s}:i}}}]);
2//# sourceMappingURL=node_modules_dom-helpers_esm_addClass_js-node_modules_dom-helpers_esm_removeClass_js-static-t-62c0b5.c4580d82.chunk.js.map

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.