@basis-theory/web-elements 1.19.0 → 1.21.0

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.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,33 @@
1
+ ## [1.21.0] - 2025-07-17
2
+
3
+ ### Features
4
+
5
+ - e66f088 2025-07-17 feat: make network check opt-in (#466) by kevin@basistheory.com
6
+ - 502dfa2 2025-07-16 feat: add parallel r2 deploy (#465) by mstrisoline@users.noreply.github.com
7
+
8
+ ### Chores
9
+
10
+ - 5f96c0e 2025-07-15 chore: updated tf (#464) by mstrisoline@users.noreply.github.com
11
+ - a22cbd3 2025-07-15 chore: init tf r2 (#463) by mstrisoline@users.noreply.github.com
12
+
13
+ ## [1.20.0] - 2025-07-15
14
+
15
+ ### Features
16
+
17
+ - 4ac2b5e 2025-07-15 feat: add useUat flag (#461) by kevin@basistheory.com
18
+ - b89d5d8 2025-07-08 feat: bundle optimizations (#449) by kevin@basistheory.com
19
+ - 606efff 2025-07-07 feat: bundle optimization (#448) by kevin@basistheory.com
20
+
21
+ ### Bug Fixes
22
+
23
+ - 2c8cc6c 2025-07-15 fix: port set from hosted (#462) by kevin@basistheory.com
24
+ - 60b2dbd 2025-07-14 fix: remove resource hints from client (#460) by kevin@basistheory.com
25
+ - 8ed50c3 2025-07-11 fix: `set` replacement edge cases (#459) by kevin@basistheory.com
26
+
27
+ ### Chores
28
+
29
+ - a80b10e 2025-07-10 chore: remove btjs from client and messages (#454) by kevin@basistheory.com
30
+
1
31
  ## [1.19.0] - 2025-07-07
2
32
 
3
33
  ### Features
@@ -1 +1 @@
1
- !function(){function e(e,r,t,n,o,i,l){try{var c=e[i](l),s=c.value}catch(e){t(e);return}c.done?r(s):Promise.resolve(s).then(n,o)}function r(r){return function(){var t=this,n=arguments;return new Promise(function(o,i){var l=r.apply(t,n);function c(r){e(l,o,i,c,s,"next",r)}function s(r){e(l,o,i,c,s,"throw",r)}c(void 0)})}}function t(e,r){var t,n,o,i,l={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function c(i){return function(c){var s=[i,c];if(t)throw TypeError("Generator is already executing.");for(;l;)try{if(t=1,n&&(o=2&s[0]?n.return:s[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,s[1])).done)return o;switch(n=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return l.label++,{value:s[1],done:!1};case 5:l.label++,n=s[1],s=[0];continue;case 7:s=l.ops.pop(),l.trys.pop();continue;default:if(!(o=(o=l.trys).length>0&&o[o.length-1])&&(6===s[0]||2===s[0])){l=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){l.label=s[1];break}if(6===s[0]&&l.label<o[1]){l.label=o[1],o=s;break}if(o&&l.label<o[2]){l.label=o[2],l.ops.push(s);break}o[2]&&l.ops.pop(),l.trys.pop();continue}s=r.call(e,l)}catch(e){s=[6,e],n=0}finally{t=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}}}var n,o,i,l,c,s,u,a=(l=r(function(e,r){var n,l,c,s,u,a,d,f=arguments;return t(this,function(t){switch(t.label){case 0:if(n=f.length>2&&void 0!==f[2]?f[2]:{},o)return[2];d=function(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{},n=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(t).filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.forEach(function(r){var n;n=t[r],r in e?Object.defineProperty(e,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[r]=n})}return e}({level:r,message:e,service:"web-elements-loader",env:a=!i||(null==i?void 0:i.includes("localhost"))?"local":i.includes("dev")?"dev":"prod",referrer:null===(l=document)||void 0===l?void 0:l.referrer,origin:null===(c=window)||void 0===c?void 0:c.location.origin,url:null===(s=window)||void 0===s?void 0:s.location.href,userAgent:null===(u=navigator)||void 0===u?void 0:u.userAgent},n),["local","dev"].includes(a)&&console.log(d),t.label=1;case 1:return t.trys.push([1,3,,4]),[4,fetch("https://http-intake.logs.datadoghq.com/v1/input/".concat("pubb96b84a13912504f4354f2d794ea4fab"),{method:"POST",body:JSON.stringify(d),headers:{"Content-Type":"application/json"}})];case 2:return t.sent(),[3,4];case 3:return t.sent(),console.warn("There was an error sending telemetry."),[3,4];case 4:return[2]}})}),c=function(e,r){return l.apply(this,arguments)},{disableTelemetry:function(e){o=e},setBaseUrl:function(e){i=e},log:{error:function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return c(e,"error",r)},info:function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return c(e,"info",r)},warn:function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return c(e,"warn",r)}}}),d=function(e){var r=document.querySelector('script[src^="'.concat(e,'"]'));if(r)return r;var t=document.head||document.body;if(!t)throw Error("No <head> or <body> elements found in the document.");var n=Object.assign(document.createElement("script"),{src:e});return t.append(n),n},f="Tried to load BasisTheoryElements in a non-DOM environment.",p="Unable to load the Elements script. This may be due to network restrictions or browser extensions like ad blockers interfering with script loading. Check browser settings or network connection and try again.",h=function(e,n){return new Promise(function(o,i){var l,c=d(e),s=!1;c.addEventListener("load",function(){window.BasisTheoryElements?o(window.BasisTheoryElements):(r(function(){return t(this,function(e){switch(e.label){case 0:return[4,a.log.error("Elements not found on window on load",{logType:"elementsNotFoundOnWindow",logOrigin:"loadScript",retryCount:n})];case 1:return e.sent(),[2]}})})(),i(Error("Basis Theory Elements did not load properly. Check network tab for more details.")))}),c.addEventListener("error",(l=r(function(r){var l,u,d;return t(this,function(t){switch(t.label){case 0:if(s)return[2];return s=!0,[4,a.log.error("Elements script onError event",{logType:"elementsScriptOnError",logOrigin:"loadScript",retryCount:n,event:{message:null==r?void 0:r.message,source:null==r?void 0:r.filename,lineno:null==r?void 0:r.lineno,colno:null==r?void 0:r.colno,error:null==r?void 0:r.error,target:null==r?void 0:r.target}})];case 1:t.sent(),t.label=2;case 2:return t.trys.push([2,3,,5]),null==c||c.remove(),[3,5];case 3:return l=t.sent(),[4,a.log.error("Error removing script from DOM on retry attempt ".concat(n),{logType:"scriptRemovalError",logOrigin:"loadScript",retryCount:n,removalError:l})];case 4:return t.sent(),[3,5];case 5:if(0===n)return h(e,n+1).then(o).catch(i),[2];t.label=6;case 6:return t.trys.push([6,12,,14]),[4,fetch(e)];case 7:if((u=t.sent()).ok)return[3,9];return[4,a.log.error("Second attempt to load elements script failed, fetch failed with status: ".concat(u.status,"."),{logType:"elementsScriptFetchFailure",logOrigin:"loadScript",retryCount:n,fetchResult:"error",fetchResponse:u})];case 8:return t.sent(),i(Error(f)),[3,11];case 9:return[4,a.log.error("Second attempt to load elements script failed, fetch success",{logType:"elementsScriptFetchFailure",logOrigin:"loadScript",retryCount:n,fetchResult:"success",fetchResponse:u})];case 10:t.sent(),i(Error(p)),t.label=11;case 11:return[3,14];case 12:return d=t.sent(),[4,a.log.error("Second attempt failed to load elements script failed, fetch network error.",{logType:"elementsScriptFetchError",logOrigin:"loadScript",retryCount:n,fetchResult:"error",fetchError:d})];case 13:return t.sent(),i(Error(p)),[3,14];case 14:return i((null==r?void 0:r.error)||(null==r?void 0:r.message)||Error(p)),[2]}})}),function(e){return l.apply(this,arguments)}))})},v={};v={version:"1.19.0"};var y=(s=r(function(e,o){var i,l,c,s;return t(this,function(u){switch(u.label){case 0:var d;if(!e||0===e.length)throw Error("API key is required");return i=(null==o?void 0:o._devMode)?"js.flock-dev.com":"js.basistheory.com",a.setBaseUrl(i),a.disableTelemetry(!!(null==o?void 0:o.disableTelemetry)),[4,(d="https://".concat(i,"/web-elements/").concat(v.version,"/client/index.js"),n||(n=new Promise(function(e,n){var o;if(("undefined"==typeof window?"undefined":(o=window)&&"undefined"!=typeof Symbol&&o.constructor===Symbol?"symbol":typeof o)!="object"){r(function(){return t(this,function(e){switch(e.label){case 0:return[4,a.log.warn(f,{logType:"elementsNonDomError",logOrigin:"loadElements"})];case 1:return e.sent(),n(Error(f)),[2]}})})();return}if(window.BasisTheoryElements){e(window.BasisTheoryElements);return}h(new URL(d).toString().replace(RegExp("\\/$","u"),""),0).then(e).catch(function(e){n(e)})})),n)];case 1:return[2,u.sent().init(e,"https://".concat(i,"/web-elements/").concat(v.version,"/hosted-elements/"),!1,null===(l=null==o?void 0:o.useSameOriginApi)||void 0===l||l,null!==(c=null==o?void 0:o.disableTelemetry)&&void 0!==c&&c,null!==(s=null==o?void 0:o.debug)&&void 0!==s&&s)]}})}),function(e,r){return s.apply(this,arguments)}),m=((u=m||{}).DECIMAL="decimal",u.EMAIL="email",u.NONE="none",u.NUMERIC="numeric",u.SEARCH="search",u.TEL="tel",u.TEXT="text",u.URL="url",u);function b(e){return(b=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function g(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(g=function(){return!!e})()}function w(e,r){return(w=Object.setPrototypeOf||function(e,r){return e.__proto__=r,e})(e,r)}function E(e,r,t){return(E=g()?Reflect.construct:function(e,r,t){var n=[null];n.push.apply(n,r);var o=new(Function.bind.apply(e,n));return t&&w(o,t.prototype),o}).apply(null,arguments)}function O(e){var r="function"==typeof Map?new Map:void 0;return(O=function(e){if(null===e||-1===Function.toString.call(e).indexOf("[native code]"))return e;if("function"!=typeof e)throw TypeError("Super expression must either be null or a function");if(void 0!==r){if(r.has(e))return r.get(e);r.set(e,t)}function t(){return E(e,arguments,b(this).constructor)}return t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),w(t,e)})(e)}O(Error),O(Error),O(Error),"undefined"!=typeof window&&document.currentScript&&!window.basistheory&&(window.basistheory=y)}();
1
+ !function(){function e(e,r,t,n,o,i,l){try{var c=e[i](l),u=c.value}catch(e){t(e);return}c.done?r(u):Promise.resolve(u).then(n,o)}function r(r){return function(){var t=this,n=arguments;return new Promise(function(o,i){var l=r.apply(t,n);function c(r){e(l,o,i,c,u,"next",r)}function u(r){e(l,o,i,c,u,"throw",r)}c(void 0)})}}function t(e,r){var t,n,o,i,l={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function c(i){return function(c){var u=[i,c];if(t)throw TypeError("Generator is already executing.");for(;l;)try{if(t=1,n&&(o=2&u[0]?n.return:u[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,u[1])).done)return o;switch(n=0,o&&(u=[2&u[0],o.value]),u[0]){case 0:case 1:o=u;break;case 4:return l.label++,{value:u[1],done:!1};case 5:l.label++,n=u[1],u=[0];continue;case 7:u=l.ops.pop(),l.trys.pop();continue;default:if(!(o=(o=l.trys).length>0&&o[o.length-1])&&(6===u[0]||2===u[0])){l=0;continue}if(3===u[0]&&(!o||u[1]>o[0]&&u[1]<o[3])){l.label=u[1];break}if(6===u[0]&&l.label<o[1]){l.label=o[1],o=u;break}if(o&&l.label<o[2]){l.label=o[2],l.ops.push(u);break}o[2]&&l.ops.pop(),l.trys.pop();continue}u=r.call(e,l)}catch(e){u=[6,e],n=0}finally{t=o=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}}}var n,o,i,l,c,u,s,a=(l=r(function(e,r){var n,l,c,u,s,a,d,f=arguments;return t(this,function(t){switch(t.label){case 0:if(n=f.length>2&&void 0!==f[2]?f[2]:{},o)return[2];d=function(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{},n=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(t).filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.forEach(function(r){var n;n=t[r],r in e?Object.defineProperty(e,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[r]=n})}return e}({level:r,message:e,service:"web-elements-loader",env:a=!i||(null==i?void 0:i.includes("localhost"))?"local":i.includes("dev")?"dev":"prod",referrer:null===(l=document)||void 0===l?void 0:l.referrer,origin:null===(c=window)||void 0===c?void 0:c.location.origin,url:null===(u=window)||void 0===u?void 0:u.location.href,userAgent:null===(s=navigator)||void 0===s?void 0:s.userAgent},n),["local","dev"].includes(a)&&console.log(d),t.label=1;case 1:return t.trys.push([1,3,,4]),[4,fetch("https://http-intake.logs.datadoghq.com/v1/input/".concat("pubb96b84a13912504f4354f2d794ea4fab"),{method:"POST",body:JSON.stringify(d),headers:{"Content-Type":"application/json"}})];case 2:return t.sent(),[3,4];case 3:return t.sent(),console.warn("There was an error sending telemetry."),[3,4];case 4:return[2]}})}),c=function(e,r){return l.apply(this,arguments)},{disableTelemetry:function(e){o=e},setBaseUrl:function(e){i=e},log:{error:function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return c(e,"error",r)},info:function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return c(e,"info",r)},warn:function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return c(e,"warn",r)}}}),d=function(e){var r=document.querySelector('script[src^="'.concat(e,'"]'));if(r)return r;var t=document.head||document.body;if(!t)throw Error("No <head> or <body> elements found in the document.");var n=Object.assign(document.createElement("script"),{src:e});return t.append(n),n},f="Tried to load BasisTheoryElements in a non-DOM environment.",p="Unable to load the Elements script. This may be due to network restrictions or browser extensions like ad blockers interfering with script loading. Check browser settings or network connection and try again.",h=function(e,n){return new Promise(function(o,i){var l,c=d(e),u=!1;c.addEventListener("load",function(){window.BasisTheoryElements?o(window.BasisTheoryElements):(r(function(){return t(this,function(e){switch(e.label){case 0:return[4,a.log.error("Elements not found on window on load",{logType:"elementsNotFoundOnWindow",logOrigin:"loadScript",retryCount:n})];case 1:return e.sent(),[2]}})})(),i(Error("Basis Theory Elements did not load properly. Check network tab for more details.")))}),c.addEventListener("error",(l=r(function(r){var l,s,d;return t(this,function(t){switch(t.label){case 0:if(u)return[2];return u=!0,[4,a.log.error("Elements script onError event",{logType:"elementsScriptOnError",logOrigin:"loadScript",retryCount:n,event:{message:null==r?void 0:r.message,source:null==r?void 0:r.filename,lineno:null==r?void 0:r.lineno,colno:null==r?void 0:r.colno,error:null==r?void 0:r.error,target:null==r?void 0:r.target}})];case 1:t.sent(),t.label=2;case 2:return t.trys.push([2,3,,5]),null==c||c.remove(),[3,5];case 3:return l=t.sent(),[4,a.log.error("Error removing script from DOM on retry attempt ".concat(n),{logType:"scriptRemovalError",logOrigin:"loadScript",retryCount:n,removalError:l})];case 4:return t.sent(),[3,5];case 5:if(0===n)return h(e,n+1).then(o).catch(i),[2];t.label=6;case 6:return t.trys.push([6,12,,14]),[4,fetch(e)];case 7:if((s=t.sent()).ok)return[3,9];return[4,a.log.error("Second attempt to load elements script failed, fetch failed with status: ".concat(s.status,"."),{logType:"elementsScriptFetchFailure",logOrigin:"loadScript",retryCount:n,fetchResult:"error",fetchResponse:s})];case 8:return t.sent(),i(Error(f)),[3,11];case 9:return[4,a.log.error("Second attempt to load elements script failed, fetch success",{logType:"elementsScriptFetchFailure",logOrigin:"loadScript",retryCount:n,fetchResult:"success",fetchResponse:s})];case 10:t.sent(),i(Error(p)),t.label=11;case 11:return[3,14];case 12:return d=t.sent(),[4,a.log.error("Second attempt failed to load elements script failed, fetch network error.",{logType:"elementsScriptFetchError",logOrigin:"loadScript",retryCount:n,fetchResult:"error",fetchError:d})];case 13:return t.sent(),i(Error(p)),[3,14];case 14:return i((null==r?void 0:r.error)||(null==r?void 0:r.message)||Error(p)),[2]}})}),function(e){return l.apply(this,arguments)}))})},v="1.21.0",y=(u=r(function(e,o){var i,l,c,u,s,d,p,y;return t(this,function(m){switch(m.label){case 0:if(!e||0===e.length)throw Error("API key is required");return i=(null==o?void 0:o._devMode)?"js.flock-dev.com":"js.basistheory.com",a.setBaseUrl(i),a.disableTelemetry(!!(null==o?void 0:o.disableTelemetry)),l="https://".concat(i,"/web-elements/").concat(v,"/client/index.js"),c="https://".concat(i,"/web-elements/").concat(v,"/hosted-elements/"),[4,(n||(n=new Promise(function(e,n){var o;if(("undefined"==typeof window?"undefined":(o=window)&&"undefined"!=typeof Symbol&&o.constructor===Symbol?"symbol":typeof o)!="object"){r(function(){return t(this,function(e){switch(e.label){case 0:return[4,a.log.warn(f,{logType:"elementsNonDomError",logOrigin:"loadElements"})];case 1:return e.sent(),n(Error(f)),[2]}})})();return}if(window.BasisTheoryElements){e(window.BasisTheoryElements);return}h(new URL(l).toString().replace(RegExp("\\/$","u"),""),0).then(e).catch(function(e){n(e)})})),n)];case 1:return[2,m.sent().init(e,c,!1,null===(u=null==o?void 0:o.useSameOriginApi)||void 0===u||u,null!==(s=null==o?void 0:o.disableTelemetry)&&void 0!==s&&s,null!==(d=null==o?void 0:o.debug)&&void 0!==d&&d,null!==(p=null==o?void 0:o.useUat)&&void 0!==p&&p,null!==(y=null==o?void 0:o.useNetworkCheck)&&void 0!==y&&y)]}})}),function(e,r){return u.apply(this,arguments)}),m=((s=m||{}).DECIMAL="decimal",s.EMAIL="email",s.NONE="none",s.NUMERIC="numeric",s.SEARCH="search",s.TEL="tel",s.TEXT="text",s.URL="url",s);function b(e){return(b=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function g(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(g=function(){return!!e})()}function w(e,r){return(w=Object.setPrototypeOf||function(e,r){return e.__proto__=r,e})(e,r)}function E(e,r,t){return(E=g()?Reflect.construct:function(e,r,t){var n=[null];n.push.apply(n,r);var o=new(Function.bind.apply(e,n));return t&&w(o,t.prototype),o}).apply(null,arguments)}function O(e){var r="function"==typeof Map?new Map:void 0;return(O=function(e){if(null===e||-1===Function.toString.call(e).indexOf("[native code]"))return e;if("function"!=typeof e)throw TypeError("Super expression must either be null or a function");if(void 0!==r){if(r.has(e))return r.get(e);r.set(e,t)}function t(){return E(e,arguments,b(this).constructor)}return t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),w(t,e)})(e)}O(Error),O(Error),O(Error),"undefined"!=typeof window&&document.currentScript&&!window.basistheory&&(window.basistheory=y)}();
@@ -303,11 +303,14 @@ const $6477b722f43d24f2$export$2b0a6e5a1c78018f = (elementsUrl)=>{
303
303
 
304
304
 
305
305
 
306
- var $eef42ce81412d9ae$exports = {};
307
- const $eef42ce81412d9ae$var$version = '1.19.0';
308
- $eef42ce81412d9ae$exports = {
309
- version: $eef42ce81412d9ae$var$version
310
- };
306
+ // Auto-generated version file
307
+ const $eef42ce81412d9ae$export$83d89fbfd8236492 = '1.21.0';
308
+
309
+
310
+ // Build-time generated URLs for regular deployment
311
+ const $5dbc1ef1648671b0$export$67c92c3b857d033a = null;
312
+ const $5dbc1ef1648671b0$export$9c5c779c8690dca6 = null;
313
+ const $5dbc1ef1648671b0$export$c0bd0a2c0619c4e7 = null;
311
314
 
312
315
 
313
316
  const $316c9c8f85cead13$var$TEST_ENV = 'js.flock-dev.com';
@@ -317,8 +320,11 @@ const $316c9c8f85cead13$export$cbe2892587230861 = async (apiKey, options)=>{
317
320
  const baseUrl = options?._devMode ? $316c9c8f85cead13$var$TEST_ENV : $316c9c8f85cead13$var$DEFAULT_ENV;
318
321
  (0, $fe2ec396f58502a3$export$af88d00dbe7f521).setBaseUrl(baseUrl);
319
322
  (0, $fe2ec396f58502a3$export$af88d00dbe7f521).disableTelemetry(Boolean(options?.disableTelemetry));
320
- const elements = await (0, $6477b722f43d24f2$export$2b0a6e5a1c78018f)(`https://${baseUrl}/web-elements/${(0, $eef42ce81412d9ae$exports.version)}/client/index.js`);
321
- return elements.init(apiKey, `https://${baseUrl}/web-elements/${(0, $eef42ce81412d9ae$exports.version)}/hosted-elements/`, false, options?.useSameOriginApi ?? true, options?.disableTelemetry ?? false, options?.debug ?? false);
323
+ // Use build-time generated URLs if available, otherwise fall back to version-based URLs
324
+ const clientJsUrl = (0, $5dbc1ef1648671b0$export$67c92c3b857d033a) || `https://${baseUrl}/web-elements/${0, $eef42ce81412d9ae$export$83d89fbfd8236492}/client/index.js`;
325
+ const hostedElementsBaseUrl = (0, $5dbc1ef1648671b0$export$9c5c779c8690dca6) || `https://${baseUrl}/web-elements/${0, $eef42ce81412d9ae$export$83d89fbfd8236492}/hosted-elements/`;
326
+ const elements = await (0, $6477b722f43d24f2$export$2b0a6e5a1c78018f)(clientJsUrl);
327
+ return elements.init(apiKey, hostedElementsBaseUrl, false, options?.useSameOriginApi ?? true, options?.disableTelemetry ?? false, options?.debug ?? false, options?.useUat ?? false, options?.useNetworkCheck ?? false);
322
328
  };
323
329
 
324
330
 
@@ -303,11 +303,14 @@ const $2cc07a9862fd14af$export$2b0a6e5a1c78018f = (elementsUrl)=>{
303
303
 
304
304
 
305
305
 
306
- var $6a2f0bfcc5905f21$exports = {};
307
- const $6a2f0bfcc5905f21$var$version = '1.19.0';
308
- $6a2f0bfcc5905f21$exports = {
309
- version: $6a2f0bfcc5905f21$var$version
310
- };
306
+ // Auto-generated version file
307
+ const $6a2f0bfcc5905f21$export$83d89fbfd8236492 = '1.21.0';
308
+
309
+
310
+ // Build-time generated URLs for regular deployment
311
+ const $c9bd4b894cc03378$export$67c92c3b857d033a = null;
312
+ const $c9bd4b894cc03378$export$9c5c779c8690dca6 = null;
313
+ const $c9bd4b894cc03378$export$c0bd0a2c0619c4e7 = null;
311
314
 
312
315
 
313
316
  const $65168f0452925da7$var$TEST_ENV = 'js.flock-dev.com';
@@ -317,8 +320,11 @@ const $65168f0452925da7$export$cbe2892587230861 = async (apiKey, options)=>{
317
320
  const baseUrl = options?._devMode ? $65168f0452925da7$var$TEST_ENV : $65168f0452925da7$var$DEFAULT_ENV;
318
321
  (0, $367e4a81566d966b$export$af88d00dbe7f521).setBaseUrl(baseUrl);
319
322
  (0, $367e4a81566d966b$export$af88d00dbe7f521).disableTelemetry(Boolean(options?.disableTelemetry));
320
- const elements = await (0, $2cc07a9862fd14af$export$2b0a6e5a1c78018f)(`https://${baseUrl}/web-elements/${(0, $6a2f0bfcc5905f21$exports.version)}/client/index.js`);
321
- return elements.init(apiKey, `https://${baseUrl}/web-elements/${(0, $6a2f0bfcc5905f21$exports.version)}/hosted-elements/`, false, options?.useSameOriginApi ?? true, options?.disableTelemetry ?? false, options?.debug ?? false);
323
+ // Use build-time generated URLs if available, otherwise fall back to version-based URLs
324
+ const clientJsUrl = (0, $c9bd4b894cc03378$export$67c92c3b857d033a) || `https://${baseUrl}/web-elements/${0, $6a2f0bfcc5905f21$export$83d89fbfd8236492}/client/index.js`;
325
+ const hostedElementsBaseUrl = (0, $c9bd4b894cc03378$export$9c5c779c8690dca6) || `https://${baseUrl}/web-elements/${0, $6a2f0bfcc5905f21$export$83d89fbfd8236492}/hosted-elements/`;
326
+ const elements = await (0, $2cc07a9862fd14af$export$2b0a6e5a1c78018f)(clientJsUrl);
327
+ return elements.init(apiKey, hostedElementsBaseUrl, false, options?.useSameOriginApi ?? true, options?.disableTelemetry ?? false, options?.debug ?? false, options?.useUat ?? false, options?.useNetworkCheck ?? false);
322
328
  };
323
329
 
324
330
 
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@basis-theory/web-elements",
3
- "version": "1.19.0",
3
+ "version": "1.21.0",
4
4
  "repository": "https://github.com/basis-theory/web-elements",
5
5
  "license": "Apache-2.0",
6
6
  "author": {
@@ -15,7 +15,7 @@
15
15
  "!/bundle"
16
16
  ],
17
17
  "scripts": {
18
- "prebuild": "TARGET_DIR=../../web-elements/src node ../scripts/web-elements/write-version-file.js",
18
+ "prebuild": "TARGET_DIR=../../web-elements/src node ../scripts/web-elements/write-version-file.js && TARGET_DIR=../../web-elements/src node ../scripts/web-elements/write-urls-file.js",
19
19
  "build:dev": "yarn clean && parcel build && npx size-limit && yarn generate-sri",
20
20
  "build": "node ../scripts/web-elements/prepare.js && parcel build --no-cache && yarn generate-sri",
21
21
  "clean": "rimraf dist .parcel-cache",
@@ -154,8 +154,12 @@ export interface ElementInternalOptions {
154
154
  apiKey: string | undefined;
155
155
  baseUrl: string;
156
156
  type: ElementType;
157
+ debug: boolean | undefined;
158
+ disableTelemetry: boolean | undefined;
157
159
  useNgApi: boolean | undefined;
158
160
  useSameOriginApi: boolean | undefined;
161
+ useUat: boolean | undefined;
162
+ useNetworkCheck: boolean | undefined;
159
163
  }
160
164
  export enum InputMode {
161
165
  DECIMAL = "decimal",
@@ -200,7 +204,11 @@ interface TransformOption {
200
204
  interface AutoCompleteOption {
201
205
  autoComplete?: AutoCompleteValue;
202
206
  }
207
+ interface CardAutoCompleteOption {
208
+ autoComplete?: CardElementAutoComplete;
209
+ }
203
210
  export type CustomizableElementOptions = Pick<ElementOptions, 'cardTypes' | 'copyIconStyles' | 'disabled' | 'enableCopy' | 'inputMode' | 'readOnly' | 'skipLuhnValidation' | 'style' | 'validateOnChange'> & AutoCompleteOption;
211
+ export type CardCustomizableElementOptions = Pick<ElementOptions, 'cardTypes' | 'copyIconStyles' | 'disabled' | 'enableCopy' | 'inputMode' | 'readOnly' | 'skipLuhnValidation' | 'style' | 'validateOnChange'> & CardAutoCompleteOption;
204
212
  type ElementValueType = 'static' | 'reference';
205
213
  export interface CardElementValue<T extends ElementValueType> {
206
214
  cvc?: T extends 'reference' ? DataElementReference : string;
@@ -222,8 +230,7 @@ export interface CardElementAutoComplete {
222
230
  expirationDate: AutoCompleteValue;
223
231
  csc: AutoCompleteValue;
224
232
  }
225
- export type CreateCardElementOptions = Omit<CustomizableElementOptions, 'autoComplete'> & Pick<ElementOptions, 'cardTypes' | 'skipLuhnValidation' | 'title'> & {
226
- autoComplete?: CardElementAutoComplete;
233
+ export type CreateCardElementOptions = CardCustomizableElementOptions & Pick<ElementOptions, 'cardTypes' | 'skipLuhnValidation' | 'title'> & {
227
234
  placeholder?: CardElementPlaceholder;
228
235
  value?: CardElementValue<'static'>;
229
236
  };
@@ -559,7 +566,7 @@ export interface BasisTheoryElements {
559
566
  createElement(type: 'cardVerificationCode', options: CreateCardVerificationCodeElementOptions): ICardVerificationCodeElement;
560
567
  }
561
568
  export interface BasisTheoryElementsInternal extends BasisTheoryElements {
562
- init: (apiKey: string | undefined, elementsBaseUrl: string, elementsUseNgApi: boolean | undefined, elementsUseSameOriginApi: boolean | undefined, disableTelemetry: boolean | undefined, debug: boolean | undefined) => Promise<BasisTheoryElements>;
569
+ init: (apiKey: string | undefined, elementsBaseUrl: string, elementsUseNgApi: boolean | undefined, elementsUseSameOriginApi: boolean | undefined, disableTelemetry: boolean | undefined, debug: boolean | undefined, useUat: boolean | undefined, useNetworkCheck: boolean | undefined) => Promise<BasisTheoryElements>;
563
570
  hasElement: (payload: unknown) => boolean;
564
571
  }
565
572
  declare global {
@@ -571,7 +578,9 @@ export interface BasisTheoryInitOptions {
571
578
  _devMode?: boolean;
572
579
  disableTelemetry?: boolean;
573
580
  useSameOriginApi?: boolean;
581
+ useUat?: boolean;
574
582
  debug?: boolean;
583
+ useNetworkCheck?: boolean;
575
584
  }
576
585
  export const basistheory: (apiKey: string, options?: BasisTheoryInitOptions) => Promise<BasisTheoryElements | undefined>;
577
586
  export class BasisTheoryApiError extends Error {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@basis-theory/web-elements",
3
- "version": "1.19.0",
3
+ "version": "1.21.0",
4
4
  "repository": "https://github.com/basis-theory/web-elements",
5
5
  "license": "Apache-2.0",
6
6
  "author": {
@@ -15,7 +15,7 @@
15
15
  "dist"
16
16
  ],
17
17
  "scripts": {
18
- "prebuild": "TARGET_DIR=../../web-elements/src node ../scripts/web-elements/write-version-file.js",
18
+ "prebuild": "TARGET_DIR=../../web-elements/src node ../scripts/web-elements/write-version-file.js && TARGET_DIR=../../web-elements/src node ../scripts/web-elements/write-urls-file.js",
19
19
  "build:dev": "yarn clean && parcel build && npx size-limit && yarn generate-sri",
20
20
  "build": "node ../scripts/web-elements/prepare.js && parcel build --no-cache && yarn generate-sri",
21
21
  "clean": "rimraf dist .parcel-cache",