@builder.io/sdk-solid 2.0.29 → 2.0.31

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.
@@ -3809,10 +3809,19 @@ var getEnv = () => {
3809
3809
  return validEnvList.includes(env) ? env : "production";
3810
3810
  };
3811
3811
 
3812
+ // src/functions/log-fetch.ts
3813
+ function logFetch(url) {
3814
+ if (typeof process !== "undefined" && process.env?.DEBUG) {
3815
+ if (String(process.env.DEBUG) == "true") {
3816
+ logger.log(url);
3817
+ }
3818
+ }
3819
+ }
3820
+
3812
3821
  // src/blocks/form/form/form.tsx
3813
- var _tmpl$13 = /* @__PURE__ */ template(`<pre class="builder-form-error-text pre-2e825338">`);
3822
+ var _tmpl$13 = /* @__PURE__ */ template(`<pre class="builder-form-error-text pre-6210236e">`);
3814
3823
  var _tmpl$26 = /* @__PURE__ */ template(`<form>`);
3815
- var _tmpl$34 = /* @__PURE__ */ template(`<style>.pre-2e825338 {
3824
+ var _tmpl$34 = /* @__PURE__ */ template(`<style>.pre-6210236e {
3816
3825
  padding: 10px;
3817
3826
  color: red;
3818
3827
  text-align: center;
@@ -3925,7 +3934,9 @@ function FormComponent(props) {
3925
3934
  }
3926
3935
  setFormState("sending");
3927
3936
  const formUrl = `${getEnv() === "dev" ? "http://localhost:5000" : "https://builder.io"}/api/v1/form-submit?apiKey=${props.builderContext.apiKey}&to=${btoa(props.sendSubmissionsToEmail || "")}&name=${encodeURIComponent(props.name || "")}`;
3928
- fetch(props.sendSubmissionsTo === "email" ? formUrl : props.action, {
3937
+ const url = props.sendSubmissionsTo === "email" ? formUrl : props.action;
3938
+ logFetch(url);
3939
+ fetch(url, {
3929
3940
  body,
3930
3941
  headers,
3931
3942
  method: props.method || "post"
@@ -4700,7 +4711,8 @@ var createRegisterComponentMessage = (info) => ({
4700
4711
  });
4701
4712
  var serializeFn = (fnValue) => {
4702
4713
  const fnStr = fnValue.toString().trim();
4703
- const appendFunction = !fnStr.startsWith("function") && !fnStr.startsWith("(");
4714
+ const isArrowWithoutParens = /^[a-zA-Z0-9_]+\s*=>/i.test(fnStr);
4715
+ const appendFunction = !fnStr.startsWith("function") && !fnStr.startsWith("(") && !isArrowWithoutParens;
4704
4716
  return `return (${appendFunction ? "function " : ""}${fnStr}).apply(this, arguments)`;
4705
4717
  };
4706
4718
  function serializeIncludingFunctions(info) {
@@ -4783,7 +4795,7 @@ function getPreviewContent(_searchParams) {
4783
4795
  }
4784
4796
 
4785
4797
  // src/constants/sdk-version.ts
4786
- var SDK_VERSION = "2.0.29";
4798
+ var SDK_VERSION = "2.0.31";
4787
4799
 
4788
4800
  // src/helpers/sdk-headers.ts
4789
4801
  var getSdkHeaders = () => ({
@@ -4911,8 +4923,15 @@ var generateContentUrl = (options) => {
4911
4923
  url.searchParams.set("limit", String(limit));
4912
4924
  url.searchParams.set("noTraverse", String(noTraverse));
4913
4925
  url.searchParams.set("includeRefs", String(true));
4914
- if (locale)
4915
- url.searchParams.set("locale", locale);
4926
+ const finalLocale = locale || userAttributes?.locale;
4927
+ let finalUserAttributes = userAttributes;
4928
+ if (finalLocale) {
4929
+ url.searchParams.set("locale", finalLocale);
4930
+ finalUserAttributes = {
4931
+ locale: finalLocale,
4932
+ ...finalUserAttributes
4933
+ };
4934
+ }
4916
4935
  if (enrich)
4917
4936
  url.searchParams.set("enrich", String(enrich));
4918
4937
  url.searchParams.set("omit", omit2 || "meta.componentsUsed");
@@ -4947,8 +4966,8 @@ var generateContentUrl = (options) => {
4947
4966
  for (const key in flattened) {
4948
4967
  url.searchParams.set(key, String(flattened[key]));
4949
4968
  }
4950
- if (userAttributes) {
4951
- url.searchParams.set("userAttributes", JSON.stringify(userAttributes));
4969
+ if (finalUserAttributes) {
4970
+ url.searchParams.set("userAttributes", JSON.stringify(finalUserAttributes));
4952
4971
  }
4953
4972
  if (query) {
4954
4973
  const flattened2 = flattenMongoQuery({
@@ -5212,7 +5231,9 @@ async function _track({
5212
5231
  return;
5213
5232
  }
5214
5233
  const baseUrl = apiHost || "https://cdn.builder.io";
5215
- return fetch(`${baseUrl}/api/v1/track`, {
5234
+ const url = `${baseUrl}/api/v1/track`;
5235
+ logFetch(url);
5236
+ return fetch(url, {
5216
5237
  method: "POST",
5217
5238
  body: JSON.stringify({
5218
5239
  events: [await createEvent(eventProps)]
@@ -5687,6 +5708,7 @@ function EnableEditor(props) {
5687
5708
  rootState: props.builderContextSignal.rootState,
5688
5709
  rootSetState: props.builderContextSignal.rootSetState
5689
5710
  })));
5711
+ logFetch(evaluatedUrl);
5690
5712
  fetch(evaluatedUrl).then((response) => response.json()).then((json) => {
5691
5713
  mergeNewRootState({
5692
5714
  [key]: json
@@ -3449,6 +3449,15 @@ var getEnv = () => {
3449
3449
  return validEnvList.includes(env) ? env : "production";
3450
3450
  };
3451
3451
 
3452
+ // src/functions/log-fetch.ts
3453
+ function logFetch(url) {
3454
+ if (typeof process !== "undefined" && process.env?.DEBUG) {
3455
+ if (String(process.env.DEBUG) == "true") {
3456
+ logger.log(url);
3457
+ }
3458
+ }
3459
+ }
3460
+
3452
3461
  // src/blocks/form/form/form.tsx
3453
3462
  function FormComponent(props) {
3454
3463
  const [formState, setFormState] = createSignal14("unsubmitted");
@@ -3555,14 +3564,13 @@ function FormComponent(props) {
3555
3564
  const formUrl = `${getEnv() === "dev" ? "http://localhost:5000" : "https://builder.io"}/api/v1/form-submit?apiKey=${props.builderContext.apiKey}&to=${btoa(
3556
3565
  props.sendSubmissionsToEmail || ""
3557
3566
  )}&name=${encodeURIComponent(props.name || "")}`;
3558
- fetch(
3559
- props.sendSubmissionsTo === "email" ? formUrl : props.action,
3560
- {
3561
- body,
3562
- headers,
3563
- method: props.method || "post"
3564
- }
3565
- ).then(
3567
+ const url = props.sendSubmissionsTo === "email" ? formUrl : props.action;
3568
+ logFetch(url);
3569
+ fetch(url, {
3570
+ body,
3571
+ headers,
3572
+ method: props.method || "post"
3573
+ }).then(
3566
3574
  async (res) => {
3567
3575
  let body2;
3568
3576
  const contentType = res.headers.get("content-type");
@@ -3669,14 +3677,14 @@ function FormComponent(props) {
3669
3677
  blocks={props.sendingMessage}
3670
3678
  context={props.builderContext}
3671
3679
  /></Show11>
3672
- <Show11 when={submissionState() === "error" && responseData()}><pre class="builder-form-error-text pre-2e825338">{JSON.stringify(responseData(), null, 2)}</pre></Show11>
3680
+ <Show11 when={submissionState() === "error" && responseData()}><pre class="builder-form-error-text pre-6210236e">{JSON.stringify(responseData(), null, 2)}</pre></Show11>
3673
3681
  <Show11 when={submissionState() === "success"}><Blocks_default
3674
3682
  path="successMessage"
3675
3683
  blocks={props.successMessage}
3676
3684
  context={props.builderContext}
3677
3685
  /></Show11>
3678
3686
  </form>
3679
- <style>{`.pre-2e825338 {
3687
+ <style>{`.pre-6210236e {
3680
3688
  padding: 10px;
3681
3689
  color: red;
3682
3690
  text-align: center;
@@ -4182,7 +4190,8 @@ var createRegisterComponentMessage = (info) => ({
4182
4190
  });
4183
4191
  var serializeFn = (fnValue) => {
4184
4192
  const fnStr = fnValue.toString().trim();
4185
- const appendFunction = !fnStr.startsWith("function") && !fnStr.startsWith("(");
4193
+ const isArrowWithoutParens = /^[a-zA-Z0-9_]+\s*=>/i.test(fnStr);
4194
+ const appendFunction = !fnStr.startsWith("function") && !fnStr.startsWith("(") && !isArrowWithoutParens;
4186
4195
  return `return (${appendFunction ? "function " : ""}${fnStr}).apply(this, arguments)`;
4187
4196
  };
4188
4197
  function serializeIncludingFunctions(info) {
@@ -4267,7 +4276,7 @@ function getPreviewContent(_searchParams) {
4267
4276
  }
4268
4277
 
4269
4278
  // src/constants/sdk-version.ts
4270
- var SDK_VERSION = "2.0.29";
4279
+ var SDK_VERSION = "2.0.31";
4271
4280
 
4272
4281
  // src/helpers/sdk-headers.ts
4273
4282
  var getSdkHeaders = () => ({
@@ -4395,8 +4404,15 @@ var generateContentUrl = (options) => {
4395
4404
  url.searchParams.set("limit", String(limit));
4396
4405
  url.searchParams.set("noTraverse", String(noTraverse));
4397
4406
  url.searchParams.set("includeRefs", String(true));
4398
- if (locale)
4399
- url.searchParams.set("locale", locale);
4407
+ const finalLocale = locale || userAttributes?.locale;
4408
+ let finalUserAttributes = userAttributes;
4409
+ if (finalLocale) {
4410
+ url.searchParams.set("locale", finalLocale);
4411
+ finalUserAttributes = {
4412
+ locale: finalLocale,
4413
+ ...finalUserAttributes
4414
+ };
4415
+ }
4400
4416
  if (enrich)
4401
4417
  url.searchParams.set("enrich", String(enrich));
4402
4418
  url.searchParams.set("omit", omit2 || "meta.componentsUsed");
@@ -4431,8 +4447,8 @@ var generateContentUrl = (options) => {
4431
4447
  for (const key in flattened) {
4432
4448
  url.searchParams.set(key, String(flattened[key]));
4433
4449
  }
4434
- if (userAttributes) {
4435
- url.searchParams.set("userAttributes", JSON.stringify(userAttributes));
4450
+ if (finalUserAttributes) {
4451
+ url.searchParams.set("userAttributes", JSON.stringify(finalUserAttributes));
4436
4452
  }
4437
4453
  if (query) {
4438
4454
  const flattened2 = flattenMongoQuery({
@@ -4696,7 +4712,9 @@ async function _track({
4696
4712
  return;
4697
4713
  }
4698
4714
  const baseUrl = apiHost || "https://cdn.builder.io";
4699
- return fetch(`${baseUrl}/api/v1/track`, {
4715
+ const url = `${baseUrl}/api/v1/track`;
4716
+ logFetch(url);
4717
+ return fetch(url, {
4700
4718
  method: "POST",
4701
4719
  body: JSON.stringify({
4702
4720
  events: [await createEvent(eventProps)]
@@ -5175,6 +5193,7 @@ function EnableEditor(props) {
5175
5193
  })
5176
5194
  )
5177
5195
  );
5196
+ logFetch(evaluatedUrl);
5178
5197
  fetch(evaluatedUrl).then((response) => response.json()).then((json) => {
5179
5198
  mergeNewRootState({
5180
5199
  [key]: json
@@ -3799,10 +3799,19 @@ var getEnv = () => {
3799
3799
  return validEnvList.includes(env) ? env : "production";
3800
3800
  };
3801
3801
 
3802
+ // src/functions/log-fetch.ts
3803
+ function logFetch(url) {
3804
+ if (typeof process !== "undefined" && process.env?.DEBUG) {
3805
+ if (String(process.env.DEBUG) == "true") {
3806
+ logger.log(url);
3807
+ }
3808
+ }
3809
+ }
3810
+
3802
3811
  // src/blocks/form/form/form.tsx
3803
- var _tmpl$13 = /* @__PURE__ */ template(`<pre class="builder-form-error-text pre-2e825338">`);
3812
+ var _tmpl$13 = /* @__PURE__ */ template(`<pre class="builder-form-error-text pre-6210236e">`);
3804
3813
  var _tmpl$26 = /* @__PURE__ */ template(`<form>`);
3805
- var _tmpl$34 = /* @__PURE__ */ template(`<style>.pre-2e825338 {
3814
+ var _tmpl$34 = /* @__PURE__ */ template(`<style>.pre-6210236e {
3806
3815
  padding: 10px;
3807
3816
  color: red;
3808
3817
  text-align: center;
@@ -3915,7 +3924,9 @@ function FormComponent(props) {
3915
3924
  }
3916
3925
  setFormState("sending");
3917
3926
  const formUrl = `${getEnv() === "dev" ? "http://localhost:5000" : "https://builder.io"}/api/v1/form-submit?apiKey=${props.builderContext.apiKey}&to=${btoa(props.sendSubmissionsToEmail || "")}&name=${encodeURIComponent(props.name || "")}`;
3918
- fetch(props.sendSubmissionsTo === "email" ? formUrl : props.action, {
3927
+ const url = props.sendSubmissionsTo === "email" ? formUrl : props.action;
3928
+ logFetch(url);
3929
+ fetch(url, {
3919
3930
  body,
3920
3931
  headers,
3921
3932
  method: props.method || "post"
@@ -4690,7 +4701,8 @@ var createRegisterComponentMessage = (info) => ({
4690
4701
  });
4691
4702
  var serializeFn = (fnValue) => {
4692
4703
  const fnStr = fnValue.toString().trim();
4693
- const appendFunction = !fnStr.startsWith("function") && !fnStr.startsWith("(");
4704
+ const isArrowWithoutParens = /^[a-zA-Z0-9_]+\s*=>/i.test(fnStr);
4705
+ const appendFunction = !fnStr.startsWith("function") && !fnStr.startsWith("(") && !isArrowWithoutParens;
4694
4706
  return `return (${appendFunction ? "function " : ""}${fnStr}).apply(this, arguments)`;
4695
4707
  };
4696
4708
  function serializeIncludingFunctions(info) {
@@ -4773,7 +4785,7 @@ function getPreviewContent(_searchParams) {
4773
4785
  }
4774
4786
 
4775
4787
  // src/constants/sdk-version.ts
4776
- var SDK_VERSION = "2.0.29";
4788
+ var SDK_VERSION = "2.0.31";
4777
4789
 
4778
4790
  // src/helpers/sdk-headers.ts
4779
4791
  var getSdkHeaders = () => ({
@@ -4899,8 +4911,15 @@ var generateContentUrl = (options) => {
4899
4911
  url.searchParams.set("limit", String(limit));
4900
4912
  url.searchParams.set("noTraverse", String(noTraverse));
4901
4913
  url.searchParams.set("includeRefs", String(true));
4902
- if (locale)
4903
- url.searchParams.set("locale", locale);
4914
+ const finalLocale = locale || userAttributes?.locale;
4915
+ let finalUserAttributes = userAttributes;
4916
+ if (finalLocale) {
4917
+ url.searchParams.set("locale", finalLocale);
4918
+ finalUserAttributes = {
4919
+ locale: finalLocale,
4920
+ ...finalUserAttributes
4921
+ };
4922
+ }
4904
4923
  if (enrich)
4905
4924
  url.searchParams.set("enrich", String(enrich));
4906
4925
  url.searchParams.set("omit", omit2 || "meta.componentsUsed");
@@ -4935,8 +4954,8 @@ var generateContentUrl = (options) => {
4935
4954
  for (const key in flattened) {
4936
4955
  url.searchParams.set(key, String(flattened[key]));
4937
4956
  }
4938
- if (userAttributes) {
4939
- url.searchParams.set("userAttributes", JSON.stringify(userAttributes));
4957
+ if (finalUserAttributes) {
4958
+ url.searchParams.set("userAttributes", JSON.stringify(finalUserAttributes));
4940
4959
  }
4941
4960
  if (query) {
4942
4961
  const flattened2 = flattenMongoQuery({
@@ -5198,7 +5217,9 @@ async function _track({
5198
5217
  return;
5199
5218
  }
5200
5219
  const baseUrl = apiHost || "https://cdn.builder.io";
5201
- return fetch(`${baseUrl}/api/v1/track`, {
5220
+ const url = `${baseUrl}/api/v1/track`;
5221
+ logFetch(url);
5222
+ return fetch(url, {
5202
5223
  method: "POST",
5203
5224
  body: JSON.stringify({
5204
5225
  events: [await createEvent(eventProps)]
@@ -5671,6 +5692,7 @@ function EnableEditor(props) {
5671
5692
  rootState: props.builderContextSignal.rootState,
5672
5693
  rootSetState: props.builderContextSignal.rootSetState
5673
5694
  })));
5695
+ logFetch(evaluatedUrl);
5674
5696
  fetch(evaluatedUrl).then((response) => response.json()).then((json) => {
5675
5697
  mergeNewRootState({
5676
5698
  [key]: json
@@ -3439,6 +3439,15 @@ var getEnv = () => {
3439
3439
  return validEnvList.includes(env) ? env : "production";
3440
3440
  };
3441
3441
 
3442
+ // src/functions/log-fetch.ts
3443
+ function logFetch(url) {
3444
+ if (typeof process !== "undefined" && process.env?.DEBUG) {
3445
+ if (String(process.env.DEBUG) == "true") {
3446
+ logger.log(url);
3447
+ }
3448
+ }
3449
+ }
3450
+
3442
3451
  // src/blocks/form/form/form.tsx
3443
3452
  function FormComponent(props) {
3444
3453
  const [formState, setFormState] = createSignal14("unsubmitted");
@@ -3545,14 +3554,13 @@ function FormComponent(props) {
3545
3554
  const formUrl = `${getEnv() === "dev" ? "http://localhost:5000" : "https://builder.io"}/api/v1/form-submit?apiKey=${props.builderContext.apiKey}&to=${btoa(
3546
3555
  props.sendSubmissionsToEmail || ""
3547
3556
  )}&name=${encodeURIComponent(props.name || "")}`;
3548
- fetch(
3549
- props.sendSubmissionsTo === "email" ? formUrl : props.action,
3550
- {
3551
- body,
3552
- headers,
3553
- method: props.method || "post"
3554
- }
3555
- ).then(
3557
+ const url = props.sendSubmissionsTo === "email" ? formUrl : props.action;
3558
+ logFetch(url);
3559
+ fetch(url, {
3560
+ body,
3561
+ headers,
3562
+ method: props.method || "post"
3563
+ }).then(
3556
3564
  async (res) => {
3557
3565
  let body2;
3558
3566
  const contentType = res.headers.get("content-type");
@@ -3659,14 +3667,14 @@ function FormComponent(props) {
3659
3667
  blocks={props.sendingMessage}
3660
3668
  context={props.builderContext}
3661
3669
  /></Show11>
3662
- <Show11 when={submissionState() === "error" && responseData()}><pre class="builder-form-error-text pre-2e825338">{JSON.stringify(responseData(), null, 2)}</pre></Show11>
3670
+ <Show11 when={submissionState() === "error" && responseData()}><pre class="builder-form-error-text pre-6210236e">{JSON.stringify(responseData(), null, 2)}</pre></Show11>
3663
3671
  <Show11 when={submissionState() === "success"}><Blocks_default
3664
3672
  path="successMessage"
3665
3673
  blocks={props.successMessage}
3666
3674
  context={props.builderContext}
3667
3675
  /></Show11>
3668
3676
  </form>
3669
- <style>{`.pre-2e825338 {
3677
+ <style>{`.pre-6210236e {
3670
3678
  padding: 10px;
3671
3679
  color: red;
3672
3680
  text-align: center;
@@ -4172,7 +4180,8 @@ var createRegisterComponentMessage = (info) => ({
4172
4180
  });
4173
4181
  var serializeFn = (fnValue) => {
4174
4182
  const fnStr = fnValue.toString().trim();
4175
- const appendFunction = !fnStr.startsWith("function") && !fnStr.startsWith("(");
4183
+ const isArrowWithoutParens = /^[a-zA-Z0-9_]+\s*=>/i.test(fnStr);
4184
+ const appendFunction = !fnStr.startsWith("function") && !fnStr.startsWith("(") && !isArrowWithoutParens;
4176
4185
  return `return (${appendFunction ? "function " : ""}${fnStr}).apply(this, arguments)`;
4177
4186
  };
4178
4187
  function serializeIncludingFunctions(info) {
@@ -4257,7 +4266,7 @@ function getPreviewContent(_searchParams) {
4257
4266
  }
4258
4267
 
4259
4268
  // src/constants/sdk-version.ts
4260
- var SDK_VERSION = "2.0.29";
4269
+ var SDK_VERSION = "2.0.31";
4261
4270
 
4262
4271
  // src/helpers/sdk-headers.ts
4263
4272
  var getSdkHeaders = () => ({
@@ -4383,8 +4392,15 @@ var generateContentUrl = (options) => {
4383
4392
  url.searchParams.set("limit", String(limit));
4384
4393
  url.searchParams.set("noTraverse", String(noTraverse));
4385
4394
  url.searchParams.set("includeRefs", String(true));
4386
- if (locale)
4387
- url.searchParams.set("locale", locale);
4395
+ const finalLocale = locale || userAttributes?.locale;
4396
+ let finalUserAttributes = userAttributes;
4397
+ if (finalLocale) {
4398
+ url.searchParams.set("locale", finalLocale);
4399
+ finalUserAttributes = {
4400
+ locale: finalLocale,
4401
+ ...finalUserAttributes
4402
+ };
4403
+ }
4388
4404
  if (enrich)
4389
4405
  url.searchParams.set("enrich", String(enrich));
4390
4406
  url.searchParams.set("omit", omit2 || "meta.componentsUsed");
@@ -4419,8 +4435,8 @@ var generateContentUrl = (options) => {
4419
4435
  for (const key in flattened) {
4420
4436
  url.searchParams.set(key, String(flattened[key]));
4421
4437
  }
4422
- if (userAttributes) {
4423
- url.searchParams.set("userAttributes", JSON.stringify(userAttributes));
4438
+ if (finalUserAttributes) {
4439
+ url.searchParams.set("userAttributes", JSON.stringify(finalUserAttributes));
4424
4440
  }
4425
4441
  if (query) {
4426
4442
  const flattened2 = flattenMongoQuery({
@@ -4682,7 +4698,9 @@ async function _track({
4682
4698
  return;
4683
4699
  }
4684
4700
  const baseUrl = apiHost || "https://cdn.builder.io";
4685
- return fetch(`${baseUrl}/api/v1/track`, {
4701
+ const url = `${baseUrl}/api/v1/track`;
4702
+ logFetch(url);
4703
+ return fetch(url, {
4686
4704
  method: "POST",
4687
4705
  body: JSON.stringify({
4688
4706
  events: [await createEvent(eventProps)]
@@ -5159,6 +5177,7 @@ function EnableEditor(props) {
5159
5177
  })
5160
5178
  )
5161
5179
  );
5180
+ logFetch(evaluatedUrl);
5162
5181
  fetch(evaluatedUrl).then((response) => response.json()).then((json) => {
5163
5182
  mergeNewRootState({
5164
5183
  [key]: json
package/lib/edge/dev.js CHANGED
@@ -6992,10 +6992,19 @@ var getEnv = () => {
6992
6992
  return validEnvList.includes(env) ? env : "production";
6993
6993
  };
6994
6994
 
6995
+ // src/functions/log-fetch.ts
6996
+ function logFetch(url) {
6997
+ if (typeof process !== "undefined" && process.env?.DEBUG) {
6998
+ if (String(process.env.DEBUG) == "true") {
6999
+ logger.log(url);
7000
+ }
7001
+ }
7002
+ }
7003
+
6995
7004
  // src/blocks/form/form/form.tsx
6996
- var _tmpl$13 = /* @__PURE__ */ template(`<pre class="builder-form-error-text pre-2e825338">`);
7005
+ var _tmpl$13 = /* @__PURE__ */ template(`<pre class="builder-form-error-text pre-6210236e">`);
6997
7006
  var _tmpl$26 = /* @__PURE__ */ template(`<form>`);
6998
- var _tmpl$34 = /* @__PURE__ */ template(`<style>.pre-2e825338 {
7007
+ var _tmpl$34 = /* @__PURE__ */ template(`<style>.pre-6210236e {
6999
7008
  padding: 10px;
7000
7009
  color: red;
7001
7010
  text-align: center;
@@ -7108,7 +7117,9 @@ function FormComponent(props) {
7108
7117
  }
7109
7118
  setFormState("sending");
7110
7119
  const formUrl = `${getEnv() === "dev" ? "http://localhost:5000" : "https://builder.io"}/api/v1/form-submit?apiKey=${props.builderContext.apiKey}&to=${btoa(props.sendSubmissionsToEmail || "")}&name=${encodeURIComponent(props.name || "")}`;
7111
- fetch(props.sendSubmissionsTo === "email" ? formUrl : props.action, {
7120
+ const url = props.sendSubmissionsTo === "email" ? formUrl : props.action;
7121
+ logFetch(url);
7122
+ fetch(url, {
7112
7123
  body,
7113
7124
  headers,
7114
7125
  method: props.method || "post"
@@ -7883,7 +7894,8 @@ var createRegisterComponentMessage = (info) => ({
7883
7894
  });
7884
7895
  var serializeFn = (fnValue) => {
7885
7896
  const fnStr = fnValue.toString().trim();
7886
- const appendFunction = !fnStr.startsWith("function") && !fnStr.startsWith("(");
7897
+ const isArrowWithoutParens = /^[a-zA-Z0-9_]+\s*=>/i.test(fnStr);
7898
+ const appendFunction = !fnStr.startsWith("function") && !fnStr.startsWith("(") && !isArrowWithoutParens;
7887
7899
  return `return (${appendFunction ? "function " : ""}${fnStr}).apply(this, arguments)`;
7888
7900
  };
7889
7901
  function serializeIncludingFunctions(info) {
@@ -7966,7 +7978,7 @@ function getPreviewContent(_searchParams) {
7966
7978
  }
7967
7979
 
7968
7980
  // src/constants/sdk-version.ts
7969
- var SDK_VERSION = "2.0.29";
7981
+ var SDK_VERSION = "2.0.31";
7970
7982
 
7971
7983
  // src/helpers/sdk-headers.ts
7972
7984
  var getSdkHeaders = () => ({
@@ -8094,8 +8106,15 @@ var generateContentUrl = (options) => {
8094
8106
  url.searchParams.set("limit", String(limit));
8095
8107
  url.searchParams.set("noTraverse", String(noTraverse));
8096
8108
  url.searchParams.set("includeRefs", String(true));
8097
- if (locale)
8098
- url.searchParams.set("locale", locale);
8109
+ const finalLocale = locale || userAttributes?.locale;
8110
+ let finalUserAttributes = userAttributes;
8111
+ if (finalLocale) {
8112
+ url.searchParams.set("locale", finalLocale);
8113
+ finalUserAttributes = {
8114
+ locale: finalLocale,
8115
+ ...finalUserAttributes
8116
+ };
8117
+ }
8099
8118
  if (enrich)
8100
8119
  url.searchParams.set("enrich", String(enrich));
8101
8120
  url.searchParams.set("omit", omit2 || "meta.componentsUsed");
@@ -8130,8 +8149,8 @@ var generateContentUrl = (options) => {
8130
8149
  for (const key in flattened) {
8131
8150
  url.searchParams.set(key, String(flattened[key]));
8132
8151
  }
8133
- if (userAttributes) {
8134
- url.searchParams.set("userAttributes", JSON.stringify(userAttributes));
8152
+ if (finalUserAttributes) {
8153
+ url.searchParams.set("userAttributes", JSON.stringify(finalUserAttributes));
8135
8154
  }
8136
8155
  if (query) {
8137
8156
  const flattened2 = flattenMongoQuery({
@@ -8395,7 +8414,9 @@ async function _track({
8395
8414
  return;
8396
8415
  }
8397
8416
  const baseUrl = apiHost || "https://cdn.builder.io";
8398
- return fetch(`${baseUrl}/api/v1/track`, {
8417
+ const url = `${baseUrl}/api/v1/track`;
8418
+ logFetch(url);
8419
+ return fetch(url, {
8399
8420
  method: "POST",
8400
8421
  body: JSON.stringify({
8401
8422
  events: [await createEvent(eventProps)]
@@ -8870,6 +8891,7 @@ function EnableEditor(props) {
8870
8891
  rootState: props.builderContextSignal.rootState,
8871
8892
  rootSetState: props.builderContextSignal.rootSetState
8872
8893
  })));
8894
+ logFetch(evaluatedUrl);
8873
8895
  fetch(evaluatedUrl).then((response) => response.json()).then((json) => {
8874
8896
  mergeNewRootState({
8875
8897
  [key]: json
package/lib/edge/dev.jsx CHANGED
@@ -6634,6 +6634,15 @@ var getEnv = () => {
6634
6634
  return validEnvList.includes(env) ? env : "production";
6635
6635
  };
6636
6636
 
6637
+ // src/functions/log-fetch.ts
6638
+ function logFetch(url) {
6639
+ if (typeof process !== "undefined" && process.env?.DEBUG) {
6640
+ if (String(process.env.DEBUG) == "true") {
6641
+ logger.log(url);
6642
+ }
6643
+ }
6644
+ }
6645
+
6637
6646
  // src/blocks/form/form/form.tsx
6638
6647
  function FormComponent(props) {
6639
6648
  const [formState, setFormState] = createSignal14("unsubmitted");
@@ -6740,14 +6749,13 @@ function FormComponent(props) {
6740
6749
  const formUrl = `${getEnv() === "dev" ? "http://localhost:5000" : "https://builder.io"}/api/v1/form-submit?apiKey=${props.builderContext.apiKey}&to=${btoa(
6741
6750
  props.sendSubmissionsToEmail || ""
6742
6751
  )}&name=${encodeURIComponent(props.name || "")}`;
6743
- fetch(
6744
- props.sendSubmissionsTo === "email" ? formUrl : props.action,
6745
- {
6746
- body,
6747
- headers,
6748
- method: props.method || "post"
6749
- }
6750
- ).then(
6752
+ const url = props.sendSubmissionsTo === "email" ? formUrl : props.action;
6753
+ logFetch(url);
6754
+ fetch(url, {
6755
+ body,
6756
+ headers,
6757
+ method: props.method || "post"
6758
+ }).then(
6751
6759
  async (res) => {
6752
6760
  let body2;
6753
6761
  const contentType = res.headers.get("content-type");
@@ -6854,14 +6862,14 @@ function FormComponent(props) {
6854
6862
  blocks={props.sendingMessage}
6855
6863
  context={props.builderContext}
6856
6864
  /></Show11>
6857
- <Show11 when={submissionState() === "error" && responseData()}><pre class="builder-form-error-text pre-2e825338">{JSON.stringify(responseData(), null, 2)}</pre></Show11>
6865
+ <Show11 when={submissionState() === "error" && responseData()}><pre class="builder-form-error-text pre-6210236e">{JSON.stringify(responseData(), null, 2)}</pre></Show11>
6858
6866
  <Show11 when={submissionState() === "success"}><Blocks_default
6859
6867
  path="successMessage"
6860
6868
  blocks={props.successMessage}
6861
6869
  context={props.builderContext}
6862
6870
  /></Show11>
6863
6871
  </form>
6864
- <style>{`.pre-2e825338 {
6872
+ <style>{`.pre-6210236e {
6865
6873
  padding: 10px;
6866
6874
  color: red;
6867
6875
  text-align: center;
@@ -7367,7 +7375,8 @@ var createRegisterComponentMessage = (info) => ({
7367
7375
  });
7368
7376
  var serializeFn = (fnValue) => {
7369
7377
  const fnStr = fnValue.toString().trim();
7370
- const appendFunction = !fnStr.startsWith("function") && !fnStr.startsWith("(");
7378
+ const isArrowWithoutParens = /^[a-zA-Z0-9_]+\s*=>/i.test(fnStr);
7379
+ const appendFunction = !fnStr.startsWith("function") && !fnStr.startsWith("(") && !isArrowWithoutParens;
7371
7380
  return `return (${appendFunction ? "function " : ""}${fnStr}).apply(this, arguments)`;
7372
7381
  };
7373
7382
  function serializeIncludingFunctions(info) {
@@ -7452,7 +7461,7 @@ function getPreviewContent(_searchParams) {
7452
7461
  }
7453
7462
 
7454
7463
  // src/constants/sdk-version.ts
7455
- var SDK_VERSION = "2.0.29";
7464
+ var SDK_VERSION = "2.0.31";
7456
7465
 
7457
7466
  // src/helpers/sdk-headers.ts
7458
7467
  var getSdkHeaders = () => ({
@@ -7580,8 +7589,15 @@ var generateContentUrl = (options) => {
7580
7589
  url.searchParams.set("limit", String(limit));
7581
7590
  url.searchParams.set("noTraverse", String(noTraverse));
7582
7591
  url.searchParams.set("includeRefs", String(true));
7583
- if (locale)
7584
- url.searchParams.set("locale", locale);
7592
+ const finalLocale = locale || userAttributes?.locale;
7593
+ let finalUserAttributes = userAttributes;
7594
+ if (finalLocale) {
7595
+ url.searchParams.set("locale", finalLocale);
7596
+ finalUserAttributes = {
7597
+ locale: finalLocale,
7598
+ ...finalUserAttributes
7599
+ };
7600
+ }
7585
7601
  if (enrich)
7586
7602
  url.searchParams.set("enrich", String(enrich));
7587
7603
  url.searchParams.set("omit", omit2 || "meta.componentsUsed");
@@ -7616,8 +7632,8 @@ var generateContentUrl = (options) => {
7616
7632
  for (const key in flattened) {
7617
7633
  url.searchParams.set(key, String(flattened[key]));
7618
7634
  }
7619
- if (userAttributes) {
7620
- url.searchParams.set("userAttributes", JSON.stringify(userAttributes));
7635
+ if (finalUserAttributes) {
7636
+ url.searchParams.set("userAttributes", JSON.stringify(finalUserAttributes));
7621
7637
  }
7622
7638
  if (query) {
7623
7639
  const flattened2 = flattenMongoQuery({
@@ -7881,7 +7897,9 @@ async function _track({
7881
7897
  return;
7882
7898
  }
7883
7899
  const baseUrl = apiHost || "https://cdn.builder.io";
7884
- return fetch(`${baseUrl}/api/v1/track`, {
7900
+ const url = `${baseUrl}/api/v1/track`;
7901
+ logFetch(url);
7902
+ return fetch(url, {
7885
7903
  method: "POST",
7886
7904
  body: JSON.stringify({
7887
7905
  events: [await createEvent(eventProps)]
@@ -8360,6 +8378,7 @@ function EnableEditor(props) {
8360
8378
  })
8361
8379
  )
8362
8380
  );
8381
+ logFetch(evaluatedUrl);
8363
8382
  fetch(evaluatedUrl).then((response) => response.json()).then((json) => {
8364
8383
  mergeNewRootState({
8365
8384
  [key]: json
package/lib/edge/index.js CHANGED
@@ -6982,10 +6982,19 @@ var getEnv = () => {
6982
6982
  return validEnvList.includes(env) ? env : "production";
6983
6983
  };
6984
6984
 
6985
+ // src/functions/log-fetch.ts
6986
+ function logFetch(url) {
6987
+ if (typeof process !== "undefined" && process.env?.DEBUG) {
6988
+ if (String(process.env.DEBUG) == "true") {
6989
+ logger.log(url);
6990
+ }
6991
+ }
6992
+ }
6993
+
6985
6994
  // src/blocks/form/form/form.tsx
6986
- var _tmpl$13 = /* @__PURE__ */ template(`<pre class="builder-form-error-text pre-2e825338">`);
6995
+ var _tmpl$13 = /* @__PURE__ */ template(`<pre class="builder-form-error-text pre-6210236e">`);
6987
6996
  var _tmpl$26 = /* @__PURE__ */ template(`<form>`);
6988
- var _tmpl$34 = /* @__PURE__ */ template(`<style>.pre-2e825338 {
6997
+ var _tmpl$34 = /* @__PURE__ */ template(`<style>.pre-6210236e {
6989
6998
  padding: 10px;
6990
6999
  color: red;
6991
7000
  text-align: center;
@@ -7098,7 +7107,9 @@ function FormComponent(props) {
7098
7107
  }
7099
7108
  setFormState("sending");
7100
7109
  const formUrl = `${getEnv() === "dev" ? "http://localhost:5000" : "https://builder.io"}/api/v1/form-submit?apiKey=${props.builderContext.apiKey}&to=${btoa(props.sendSubmissionsToEmail || "")}&name=${encodeURIComponent(props.name || "")}`;
7101
- fetch(props.sendSubmissionsTo === "email" ? formUrl : props.action, {
7110
+ const url = props.sendSubmissionsTo === "email" ? formUrl : props.action;
7111
+ logFetch(url);
7112
+ fetch(url, {
7102
7113
  body,
7103
7114
  headers,
7104
7115
  method: props.method || "post"
@@ -7873,7 +7884,8 @@ var createRegisterComponentMessage = (info) => ({
7873
7884
  });
7874
7885
  var serializeFn = (fnValue) => {
7875
7886
  const fnStr = fnValue.toString().trim();
7876
- const appendFunction = !fnStr.startsWith("function") && !fnStr.startsWith("(");
7887
+ const isArrowWithoutParens = /^[a-zA-Z0-9_]+\s*=>/i.test(fnStr);
7888
+ const appendFunction = !fnStr.startsWith("function") && !fnStr.startsWith("(") && !isArrowWithoutParens;
7877
7889
  return `return (${appendFunction ? "function " : ""}${fnStr}).apply(this, arguments)`;
7878
7890
  };
7879
7891
  function serializeIncludingFunctions(info) {
@@ -7956,7 +7968,7 @@ function getPreviewContent(_searchParams) {
7956
7968
  }
7957
7969
 
7958
7970
  // src/constants/sdk-version.ts
7959
- var SDK_VERSION = "2.0.29";
7971
+ var SDK_VERSION = "2.0.31";
7960
7972
 
7961
7973
  // src/helpers/sdk-headers.ts
7962
7974
  var getSdkHeaders = () => ({
@@ -8082,8 +8094,15 @@ var generateContentUrl = (options) => {
8082
8094
  url.searchParams.set("limit", String(limit));
8083
8095
  url.searchParams.set("noTraverse", String(noTraverse));
8084
8096
  url.searchParams.set("includeRefs", String(true));
8085
- if (locale)
8086
- url.searchParams.set("locale", locale);
8097
+ const finalLocale = locale || userAttributes?.locale;
8098
+ let finalUserAttributes = userAttributes;
8099
+ if (finalLocale) {
8100
+ url.searchParams.set("locale", finalLocale);
8101
+ finalUserAttributes = {
8102
+ locale: finalLocale,
8103
+ ...finalUserAttributes
8104
+ };
8105
+ }
8087
8106
  if (enrich)
8088
8107
  url.searchParams.set("enrich", String(enrich));
8089
8108
  url.searchParams.set("omit", omit2 || "meta.componentsUsed");
@@ -8118,8 +8137,8 @@ var generateContentUrl = (options) => {
8118
8137
  for (const key in flattened) {
8119
8138
  url.searchParams.set(key, String(flattened[key]));
8120
8139
  }
8121
- if (userAttributes) {
8122
- url.searchParams.set("userAttributes", JSON.stringify(userAttributes));
8140
+ if (finalUserAttributes) {
8141
+ url.searchParams.set("userAttributes", JSON.stringify(finalUserAttributes));
8123
8142
  }
8124
8143
  if (query) {
8125
8144
  const flattened2 = flattenMongoQuery({
@@ -8381,7 +8400,9 @@ async function _track({
8381
8400
  return;
8382
8401
  }
8383
8402
  const baseUrl = apiHost || "https://cdn.builder.io";
8384
- return fetch(`${baseUrl}/api/v1/track`, {
8403
+ const url = `${baseUrl}/api/v1/track`;
8404
+ logFetch(url);
8405
+ return fetch(url, {
8385
8406
  method: "POST",
8386
8407
  body: JSON.stringify({
8387
8408
  events: [await createEvent(eventProps)]
@@ -8854,6 +8875,7 @@ function EnableEditor(props) {
8854
8875
  rootState: props.builderContextSignal.rootState,
8855
8876
  rootSetState: props.builderContextSignal.rootSetState
8856
8877
  })));
8878
+ logFetch(evaluatedUrl);
8857
8879
  fetch(evaluatedUrl).then((response) => response.json()).then((json) => {
8858
8880
  mergeNewRootState({
8859
8881
  [key]: json
@@ -6624,6 +6624,15 @@ var getEnv = () => {
6624
6624
  return validEnvList.includes(env) ? env : "production";
6625
6625
  };
6626
6626
 
6627
+ // src/functions/log-fetch.ts
6628
+ function logFetch(url) {
6629
+ if (typeof process !== "undefined" && process.env?.DEBUG) {
6630
+ if (String(process.env.DEBUG) == "true") {
6631
+ logger.log(url);
6632
+ }
6633
+ }
6634
+ }
6635
+
6627
6636
  // src/blocks/form/form/form.tsx
6628
6637
  function FormComponent(props) {
6629
6638
  const [formState, setFormState] = createSignal14("unsubmitted");
@@ -6730,14 +6739,13 @@ function FormComponent(props) {
6730
6739
  const formUrl = `${getEnv() === "dev" ? "http://localhost:5000" : "https://builder.io"}/api/v1/form-submit?apiKey=${props.builderContext.apiKey}&to=${btoa(
6731
6740
  props.sendSubmissionsToEmail || ""
6732
6741
  )}&name=${encodeURIComponent(props.name || "")}`;
6733
- fetch(
6734
- props.sendSubmissionsTo === "email" ? formUrl : props.action,
6735
- {
6736
- body,
6737
- headers,
6738
- method: props.method || "post"
6739
- }
6740
- ).then(
6742
+ const url = props.sendSubmissionsTo === "email" ? formUrl : props.action;
6743
+ logFetch(url);
6744
+ fetch(url, {
6745
+ body,
6746
+ headers,
6747
+ method: props.method || "post"
6748
+ }).then(
6741
6749
  async (res) => {
6742
6750
  let body2;
6743
6751
  const contentType = res.headers.get("content-type");
@@ -6844,14 +6852,14 @@ function FormComponent(props) {
6844
6852
  blocks={props.sendingMessage}
6845
6853
  context={props.builderContext}
6846
6854
  /></Show11>
6847
- <Show11 when={submissionState() === "error" && responseData()}><pre class="builder-form-error-text pre-2e825338">{JSON.stringify(responseData(), null, 2)}</pre></Show11>
6855
+ <Show11 when={submissionState() === "error" && responseData()}><pre class="builder-form-error-text pre-6210236e">{JSON.stringify(responseData(), null, 2)}</pre></Show11>
6848
6856
  <Show11 when={submissionState() === "success"}><Blocks_default
6849
6857
  path="successMessage"
6850
6858
  blocks={props.successMessage}
6851
6859
  context={props.builderContext}
6852
6860
  /></Show11>
6853
6861
  </form>
6854
- <style>{`.pre-2e825338 {
6862
+ <style>{`.pre-6210236e {
6855
6863
  padding: 10px;
6856
6864
  color: red;
6857
6865
  text-align: center;
@@ -7357,7 +7365,8 @@ var createRegisterComponentMessage = (info) => ({
7357
7365
  });
7358
7366
  var serializeFn = (fnValue) => {
7359
7367
  const fnStr = fnValue.toString().trim();
7360
- const appendFunction = !fnStr.startsWith("function") && !fnStr.startsWith("(");
7368
+ const isArrowWithoutParens = /^[a-zA-Z0-9_]+\s*=>/i.test(fnStr);
7369
+ const appendFunction = !fnStr.startsWith("function") && !fnStr.startsWith("(") && !isArrowWithoutParens;
7361
7370
  return `return (${appendFunction ? "function " : ""}${fnStr}).apply(this, arguments)`;
7362
7371
  };
7363
7372
  function serializeIncludingFunctions(info) {
@@ -7442,7 +7451,7 @@ function getPreviewContent(_searchParams) {
7442
7451
  }
7443
7452
 
7444
7453
  // src/constants/sdk-version.ts
7445
- var SDK_VERSION = "2.0.29";
7454
+ var SDK_VERSION = "2.0.31";
7446
7455
 
7447
7456
  // src/helpers/sdk-headers.ts
7448
7457
  var getSdkHeaders = () => ({
@@ -7568,8 +7577,15 @@ var generateContentUrl = (options) => {
7568
7577
  url.searchParams.set("limit", String(limit));
7569
7578
  url.searchParams.set("noTraverse", String(noTraverse));
7570
7579
  url.searchParams.set("includeRefs", String(true));
7571
- if (locale)
7572
- url.searchParams.set("locale", locale);
7580
+ const finalLocale = locale || userAttributes?.locale;
7581
+ let finalUserAttributes = userAttributes;
7582
+ if (finalLocale) {
7583
+ url.searchParams.set("locale", finalLocale);
7584
+ finalUserAttributes = {
7585
+ locale: finalLocale,
7586
+ ...finalUserAttributes
7587
+ };
7588
+ }
7573
7589
  if (enrich)
7574
7590
  url.searchParams.set("enrich", String(enrich));
7575
7591
  url.searchParams.set("omit", omit2 || "meta.componentsUsed");
@@ -7604,8 +7620,8 @@ var generateContentUrl = (options) => {
7604
7620
  for (const key in flattened) {
7605
7621
  url.searchParams.set(key, String(flattened[key]));
7606
7622
  }
7607
- if (userAttributes) {
7608
- url.searchParams.set("userAttributes", JSON.stringify(userAttributes));
7623
+ if (finalUserAttributes) {
7624
+ url.searchParams.set("userAttributes", JSON.stringify(finalUserAttributes));
7609
7625
  }
7610
7626
  if (query) {
7611
7627
  const flattened2 = flattenMongoQuery({
@@ -7867,7 +7883,9 @@ async function _track({
7867
7883
  return;
7868
7884
  }
7869
7885
  const baseUrl = apiHost || "https://cdn.builder.io";
7870
- return fetch(`${baseUrl}/api/v1/track`, {
7886
+ const url = `${baseUrl}/api/v1/track`;
7887
+ logFetch(url);
7888
+ return fetch(url, {
7871
7889
  method: "POST",
7872
7890
  body: JSON.stringify({
7873
7891
  events: [await createEvent(eventProps)]
@@ -8344,6 +8362,7 @@ function EnableEditor(props) {
8344
8362
  })
8345
8363
  )
8346
8364
  );
8365
+ logFetch(evaluatedUrl);
8347
8366
  fetch(evaluatedUrl).then((response) => response.json()).then((json) => {
8348
8367
  mergeNewRootState({
8349
8368
  [key]: json
package/lib/node/dev.js CHANGED
@@ -3978,10 +3978,19 @@ var getEnv = () => {
3978
3978
  return validEnvList.includes(env) ? env : "production";
3979
3979
  };
3980
3980
 
3981
+ // src/functions/log-fetch.ts
3982
+ function logFetch(url) {
3983
+ if (typeof process !== "undefined" && process.env?.DEBUG) {
3984
+ if (String(process.env.DEBUG) == "true") {
3985
+ logger.log(url);
3986
+ }
3987
+ }
3988
+ }
3989
+
3981
3990
  // src/blocks/form/form/form.tsx
3982
- var _tmpl$13 = /* @__PURE__ */ template(`<pre class="builder-form-error-text pre-2e825338">`);
3991
+ var _tmpl$13 = /* @__PURE__ */ template(`<pre class="builder-form-error-text pre-6210236e">`);
3983
3992
  var _tmpl$26 = /* @__PURE__ */ template(`<form>`);
3984
- var _tmpl$34 = /* @__PURE__ */ template(`<style>.pre-2e825338 {
3993
+ var _tmpl$34 = /* @__PURE__ */ template(`<style>.pre-6210236e {
3985
3994
  padding: 10px;
3986
3995
  color: red;
3987
3996
  text-align: center;
@@ -4094,7 +4103,9 @@ function FormComponent(props) {
4094
4103
  }
4095
4104
  setFormState("sending");
4096
4105
  const formUrl = `${getEnv() === "dev" ? "http://localhost:5000" : "https://builder.io"}/api/v1/form-submit?apiKey=${props.builderContext.apiKey}&to=${btoa(props.sendSubmissionsToEmail || "")}&name=${encodeURIComponent(props.name || "")}`;
4097
- fetch(props.sendSubmissionsTo === "email" ? formUrl : props.action, {
4106
+ const url = props.sendSubmissionsTo === "email" ? formUrl : props.action;
4107
+ logFetch(url);
4108
+ fetch(url, {
4098
4109
  body,
4099
4110
  headers,
4100
4111
  method: props.method || "post"
@@ -4869,7 +4880,8 @@ var createRegisterComponentMessage = (info) => ({
4869
4880
  });
4870
4881
  var serializeFn = (fnValue) => {
4871
4882
  const fnStr = fnValue.toString().trim();
4872
- const appendFunction = !fnStr.startsWith("function") && !fnStr.startsWith("(");
4883
+ const isArrowWithoutParens = /^[a-zA-Z0-9_]+\s*=>/i.test(fnStr);
4884
+ const appendFunction = !fnStr.startsWith("function") && !fnStr.startsWith("(") && !isArrowWithoutParens;
4873
4885
  return `return (${appendFunction ? "function " : ""}${fnStr}).apply(this, arguments)`;
4874
4886
  };
4875
4887
  function serializeIncludingFunctions(info) {
@@ -4952,7 +4964,7 @@ function getPreviewContent(_searchParams) {
4952
4964
  }
4953
4965
 
4954
4966
  // src/constants/sdk-version.ts
4955
- var SDK_VERSION = "2.0.29";
4967
+ var SDK_VERSION = "2.0.31";
4956
4968
 
4957
4969
  // src/helpers/sdk-headers.ts
4958
4970
  var getSdkHeaders = () => ({
@@ -5080,8 +5092,15 @@ var generateContentUrl = (options) => {
5080
5092
  url.searchParams.set("limit", String(limit));
5081
5093
  url.searchParams.set("noTraverse", String(noTraverse));
5082
5094
  url.searchParams.set("includeRefs", String(true));
5083
- if (locale)
5084
- url.searchParams.set("locale", locale);
5095
+ const finalLocale = locale || userAttributes?.locale;
5096
+ let finalUserAttributes = userAttributes;
5097
+ if (finalLocale) {
5098
+ url.searchParams.set("locale", finalLocale);
5099
+ finalUserAttributes = {
5100
+ locale: finalLocale,
5101
+ ...finalUserAttributes
5102
+ };
5103
+ }
5085
5104
  if (enrich)
5086
5105
  url.searchParams.set("enrich", String(enrich));
5087
5106
  url.searchParams.set("omit", omit2 || "meta.componentsUsed");
@@ -5116,8 +5135,8 @@ var generateContentUrl = (options) => {
5116
5135
  for (const key in flattened) {
5117
5136
  url.searchParams.set(key, String(flattened[key]));
5118
5137
  }
5119
- if (userAttributes) {
5120
- url.searchParams.set("userAttributes", JSON.stringify(userAttributes));
5138
+ if (finalUserAttributes) {
5139
+ url.searchParams.set("userAttributes", JSON.stringify(finalUserAttributes));
5121
5140
  }
5122
5141
  if (query) {
5123
5142
  const flattened2 = flattenMongoQuery({
@@ -5381,7 +5400,9 @@ async function _track({
5381
5400
  return;
5382
5401
  }
5383
5402
  const baseUrl = apiHost || "https://cdn.builder.io";
5384
- return fetch(`${baseUrl}/api/v1/track`, {
5403
+ const url = `${baseUrl}/api/v1/track`;
5404
+ logFetch(url);
5405
+ return fetch(url, {
5385
5406
  method: "POST",
5386
5407
  body: JSON.stringify({
5387
5408
  events: [await createEvent(eventProps)]
@@ -5856,6 +5877,7 @@ function EnableEditor(props) {
5856
5877
  rootState: props.builderContextSignal.rootState,
5857
5878
  rootSetState: props.builderContextSignal.rootSetState
5858
5879
  })));
5880
+ logFetch(evaluatedUrl);
5859
5881
  fetch(evaluatedUrl).then((response) => response.json()).then((json) => {
5860
5882
  mergeNewRootState({
5861
5883
  [key]: json
package/lib/node/dev.jsx CHANGED
@@ -3620,6 +3620,15 @@ var getEnv = () => {
3620
3620
  return validEnvList.includes(env) ? env : "production";
3621
3621
  };
3622
3622
 
3623
+ // src/functions/log-fetch.ts
3624
+ function logFetch(url) {
3625
+ if (typeof process !== "undefined" && process.env?.DEBUG) {
3626
+ if (String(process.env.DEBUG) == "true") {
3627
+ logger.log(url);
3628
+ }
3629
+ }
3630
+ }
3631
+
3623
3632
  // src/blocks/form/form/form.tsx
3624
3633
  function FormComponent(props) {
3625
3634
  const [formState, setFormState] = createSignal14("unsubmitted");
@@ -3726,14 +3735,13 @@ function FormComponent(props) {
3726
3735
  const formUrl = `${getEnv() === "dev" ? "http://localhost:5000" : "https://builder.io"}/api/v1/form-submit?apiKey=${props.builderContext.apiKey}&to=${btoa(
3727
3736
  props.sendSubmissionsToEmail || ""
3728
3737
  )}&name=${encodeURIComponent(props.name || "")}`;
3729
- fetch(
3730
- props.sendSubmissionsTo === "email" ? formUrl : props.action,
3731
- {
3732
- body,
3733
- headers,
3734
- method: props.method || "post"
3735
- }
3736
- ).then(
3738
+ const url = props.sendSubmissionsTo === "email" ? formUrl : props.action;
3739
+ logFetch(url);
3740
+ fetch(url, {
3741
+ body,
3742
+ headers,
3743
+ method: props.method || "post"
3744
+ }).then(
3737
3745
  async (res) => {
3738
3746
  let body2;
3739
3747
  const contentType = res.headers.get("content-type");
@@ -3840,14 +3848,14 @@ function FormComponent(props) {
3840
3848
  blocks={props.sendingMessage}
3841
3849
  context={props.builderContext}
3842
3850
  /></Show11>
3843
- <Show11 when={submissionState() === "error" && responseData()}><pre class="builder-form-error-text pre-2e825338">{JSON.stringify(responseData(), null, 2)}</pre></Show11>
3851
+ <Show11 when={submissionState() === "error" && responseData()}><pre class="builder-form-error-text pre-6210236e">{JSON.stringify(responseData(), null, 2)}</pre></Show11>
3844
3852
  <Show11 when={submissionState() === "success"}><Blocks_default
3845
3853
  path="successMessage"
3846
3854
  blocks={props.successMessage}
3847
3855
  context={props.builderContext}
3848
3856
  /></Show11>
3849
3857
  </form>
3850
- <style>{`.pre-2e825338 {
3858
+ <style>{`.pre-6210236e {
3851
3859
  padding: 10px;
3852
3860
  color: red;
3853
3861
  text-align: center;
@@ -4353,7 +4361,8 @@ var createRegisterComponentMessage = (info) => ({
4353
4361
  });
4354
4362
  var serializeFn = (fnValue) => {
4355
4363
  const fnStr = fnValue.toString().trim();
4356
- const appendFunction = !fnStr.startsWith("function") && !fnStr.startsWith("(");
4364
+ const isArrowWithoutParens = /^[a-zA-Z0-9_]+\s*=>/i.test(fnStr);
4365
+ const appendFunction = !fnStr.startsWith("function") && !fnStr.startsWith("(") && !isArrowWithoutParens;
4357
4366
  return `return (${appendFunction ? "function " : ""}${fnStr}).apply(this, arguments)`;
4358
4367
  };
4359
4368
  function serializeIncludingFunctions(info) {
@@ -4438,7 +4447,7 @@ function getPreviewContent(_searchParams) {
4438
4447
  }
4439
4448
 
4440
4449
  // src/constants/sdk-version.ts
4441
- var SDK_VERSION = "2.0.29";
4450
+ var SDK_VERSION = "2.0.31";
4442
4451
 
4443
4452
  // src/helpers/sdk-headers.ts
4444
4453
  var getSdkHeaders = () => ({
@@ -4566,8 +4575,15 @@ var generateContentUrl = (options) => {
4566
4575
  url.searchParams.set("limit", String(limit));
4567
4576
  url.searchParams.set("noTraverse", String(noTraverse));
4568
4577
  url.searchParams.set("includeRefs", String(true));
4569
- if (locale)
4570
- url.searchParams.set("locale", locale);
4578
+ const finalLocale = locale || userAttributes?.locale;
4579
+ let finalUserAttributes = userAttributes;
4580
+ if (finalLocale) {
4581
+ url.searchParams.set("locale", finalLocale);
4582
+ finalUserAttributes = {
4583
+ locale: finalLocale,
4584
+ ...finalUserAttributes
4585
+ };
4586
+ }
4571
4587
  if (enrich)
4572
4588
  url.searchParams.set("enrich", String(enrich));
4573
4589
  url.searchParams.set("omit", omit2 || "meta.componentsUsed");
@@ -4602,8 +4618,8 @@ var generateContentUrl = (options) => {
4602
4618
  for (const key in flattened) {
4603
4619
  url.searchParams.set(key, String(flattened[key]));
4604
4620
  }
4605
- if (userAttributes) {
4606
- url.searchParams.set("userAttributes", JSON.stringify(userAttributes));
4621
+ if (finalUserAttributes) {
4622
+ url.searchParams.set("userAttributes", JSON.stringify(finalUserAttributes));
4607
4623
  }
4608
4624
  if (query) {
4609
4625
  const flattened2 = flattenMongoQuery({
@@ -4867,7 +4883,9 @@ async function _track({
4867
4883
  return;
4868
4884
  }
4869
4885
  const baseUrl = apiHost || "https://cdn.builder.io";
4870
- return fetch(`${baseUrl}/api/v1/track`, {
4886
+ const url = `${baseUrl}/api/v1/track`;
4887
+ logFetch(url);
4888
+ return fetch(url, {
4871
4889
  method: "POST",
4872
4890
  body: JSON.stringify({
4873
4891
  events: [await createEvent(eventProps)]
@@ -5346,6 +5364,7 @@ function EnableEditor(props) {
5346
5364
  })
5347
5365
  )
5348
5366
  );
5367
+ logFetch(evaluatedUrl);
5349
5368
  fetch(evaluatedUrl).then((response) => response.json()).then((json) => {
5350
5369
  mergeNewRootState({
5351
5370
  [key]: json
package/lib/node/index.js CHANGED
@@ -3968,10 +3968,19 @@ var getEnv = () => {
3968
3968
  return validEnvList.includes(env) ? env : "production";
3969
3969
  };
3970
3970
 
3971
+ // src/functions/log-fetch.ts
3972
+ function logFetch(url) {
3973
+ if (typeof process !== "undefined" && process.env?.DEBUG) {
3974
+ if (String(process.env.DEBUG) == "true") {
3975
+ logger.log(url);
3976
+ }
3977
+ }
3978
+ }
3979
+
3971
3980
  // src/blocks/form/form/form.tsx
3972
- var _tmpl$13 = /* @__PURE__ */ template(`<pre class="builder-form-error-text pre-2e825338">`);
3981
+ var _tmpl$13 = /* @__PURE__ */ template(`<pre class="builder-form-error-text pre-6210236e">`);
3973
3982
  var _tmpl$26 = /* @__PURE__ */ template(`<form>`);
3974
- var _tmpl$34 = /* @__PURE__ */ template(`<style>.pre-2e825338 {
3983
+ var _tmpl$34 = /* @__PURE__ */ template(`<style>.pre-6210236e {
3975
3984
  padding: 10px;
3976
3985
  color: red;
3977
3986
  text-align: center;
@@ -4084,7 +4093,9 @@ function FormComponent(props) {
4084
4093
  }
4085
4094
  setFormState("sending");
4086
4095
  const formUrl = `${getEnv() === "dev" ? "http://localhost:5000" : "https://builder.io"}/api/v1/form-submit?apiKey=${props.builderContext.apiKey}&to=${btoa(props.sendSubmissionsToEmail || "")}&name=${encodeURIComponent(props.name || "")}`;
4087
- fetch(props.sendSubmissionsTo === "email" ? formUrl : props.action, {
4096
+ const url = props.sendSubmissionsTo === "email" ? formUrl : props.action;
4097
+ logFetch(url);
4098
+ fetch(url, {
4088
4099
  body,
4089
4100
  headers,
4090
4101
  method: props.method || "post"
@@ -4859,7 +4870,8 @@ var createRegisterComponentMessage = (info) => ({
4859
4870
  });
4860
4871
  var serializeFn = (fnValue) => {
4861
4872
  const fnStr = fnValue.toString().trim();
4862
- const appendFunction = !fnStr.startsWith("function") && !fnStr.startsWith("(");
4873
+ const isArrowWithoutParens = /^[a-zA-Z0-9_]+\s*=>/i.test(fnStr);
4874
+ const appendFunction = !fnStr.startsWith("function") && !fnStr.startsWith("(") && !isArrowWithoutParens;
4863
4875
  return `return (${appendFunction ? "function " : ""}${fnStr}).apply(this, arguments)`;
4864
4876
  };
4865
4877
  function serializeIncludingFunctions(info) {
@@ -4942,7 +4954,7 @@ function getPreviewContent(_searchParams) {
4942
4954
  }
4943
4955
 
4944
4956
  // src/constants/sdk-version.ts
4945
- var SDK_VERSION = "2.0.29";
4957
+ var SDK_VERSION = "2.0.31";
4946
4958
 
4947
4959
  // src/helpers/sdk-headers.ts
4948
4960
  var getSdkHeaders = () => ({
@@ -5068,8 +5080,15 @@ var generateContentUrl = (options) => {
5068
5080
  url.searchParams.set("limit", String(limit));
5069
5081
  url.searchParams.set("noTraverse", String(noTraverse));
5070
5082
  url.searchParams.set("includeRefs", String(true));
5071
- if (locale)
5072
- url.searchParams.set("locale", locale);
5083
+ const finalLocale = locale || userAttributes?.locale;
5084
+ let finalUserAttributes = userAttributes;
5085
+ if (finalLocale) {
5086
+ url.searchParams.set("locale", finalLocale);
5087
+ finalUserAttributes = {
5088
+ locale: finalLocale,
5089
+ ...finalUserAttributes
5090
+ };
5091
+ }
5073
5092
  if (enrich)
5074
5093
  url.searchParams.set("enrich", String(enrich));
5075
5094
  url.searchParams.set("omit", omit2 || "meta.componentsUsed");
@@ -5104,8 +5123,8 @@ var generateContentUrl = (options) => {
5104
5123
  for (const key in flattened) {
5105
5124
  url.searchParams.set(key, String(flattened[key]));
5106
5125
  }
5107
- if (userAttributes) {
5108
- url.searchParams.set("userAttributes", JSON.stringify(userAttributes));
5126
+ if (finalUserAttributes) {
5127
+ url.searchParams.set("userAttributes", JSON.stringify(finalUserAttributes));
5109
5128
  }
5110
5129
  if (query) {
5111
5130
  const flattened2 = flattenMongoQuery({
@@ -5367,7 +5386,9 @@ async function _track({
5367
5386
  return;
5368
5387
  }
5369
5388
  const baseUrl = apiHost || "https://cdn.builder.io";
5370
- return fetch(`${baseUrl}/api/v1/track`, {
5389
+ const url = `${baseUrl}/api/v1/track`;
5390
+ logFetch(url);
5391
+ return fetch(url, {
5371
5392
  method: "POST",
5372
5393
  body: JSON.stringify({
5373
5394
  events: [await createEvent(eventProps)]
@@ -5840,6 +5861,7 @@ function EnableEditor(props) {
5840
5861
  rootState: props.builderContextSignal.rootState,
5841
5862
  rootSetState: props.builderContextSignal.rootSetState
5842
5863
  })));
5864
+ logFetch(evaluatedUrl);
5843
5865
  fetch(evaluatedUrl).then((response) => response.json()).then((json) => {
5844
5866
  mergeNewRootState({
5845
5867
  [key]: json
@@ -3610,6 +3610,15 @@ var getEnv = () => {
3610
3610
  return validEnvList.includes(env) ? env : "production";
3611
3611
  };
3612
3612
 
3613
+ // src/functions/log-fetch.ts
3614
+ function logFetch(url) {
3615
+ if (typeof process !== "undefined" && process.env?.DEBUG) {
3616
+ if (String(process.env.DEBUG) == "true") {
3617
+ logger.log(url);
3618
+ }
3619
+ }
3620
+ }
3621
+
3613
3622
  // src/blocks/form/form/form.tsx
3614
3623
  function FormComponent(props) {
3615
3624
  const [formState, setFormState] = createSignal14("unsubmitted");
@@ -3716,14 +3725,13 @@ function FormComponent(props) {
3716
3725
  const formUrl = `${getEnv() === "dev" ? "http://localhost:5000" : "https://builder.io"}/api/v1/form-submit?apiKey=${props.builderContext.apiKey}&to=${btoa(
3717
3726
  props.sendSubmissionsToEmail || ""
3718
3727
  )}&name=${encodeURIComponent(props.name || "")}`;
3719
- fetch(
3720
- props.sendSubmissionsTo === "email" ? formUrl : props.action,
3721
- {
3722
- body,
3723
- headers,
3724
- method: props.method || "post"
3725
- }
3726
- ).then(
3728
+ const url = props.sendSubmissionsTo === "email" ? formUrl : props.action;
3729
+ logFetch(url);
3730
+ fetch(url, {
3731
+ body,
3732
+ headers,
3733
+ method: props.method || "post"
3734
+ }).then(
3727
3735
  async (res) => {
3728
3736
  let body2;
3729
3737
  const contentType = res.headers.get("content-type");
@@ -3830,14 +3838,14 @@ function FormComponent(props) {
3830
3838
  blocks={props.sendingMessage}
3831
3839
  context={props.builderContext}
3832
3840
  /></Show11>
3833
- <Show11 when={submissionState() === "error" && responseData()}><pre class="builder-form-error-text pre-2e825338">{JSON.stringify(responseData(), null, 2)}</pre></Show11>
3841
+ <Show11 when={submissionState() === "error" && responseData()}><pre class="builder-form-error-text pre-6210236e">{JSON.stringify(responseData(), null, 2)}</pre></Show11>
3834
3842
  <Show11 when={submissionState() === "success"}><Blocks_default
3835
3843
  path="successMessage"
3836
3844
  blocks={props.successMessage}
3837
3845
  context={props.builderContext}
3838
3846
  /></Show11>
3839
3847
  </form>
3840
- <style>{`.pre-2e825338 {
3848
+ <style>{`.pre-6210236e {
3841
3849
  padding: 10px;
3842
3850
  color: red;
3843
3851
  text-align: center;
@@ -4343,7 +4351,8 @@ var createRegisterComponentMessage = (info) => ({
4343
4351
  });
4344
4352
  var serializeFn = (fnValue) => {
4345
4353
  const fnStr = fnValue.toString().trim();
4346
- const appendFunction = !fnStr.startsWith("function") && !fnStr.startsWith("(");
4354
+ const isArrowWithoutParens = /^[a-zA-Z0-9_]+\s*=>/i.test(fnStr);
4355
+ const appendFunction = !fnStr.startsWith("function") && !fnStr.startsWith("(") && !isArrowWithoutParens;
4347
4356
  return `return (${appendFunction ? "function " : ""}${fnStr}).apply(this, arguments)`;
4348
4357
  };
4349
4358
  function serializeIncludingFunctions(info) {
@@ -4428,7 +4437,7 @@ function getPreviewContent(_searchParams) {
4428
4437
  }
4429
4438
 
4430
4439
  // src/constants/sdk-version.ts
4431
- var SDK_VERSION = "2.0.29";
4440
+ var SDK_VERSION = "2.0.31";
4432
4441
 
4433
4442
  // src/helpers/sdk-headers.ts
4434
4443
  var getSdkHeaders = () => ({
@@ -4554,8 +4563,15 @@ var generateContentUrl = (options) => {
4554
4563
  url.searchParams.set("limit", String(limit));
4555
4564
  url.searchParams.set("noTraverse", String(noTraverse));
4556
4565
  url.searchParams.set("includeRefs", String(true));
4557
- if (locale)
4558
- url.searchParams.set("locale", locale);
4566
+ const finalLocale = locale || userAttributes?.locale;
4567
+ let finalUserAttributes = userAttributes;
4568
+ if (finalLocale) {
4569
+ url.searchParams.set("locale", finalLocale);
4570
+ finalUserAttributes = {
4571
+ locale: finalLocale,
4572
+ ...finalUserAttributes
4573
+ };
4574
+ }
4559
4575
  if (enrich)
4560
4576
  url.searchParams.set("enrich", String(enrich));
4561
4577
  url.searchParams.set("omit", omit2 || "meta.componentsUsed");
@@ -4590,8 +4606,8 @@ var generateContentUrl = (options) => {
4590
4606
  for (const key in flattened) {
4591
4607
  url.searchParams.set(key, String(flattened[key]));
4592
4608
  }
4593
- if (userAttributes) {
4594
- url.searchParams.set("userAttributes", JSON.stringify(userAttributes));
4609
+ if (finalUserAttributes) {
4610
+ url.searchParams.set("userAttributes", JSON.stringify(finalUserAttributes));
4595
4611
  }
4596
4612
  if (query) {
4597
4613
  const flattened2 = flattenMongoQuery({
@@ -4853,7 +4869,9 @@ async function _track({
4853
4869
  return;
4854
4870
  }
4855
4871
  const baseUrl = apiHost || "https://cdn.builder.io";
4856
- return fetch(`${baseUrl}/api/v1/track`, {
4872
+ const url = `${baseUrl}/api/v1/track`;
4873
+ logFetch(url);
4874
+ return fetch(url, {
4857
4875
  method: "POST",
4858
4876
  body: JSON.stringify({
4859
4877
  events: [await createEvent(eventProps)]
@@ -5330,6 +5348,7 @@ function EnableEditor(props) {
5330
5348
  })
5331
5349
  )
5332
5350
  );
5351
+ logFetch(evaluatedUrl);
5333
5352
  fetch(evaluatedUrl).then((response) => response.json()).then((json) => {
5334
5353
  mergeNewRootState({
5335
5354
  [key]: json
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@builder.io/sdk-solid",
3
- "version": "2.0.29",
3
+ "version": "2.0.31",
4
4
  "description": "",
5
5
  "files": [
6
6
  "dist",