@builder.io/sdk-react 1.0.12 → 1.0.13
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/lib/browser/blocks-exports.cjs +21 -20
- package/lib/browser/blocks-exports.mjs +140 -136
- package/lib/browser/index.cjs +1 -1
- package/lib/browser/index.mjs +1 -1
- package/lib/browser/{server-entry-34e4efb1.js → server-entry-1a840bf8.js} +1 -1
- package/lib/browser/{server-entry-60df1736.cjs → server-entry-20402a85.cjs} +1 -1
- package/lib/browser/server-entry.cjs +1 -1
- package/lib/browser/server-entry.mjs +1 -1
- package/lib/edge/{blocks-03ffaaf9.cjs → blocks-ca61b343.cjs} +1 -1
- package/lib/edge/blocks-exports.cjs +1 -1
- package/lib/edge/blocks-exports.mjs +2 -2
- package/lib/edge/{blocks-f8d5d3a0.js → blocks-fd4ab30c.js} +2 -2
- package/lib/edge/{button-5543875e.js → button-45681a80.js} +2 -2
- package/lib/edge/{button-5137d1bc.cjs → button-6d8b002c.cjs} +1 -1
- package/lib/edge/{columns-a05f9fd8.js → columns-61e1043d.js} +3 -3
- package/lib/edge/{columns-ad62a5ce.cjs → columns-77e4f17d.cjs} +1 -1
- package/lib/edge/{content-variants-74109911.js → content-variants-c085fa7f.js} +58 -54
- package/lib/edge/{content-variants-e6ba9024.cjs → content-variants-c86fdb5a.cjs} +11 -10
- package/lib/edge/{form-67a4ec0b.js → form-4fae6192.js} +3 -3
- package/lib/edge/{form-ee52f842.cjs → form-b996f9f9.cjs} +1 -1
- package/lib/edge/{get-class-prop-name-25116ae3.js → get-class-prop-name-0e4b7b88.js} +1 -1
- package/lib/edge/{get-class-prop-name-7ab1534a.cjs → get-class-prop-name-14e14eea.cjs} +1 -1
- package/lib/edge/{img-43af4666.js → img-1259941e.js} +1 -1
- package/lib/edge/{img-147fc69c.cjs → img-c623011b.cjs} +1 -1
- package/lib/edge/index.cjs +1 -1
- package/lib/edge/index.mjs +1 -1
- package/lib/edge/{input-35088f50.js → input-02a1cd9f.js} +1 -1
- package/lib/edge/{input-90830684.cjs → input-2c618b06.cjs} +1 -1
- package/lib/edge/{select-1e63f097.cjs → select-3acbf5f6.cjs} +1 -1
- package/lib/edge/{select-ee16e4ee.js → select-b1b6d0bf.js} +1 -1
- package/lib/edge/{server-entry-f2d127da.js → server-entry-3f0061ea.js} +1 -1
- package/lib/edge/{server-entry-39e6b4a6.cjs → server-entry-d8f950e0.cjs} +1 -1
- package/lib/edge/server-entry.cjs +1 -1
- package/lib/edge/server-entry.mjs +1 -1
- package/lib/edge/{slot-45a2e0bf.js → slot-3cefe326.js} +3 -3
- package/lib/edge/{slot-3db582db.cjs → slot-92eac261.cjs} +1 -1
- package/lib/edge/{symbol-c533a54f.cjs → symbol-741f0aee.cjs} +1 -1
- package/lib/edge/{symbol-75231166.js → symbol-e2a47b92.js} +3 -3
- package/lib/node/blocks-exports.cjs +13 -12
- package/lib/node/blocks-exports.mjs +37 -33
- package/lib/node/index.cjs +1 -1
- package/lib/node/index.mjs +1 -1
- package/lib/node/{server-entry-a0cd9606.js → server-entry-383e8da6.js} +1 -1
- package/lib/node/{server-entry-81eab45c.cjs → server-entry-6d61d1cf.cjs} +1 -1
- package/lib/node/server-entry.cjs +1 -1
- package/lib/node/server-entry.mjs +1 -1
- package/package.json +1 -1
- package/types/components/content/components/enable-editor.d.ts +1 -1
- package/types/components/content/components/styles.d.ts +1 -0
- package/types/components/content/components/styles.helpers.d.ts +1 -0
- package/types/components/content/contentProps.types.d.ts +6 -1
- package/types/components/content-variants/content-variants.d.ts +1 -1
- package/types/constants/sdk-version.d.ts +1 -1
|
@@ -3,7 +3,7 @@ var D = Object.defineProperty;
|
|
|
3
3
|
var _ = (e, t, n) => t in e ? D(e, t, { enumerable: !0, configurable: !0, writable: !0, value: n }) : e[t] = n;
|
|
4
4
|
var W = (e, t, n) => (_(e, typeof t != "symbol" ? t + "" : t, n), n);
|
|
5
5
|
import { jsx, Fragment, jsxs } from "react/jsx-runtime";
|
|
6
|
-
import { TARGET, isEditing, isBrowser, getUserAttributes, fastClone, checkIsDefined, logger, registerInsertMenu, setupBrowserForEditing, createRegisterComponentMessage, getDefaultCanTrack, _track, isPreviewing, fetchOneEntry, createEditorListener, fetch as fetch$1, serializeComponentInfo, handleABTestingSync } from "./server-entry-
|
|
6
|
+
import { TARGET, isEditing, isBrowser, getUserAttributes, fastClone, checkIsDefined, logger, registerInsertMenu, setupBrowserForEditing, createRegisterComponentMessage, getDefaultCanTrack, _track, isPreviewing, fetchOneEntry, createEditorListener, fetch as fetch$1, serializeComponentInfo, handleABTestingSync } from "./server-entry-383e8da6.js";
|
|
7
7
|
import { createContext, useState, useEffect, useContext, useRef, createElement } from "react";
|
|
8
8
|
const EMPTY_HTML_ELEMENTS = /* @__PURE__ */ new Set(["area", "base", "br", "col", "embed", "hr", "img", "input", "keygen", "link", "meta", "param", "source", "track", "wbr"]), isEmptyElement = (e) => typeof e == "string" && EMPTY_HTML_ELEMENTS.has(e.toLowerCase());
|
|
9
9
|
function DynamicRenderer(e) {
|
|
@@ -1107,7 +1107,7 @@ function Columns(e) {
|
|
|
1107
1107
|
};
|
|
1108
1108
|
}
|
|
1109
1109
|
function h(p) {
|
|
1110
|
-
const C = p === 0 ? 0 : t, w = c(p), E = `${C}px`,
|
|
1110
|
+
const C = p === 0 ? 0 : t, w = c(p), E = `${C}px`, F = "100%", N = 0;
|
|
1111
1111
|
return {
|
|
1112
1112
|
...{
|
|
1113
1113
|
display: "flex",
|
|
@@ -1117,19 +1117,19 @@ function Columns(e) {
|
|
|
1117
1117
|
width: w,
|
|
1118
1118
|
["marginLeft"]: E,
|
|
1119
1119
|
"--column-width-mobile": d({
|
|
1120
|
-
stackedStyle:
|
|
1120
|
+
stackedStyle: F,
|
|
1121
1121
|
desktopStyle: w
|
|
1122
1122
|
}),
|
|
1123
1123
|
"--column-margin-left-mobile": d({
|
|
1124
|
-
stackedStyle:
|
|
1124
|
+
stackedStyle: N,
|
|
1125
1125
|
desktopStyle: E
|
|
1126
1126
|
}),
|
|
1127
1127
|
"--column-width-tablet": l({
|
|
1128
|
-
stackedStyle:
|
|
1128
|
+
stackedStyle: F,
|
|
1129
1129
|
desktopStyle: w
|
|
1130
1130
|
}),
|
|
1131
1131
|
"--column-margin-left-tablet": l({
|
|
1132
|
-
stackedStyle:
|
|
1132
|
+
stackedStyle: N,
|
|
1133
1133
|
desktopStyle: E
|
|
1134
1134
|
})
|
|
1135
1135
|
};
|
|
@@ -2252,15 +2252,15 @@ function FormComponent(e) {
|
|
|
2252
2252
|
}), p = JSON.stringify(f);
|
|
2253
2253
|
}
|
|
2254
2254
|
E && E !== "multipart/form-data" && (h && ((y = e.action) != null && y.includes("zapier.com")) || (R["content-type"] = E));
|
|
2255
|
-
const
|
|
2256
|
-
if (t.current && (t.current.dispatchEvent(
|
|
2255
|
+
const F = new CustomEvent("presubmit", { detail: { body: p } });
|
|
2256
|
+
if (t.current && (t.current.dispatchEvent(F), F.defaultPrevented))
|
|
2257
2257
|
return;
|
|
2258
2258
|
o("sending");
|
|
2259
|
-
const
|
|
2259
|
+
const N = `${getEnv() === "dev" ? "http://localhost:5000" : "https://builder.io"}/api/v1/form-submit?apiKey=${e.builderContext.apiKey}&to=${btoa(
|
|
2260
2260
|
e.sendSubmissionsToEmail || ""
|
|
2261
2261
|
)}&name=${encodeURIComponent(e.name || "")}`;
|
|
2262
2262
|
fetch(
|
|
2263
|
-
e.sendSubmissionsTo === "email" ?
|
|
2263
|
+
e.sendSubmissionsTo === "email" ? N : e.action,
|
|
2264
2264
|
{ body: p, headers: R, method: e.method || "post" }
|
|
2265
2265
|
).then(
|
|
2266
2266
|
async (f) => {
|
|
@@ -2930,7 +2930,7 @@ const findParentElement = (e, t, n = !0) => {
|
|
|
2930
2930
|
};
|
|
2931
2931
|
};
|
|
2932
2932
|
function EnableEditor(e) {
|
|
2933
|
-
var E,
|
|
2933
|
+
var E, F, N, f, I, j, P;
|
|
2934
2934
|
const t = useRef(null), [n, o] = useState(() => 0);
|
|
2935
2935
|
useState(() => !0);
|
|
2936
2936
|
function i(b) {
|
|
@@ -2945,7 +2945,7 @@ function EnableEditor(e) {
|
|
|
2945
2945
|
}));
|
|
2946
2946
|
}
|
|
2947
2947
|
function a(b) {
|
|
2948
|
-
var x, v, k, B,
|
|
2948
|
+
var x, v, k, B, V;
|
|
2949
2949
|
const S = {
|
|
2950
2950
|
...e.builderContextSignal.content,
|
|
2951
2951
|
...b,
|
|
@@ -2956,7 +2956,7 @@ function EnableEditor(e) {
|
|
|
2956
2956
|
meta: {
|
|
2957
2957
|
...(v = e.builderContextSignal.content) == null ? void 0 : v.meta,
|
|
2958
2958
|
...b == null ? void 0 : b.meta,
|
|
2959
|
-
breakpoints: ((k = b == null ? void 0 : b.meta) == null ? void 0 : k.breakpoints) || ((
|
|
2959
|
+
breakpoints: ((k = b == null ? void 0 : b.meta) == null ? void 0 : k.breakpoints) || ((V = (B = e.builderContextSignal.content) == null ? void 0 : B.meta) == null ? void 0 : V.breakpoints)
|
|
2960
2960
|
}
|
|
2961
2961
|
};
|
|
2962
2962
|
e.setBuilderContextSignal(($) => ({
|
|
@@ -3057,9 +3057,9 @@ function EnableEditor(e) {
|
|
|
3057
3057
|
const b = (v = (x = (S = e.builderContextSignal.content) == null ? void 0 : S.data) == null ? void 0 : x.httpRequests) != null ? v : {};
|
|
3058
3058
|
Object.entries(b).forEach(([k, B]) => {
|
|
3059
3059
|
if (B && (!m[k] || isEditing())) {
|
|
3060
|
-
const
|
|
3060
|
+
const V = R(B);
|
|
3061
3061
|
p({
|
|
3062
|
-
url:
|
|
3062
|
+
url: V,
|
|
3063
3063
|
key: k
|
|
3064
3064
|
});
|
|
3065
3065
|
}
|
|
@@ -3115,8 +3115,8 @@ function EnableEditor(e) {
|
|
|
3115
3115
|
if (isPreviewing()) {
|
|
3116
3116
|
const v = new URL(location.href).searchParams, k = v.get("builder.preview"), B = v.get(
|
|
3117
3117
|
`builder.preview.${k}`
|
|
3118
|
-
),
|
|
3119
|
-
k === e.model &&
|
|
3118
|
+
), V = v.get("apiKey") || v.get("builder.space");
|
|
3119
|
+
k === e.model && V === e.apiKey && (!e.content || B === e.content.id) && fetchOneEntry({
|
|
3120
3120
|
model: e.model,
|
|
3121
3121
|
apiKey: e.apiKey,
|
|
3122
3122
|
apiVersion: e.builderContextSignal.apiVersion
|
|
@@ -3134,9 +3134,9 @@ function EnableEditor(e) {
|
|
|
3134
3134
|
}, [e.content]), useEffect(() => {
|
|
3135
3135
|
}, [r]), useEffect(() => {
|
|
3136
3136
|
u();
|
|
3137
|
-
}, [(
|
|
3137
|
+
}, [(F = (E = e.builderContextSignal.content) == null ? void 0 : E.data) == null ? void 0 : F.jsCode]), useEffect(() => {
|
|
3138
3138
|
C();
|
|
3139
|
-
}, [(f = (
|
|
3139
|
+
}, [(f = (N = e.builderContextSignal.content) == null ? void 0 : N.data) == null ? void 0 : f.httpRequests]), useEffect(() => {
|
|
3140
3140
|
w();
|
|
3141
3141
|
}, [e.builderContextSignal.rootState]), useEffect(() => {
|
|
3142
3142
|
e.data && i(e.data);
|
|
@@ -3201,18 +3201,7 @@ font-weight: ${s};
|
|
|
3201
3201
|
}, getCss = ({
|
|
3202
3202
|
cssCode: e,
|
|
3203
3203
|
contentId: t
|
|
3204
|
-
}) => e ? t ? (e == null ? void 0 : e.replace(/&/g, `div[builder-content-id="${t}"]`)) || "" : e : ""
|
|
3205
|
-
function ContentStyles(e) {
|
|
3206
|
-
const [t, n] = useState(
|
|
3207
|
-
() => `
|
|
3208
|
-
${getCss({
|
|
3209
|
-
cssCode: e.cssCode,
|
|
3210
|
-
contentId: e.contentId
|
|
3211
|
-
})}
|
|
3212
|
-
${getFontCss({
|
|
3213
|
-
customFonts: e.customFonts
|
|
3214
|
-
})}
|
|
3215
|
-
|
|
3204
|
+
}) => e ? t ? (e == null ? void 0 : e.replace(/&/g, `div[builder-content-id="${t}"]`)) || "" : e : "", DEFAULT_STYLES = `
|
|
3216
3205
|
.builder-button {
|
|
3217
3206
|
all: unset;
|
|
3218
3207
|
}
|
|
@@ -3229,6 +3218,18 @@ ${getFontCss({
|
|
|
3229
3218
|
text-align: inherit;
|
|
3230
3219
|
font-family: inherit;
|
|
3231
3220
|
}
|
|
3221
|
+
`, getDefaultStyles = (e) => e ? "" : DEFAULT_STYLES;
|
|
3222
|
+
function ContentStyles(e) {
|
|
3223
|
+
const [t, n] = useState(
|
|
3224
|
+
() => `
|
|
3225
|
+
${getCss({
|
|
3226
|
+
cssCode: e.cssCode,
|
|
3227
|
+
contentId: e.contentId
|
|
3228
|
+
})}
|
|
3229
|
+
${getFontCss({
|
|
3230
|
+
customFonts: e.customFonts
|
|
3231
|
+
})}
|
|
3232
|
+
${getDefaultStyles(e.isNestedRender)}
|
|
3232
3233
|
`.trim()
|
|
3233
3234
|
);
|
|
3234
3235
|
return /* @__PURE__ */ jsx(InlinedStyles, { styles: t });
|
|
@@ -3352,6 +3353,7 @@ function ContentComponent(e) {
|
|
|
3352
3353
|
/* @__PURE__ */ jsx(
|
|
3353
3354
|
ContentStyles,
|
|
3354
3355
|
{
|
|
3356
|
+
isNestedRender: e.isNestedRender,
|
|
3355
3357
|
contentId: (c = r.content) == null ? void 0 : c.id,
|
|
3356
3358
|
cssCode: (d = (l = r.content) == null ? void 0 : l.data) == null ? void 0 : d.cssCode,
|
|
3357
3359
|
customFonts: (m = (u = r.content) == null ? void 0 : u.data) == null ? void 0 : m.customFonts
|
|
@@ -3405,7 +3407,7 @@ function ContentVariants(e) {
|
|
|
3405
3407
|
}
|
|
3406
3408
|
return useEffect(() => {
|
|
3407
3409
|
}, []), /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
3408
|
-
!e.
|
|
3410
|
+
!e.isNestedRender && TARGET !== "reactNative" ? /* @__PURE__ */ jsx(InlinedScript, { scriptStr: getScriptString() }) : null,
|
|
3409
3411
|
t ? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
3410
3412
|
/* @__PURE__ */ jsx(
|
|
3411
3413
|
InlinedStyles,
|
|
@@ -3418,6 +3420,7 @@ function ContentVariants(e) {
|
|
|
3418
3420
|
(s = getVariants(e.content)) == null ? void 0 : s.map((c) => /* @__PURE__ */ jsx(
|
|
3419
3421
|
ContentComponent,
|
|
3420
3422
|
{
|
|
3423
|
+
isNestedRender: e.isNestedRender,
|
|
3421
3424
|
content: c,
|
|
3422
3425
|
showContent: !1,
|
|
3423
3426
|
model: e.model,
|
|
@@ -3443,6 +3446,7 @@ function ContentVariants(e) {
|
|
|
3443
3446
|
/* @__PURE__ */ jsx(
|
|
3444
3447
|
ContentComponent,
|
|
3445
3448
|
{
|
|
3449
|
+
isNestedRender: e.isNestedRender,
|
|
3446
3450
|
content: a(),
|
|
3447
3451
|
showContent: !0,
|
|
3448
3452
|
model: e.model,
|
|
@@ -3513,7 +3517,7 @@ function Symbol$1(e) {
|
|
|
3513
3517
|
}, [e.symbol]), /* @__PURE__ */ jsx("div", { ...e.attributes, className: t(), children: /* @__PURE__ */ jsx(
|
|
3514
3518
|
ContentVariants,
|
|
3515
3519
|
{
|
|
3516
|
-
|
|
3520
|
+
isNestedRender: !0,
|
|
3517
3521
|
apiVersion: e.builderContext.apiVersion,
|
|
3518
3522
|
apiKey: e.builderContext.apiKey,
|
|
3519
3523
|
context: {
|
package/lib/node/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./blocks-exports.cjs"),e=require("./server-entry-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./blocks-exports.cjs"),e=require("./server-entry-6d61d1cf.cjs");require("react/jsx-runtime");require("react");exports.Blocks=t.Blocks;exports.Button=t.Button;exports.Columns=t.Columns;exports.Content=t.Content;exports.Fragment=t.Fragment;exports.Image=t.Image;exports.Section=t.Section;exports.Symbol=t.Symbol;exports.Text=t.Text;exports.Video=t.Video;exports._processContentResult=e._processContentResult;exports.createRegisterComponentMessage=e.createRegisterComponentMessage;exports.fetchBuilderProps=e.fetchBuilderProps;exports.fetchEntries=e.fetchEntries;exports.fetchOneEntry=e.fetchOneEntry;exports.getBuilderSearchParams=e.getBuilderSearchParams;exports.isEditing=e.isEditing;exports.isPreviewing=e.isPreviewing;exports.register=e.register;exports.setEditorSettings=e.setEditorSettings;exports.subscribeToEditor=e.subscribeToEditor;exports.track=e.track;
|
package/lib/node/index.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Blocks as i, Button as s, Columns as n, Content as c, Fragment as m, Image as g, Section as a, Symbol as p, Text as d, Video as l } from "./blocks-exports.mjs";
|
|
2
|
-
import { _processContentResult as f, createRegisterComponentMessage as E, fetchBuilderProps as h, fetchEntries as B, fetchOneEntry as C, getBuilderSearchParams as S, isEditing as b, isPreviewing as x, register as P, setEditorSettings as k, subscribeToEditor as y, track as R } from "./server-entry-
|
|
2
|
+
import { _processContentResult as f, createRegisterComponentMessage as E, fetchBuilderProps as h, fetchEntries as B, fetchOneEntry as C, getBuilderSearchParams as S, isEditing as b, isPreviewing as x, register as P, setEditorSettings as k, subscribeToEditor as y, track as R } from "./server-entry-383e8da6.js";
|
|
3
3
|
import "react/jsx-runtime";
|
|
4
4
|
import "react";
|
|
5
5
|
export {
|
|
@@ -476,7 +476,7 @@ function H(e, t) {
|
|
|
476
476
|
const n = new URL(t.origin), r = n.hostname;
|
|
477
477
|
return (e || je).findIndex((o) => o.startsWith("*.") ? r.endsWith(o.slice(1)) : o === r) > -1;
|
|
478
478
|
}
|
|
479
|
-
const De = "1.0.
|
|
479
|
+
const De = "1.0.13", T = {};
|
|
480
480
|
function Ke(e, t) {
|
|
481
481
|
let n = T[e];
|
|
482
482
|
if (n || (n = T[e] = []), n.push(t), c()) {
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
"use strict";const b="react",I="[Builder.io]: ",d={log:(...e)=>console.log(I,...e),error:(...e)=>console.error(I,...e),warn:(...e)=>console.warn(I,...e),debug:(...e)=>console.debug(I,...e)};function c(){return typeof window!="undefined"&&typeof document!="undefined"}const ce=e=>{const t={};return e.forEach((n,r)=>{t[r]=n}),t},M=e=>e instanceof URLSearchParams?ce(e):e,F=e=>typeof e=="string"?e:e instanceof URLSearchParams?e.toString():new URLSearchParams(e).toString();function ue(){return c()&&window.self!==window.top}function k(e){return ue()&&F(e||window.location.search).indexOf("builder.frameEditing=")!==-1}const de=()=>{if(c()){const e=new URL(location.href);return e.pathname===""&&(e.pathname="/"),e}else return console.warn("Cannot get location for tracking in non-browser environment"),null},le=()=>typeof navigator=="object"&&navigator.userAgent||"",N=()=>{const e=le(),t={Android(){return e.match(/Android/i)},BlackBerry(){return e.match(/BlackBerry/i)},iOS(){return e.match(/iPhone|iPod/i)},Opera(){return e.match(/Opera Mini/i)},Windows(){return e.match(/IEMobile/i)||e.match(/WPDesktop/i)},any(){return t.Android()||t.BlackBerry()||t.iOS()||t.Opera()||t.Windows()||b==="reactNative"}},n=e.match(/Tablet|iPad/i),r=de();return{urlPath:r==null?void 0:r.pathname,host:(r==null?void 0:r.host)||(r==null?void 0:r.hostname),device:n?"tablet":t.any()?"mobile":"desktop"}},C=e=>JSON.parse(JSON.stringify(e)),p=e=>e!=null,fe=e=>{if(e==="localhost"||e==="127.0.0.1")return e;const t=e.split(".");return t.length>2?t.slice(1).join("."):e},D=({name:e,canTrack:t})=>{var n;try{return t?(n=document.cookie.split("; ").find(r=>r.startsWith(`${e}=`)))==null?void 0:n.split("=")[1]:void 0}catch(r){d.warn("[COOKIE] GET error: ",(r==null?void 0:r.message)||r);return}},j=async e=>D(e),ge=e=>e.map(([t,n])=>n?`${t}=${n}`:t).filter(p).join("; "),he=[["secure",""],["SameSite","None"]],pe=({name:e,value:t,expires:n})=>{const o=(c()?location.protocol==="https:":!0)?he:[[]],s=n?[["expires",n.toUTCString()]]:[[]],a=[[e,t],...s,["path","/"],["domain",fe(window.location.hostname)],...o];return ge(a)},K=async({name:e,value:t,expires:n,canTrack:r})=>{try{if(!r)return;const o=pe({name:e,value:t,expires:n});document.cookie=o}catch(o){d.warn("[COOKIE] SET error: ",(o==null?void 0:o.message)||o)}},me="builder.tests",P=e=>`${me}.${e}`,ye=({contentId:e})=>j({name:P(e),canTrack:!0}),we=({contentId:e})=>D({name:P(e),canTrack:!0}),Se=({contentId:e,value:t})=>K({name:P(e),value:t,canTrack:!0}),_=e=>p(e.id)&&p(e.variations)&&Object.keys(e.variations).length>0,be=({id:e,variations:t})=>{var o;let n=0;const r=Math.random();for(const s in t){const a=(o=t[s])==null?void 0:o.testRatio;if(n+=a,r<n)return s}return e},W=e=>{const t=be(e);return Se({contentId:e.id,value:t}).catch(n=>{d.error("could not store A/B test variation: ",n)}),t},$=({item:e,testGroupId:t})=>{const n=e.variations[t];return t===e.id||!n?{testVariationId:e.id,testVariationName:"Default"}:{data:n.data,testVariationId:n.id,testVariationName:n.name||(n.id===e.id?"Default":"")}},Ie=({item:e,canTrack:t})=>{if(!t)return e;if(!e)return;if(!_(e))return e;const n=we({contentId:e.id})||W({variations:e.variations,id:e.id}),r=$({item:e,testGroupId:n});return{...e,...r}},ve=async({item:e,canTrack:t})=>{if(!t||!_(e))return e;const r=await ye({contentId:e.id})||W({variations:e.variations,id:e.id}),o=$({item:e,testGroupId:r});return{...e,...o}},G=e=>p(e)?e:!0,Ee=e=>({type:"builder.registerComponent",data:z(e)}),ke=e=>{const t=e.toString().trim();return`return (${!t.startsWith("function")&&!t.startsWith("(")?"function ":""}${t}).apply(this, arguments)`},Ce=e=>typeof e=="function"?ke(e):C(e),z=({inputs:e,...t})=>({...C(t),inputs:e==null?void 0:e.map(n=>Object.entries(n).reduce((r,[o,s])=>({...r,[o]:Ce(s)}),{}))});function Pe(){return typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof global!="undefined"?global:typeof self!="undefined"?self:globalThis}function Oe(){const e=Pe().fetch;if(typeof e=="undefined")throw console.warn(`Builder SDK could not find a global fetch function. Make sure you have a polyfill for fetch in your project.
|
|
2
|
-
For more information, read https://github.com/BuilderIO/this-package-uses-fetch`),new Error("Builder SDK could not find a global `fetch` function");return e}const J=Oe();function v(e,t=null,n="."){return Object.keys(e).reduce((r,o)=>{const s=e[o],a=[t,o].filter(Boolean).join(n);return[typeof s=="object",s!==null,!(Array.isArray(s)&&s.length===0)].every(Boolean)?{...r,...v(s,a,n)}:{...r,[a]:s}},{})}const Te="v3",R="builder.",xe="options.",O=e=>{if(!e)return{};const t=M(e),n={};return Object.keys(t).forEach(r=>{if(r.startsWith(R)){const o=r.replace(R,"").replace(xe,"");n[o]=t[r]}}),n},Ae=()=>{if(!c())return{};const e=new URLSearchParams(window.location.search);return O(e)},B=e=>typeof e=="number"&&!isNaN(e)&&e>=0,T=e=>{const{limit:t=30,userAttributes:n,query:r,model:o,apiKey:s,enrich:a,locale:l,apiVersion:y=Te,fields:m,omit:E,offset:u,cacheSeconds:g,staleCacheSeconds:h,sort:w,includeUnpublished:x}=e;if(!s)throw new Error("Missing API key");if(!["v3"].includes(y))throw new Error(`Invalid apiVersion: expected 'v3', received '${y}'`);const ie=t!==1,i=new URL(`https://cdn.builder.io/api/${y}/content/${o}`);if(i.searchParams.set("apiKey",s),i.searchParams.set("limit",String(t)),i.searchParams.set("noTraverse",String(ie)),i.searchParams.set("includeRefs",String(!0)),l&&i.searchParams.set("locale",l),a&&i.searchParams.set("enrich",String(a)),i.searchParams.set("omit",E||"meta.componentsUsed"),m&&i.searchParams.set("fields",m),Number.isFinite(u)&&u>-1&&i.searchParams.set("offset",String(Math.floor(u))),typeof x=="boolean"&&i.searchParams.set("includeUnpublished",String(x)),g&&B(g)&&i.searchParams.set("cacheSeconds",String(g)),h&&B(h)&&i.searchParams.set("staleCacheSeconds",String(h)),w){const f=v({sort:w});for(const S in f)i.searchParams.set(S,JSON.stringify(f[S]))}const ae={...Ae(),...M(e.options||{})},A=v(ae);for(const f in A)i.searchParams.set(f,String(A[f]));if(n&&i.searchParams.set("userAttributes",JSON.stringify(n)),r){const f=v({query:r});for(const S in f)i.searchParams.set(S,JSON.stringify(f[S]))}return i},Re=e=>"results"in e;async function H(e){const t=await q({...e,limit:1});return t&&t[0]||null}const Be=async e=>{const t=T(e);return await(await J(t.href)).json()},X=async(e,t,n=T(e))=>{const r=G(e.canTrack);if(n.search.includes("preview="),!r||!(c()||b==="reactNative"))return t.results;try{const o=[];for(const s of t.results)o.push(await ve({item:s,canTrack:r}));t.results=o}catch(o){d.error("Could not process A/B tests. ",o)}return t.results};async function q(e){try{const t=T(e),n=await Be(e);return Re(n)?X(e,n):(d.error("Error fetching data. ",{url:t,content:n,options:e}),null)}catch(t){return d.error("Error fetching data. ",t),null}}function Le(e){if(!c())return!1;const t=F(e||window.location.search);return k(t)?!1:t.indexOf("builder.preview=")!==-1}function Ve(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(e){const t=Math.random()*16|0;return(e=="x"?t:t&3|8).toString(16)})}function Y(){return Ve().replace(/-/g,"")}const Q="builderSessionId",Ue=async({canTrack:e})=>{if(!e)return;const t=await j({name:Q,canTrack:e});if(p(t))return t;{const n=Me();return Fe({id:n,canTrack:e}),n}},Me=()=>Y(),Fe=({id:e,canTrack:t})=>K({name:Q,value:e,canTrack:t}),Z=()=>c()&&typeof localStorage!="undefined"?localStorage:void 0,Ne=({key:e,canTrack:t})=>{var n;try{return t?(n=Z())==null?void 0:n.getItem(e):void 0}catch(r){console.debug("[LocalStorage] GET error: ",r);return}},De=({key:e,canTrack:t,value:n})=>{var r;try{t&&((r=Z())==null||r.setItem(e,n))}catch(o){console.debug("[LocalStorage] SET error: ",o)}},ee="builderVisitorId",je=({canTrack:e})=>{if(!e)return;const t=Ne({key:ee,canTrack:e});if(p(t))return t;{const n=Ke();return _e({id:n,canTrack:e}),n}},Ke=()=>Y(),_e=({id:e,canTrack:t})=>De({key:ee,value:e,canTrack:t}),We=async({canTrack:e})=>{if(!e)return{visitorId:void 0,sessionId:void 0};const t=await Ue({canTrack:e}),n=je({canTrack:e});return{sessionId:t,visitorId:n}},$e=async({type:e,canTrack:t,apiKey:n,metadata:r,...o})=>({type:e,data:{...o,metadata:{url:location.href,...r},...await We({canTrack:t}),userAttributes:N(),ownerId:n}});async function te(e){if(!e.apiKey){d.error("Missing API key for track call. Please provide your API key.");return}if(e.canTrack&&!k()&&(c()||b==="reactNative"))return fetch("https://cdn.builder.io/api/v1/track",{method:"POST",body:JSON.stringify({events:[await $e(e)]}),headers:{"content-type":"application/json"},mode:"cors"}).catch(t=>{console.error("Failed to track: ",t)})}const Ge=e=>te({...e,canTrack:!0}),ze=["*.beta.builder.io","beta.builder.io","builder.io","localhost","qa.builder.io"];function ne(e,t){const n=new URL(t.origin),r=n.hostname;return(e||ze).findIndex(o=>o.startsWith("*.")?r.endsWith(o.slice(1)):o===r)>-1}const Je="1.0.
|
|
2
|
+
For more information, read https://github.com/BuilderIO/this-package-uses-fetch`),new Error("Builder SDK could not find a global `fetch` function");return e}const J=Oe();function v(e,t=null,n="."){return Object.keys(e).reduce((r,o)=>{const s=e[o],a=[t,o].filter(Boolean).join(n);return[typeof s=="object",s!==null,!(Array.isArray(s)&&s.length===0)].every(Boolean)?{...r,...v(s,a,n)}:{...r,[a]:s}},{})}const Te="v3",R="builder.",xe="options.",O=e=>{if(!e)return{};const t=M(e),n={};return Object.keys(t).forEach(r=>{if(r.startsWith(R)){const o=r.replace(R,"").replace(xe,"");n[o]=t[r]}}),n},Ae=()=>{if(!c())return{};const e=new URLSearchParams(window.location.search);return O(e)},B=e=>typeof e=="number"&&!isNaN(e)&&e>=0,T=e=>{const{limit:t=30,userAttributes:n,query:r,model:o,apiKey:s,enrich:a,locale:l,apiVersion:y=Te,fields:m,omit:E,offset:u,cacheSeconds:g,staleCacheSeconds:h,sort:w,includeUnpublished:x}=e;if(!s)throw new Error("Missing API key");if(!["v3"].includes(y))throw new Error(`Invalid apiVersion: expected 'v3', received '${y}'`);const ie=t!==1,i=new URL(`https://cdn.builder.io/api/${y}/content/${o}`);if(i.searchParams.set("apiKey",s),i.searchParams.set("limit",String(t)),i.searchParams.set("noTraverse",String(ie)),i.searchParams.set("includeRefs",String(!0)),l&&i.searchParams.set("locale",l),a&&i.searchParams.set("enrich",String(a)),i.searchParams.set("omit",E||"meta.componentsUsed"),m&&i.searchParams.set("fields",m),Number.isFinite(u)&&u>-1&&i.searchParams.set("offset",String(Math.floor(u))),typeof x=="boolean"&&i.searchParams.set("includeUnpublished",String(x)),g&&B(g)&&i.searchParams.set("cacheSeconds",String(g)),h&&B(h)&&i.searchParams.set("staleCacheSeconds",String(h)),w){const f=v({sort:w});for(const S in f)i.searchParams.set(S,JSON.stringify(f[S]))}const ae={...Ae(),...M(e.options||{})},A=v(ae);for(const f in A)i.searchParams.set(f,String(A[f]));if(n&&i.searchParams.set("userAttributes",JSON.stringify(n)),r){const f=v({query:r});for(const S in f)i.searchParams.set(S,JSON.stringify(f[S]))}return i},Re=e=>"results"in e;async function H(e){const t=await q({...e,limit:1});return t&&t[0]||null}const Be=async e=>{const t=T(e);return await(await J(t.href)).json()},X=async(e,t,n=T(e))=>{const r=G(e.canTrack);if(n.search.includes("preview="),!r||!(c()||b==="reactNative"))return t.results;try{const o=[];for(const s of t.results)o.push(await ve({item:s,canTrack:r}));t.results=o}catch(o){d.error("Could not process A/B tests. ",o)}return t.results};async function q(e){try{const t=T(e),n=await Be(e);return Re(n)?X(e,n):(d.error("Error fetching data. ",{url:t,content:n,options:e}),null)}catch(t){return d.error("Error fetching data. ",t),null}}function Le(e){if(!c())return!1;const t=F(e||window.location.search);return k(t)?!1:t.indexOf("builder.preview=")!==-1}function Ve(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(e){const t=Math.random()*16|0;return(e=="x"?t:t&3|8).toString(16)})}function Y(){return Ve().replace(/-/g,"")}const Q="builderSessionId",Ue=async({canTrack:e})=>{if(!e)return;const t=await j({name:Q,canTrack:e});if(p(t))return t;{const n=Me();return Fe({id:n,canTrack:e}),n}},Me=()=>Y(),Fe=({id:e,canTrack:t})=>K({name:Q,value:e,canTrack:t}),Z=()=>c()&&typeof localStorage!="undefined"?localStorage:void 0,Ne=({key:e,canTrack:t})=>{var n;try{return t?(n=Z())==null?void 0:n.getItem(e):void 0}catch(r){console.debug("[LocalStorage] GET error: ",r);return}},De=({key:e,canTrack:t,value:n})=>{var r;try{t&&((r=Z())==null||r.setItem(e,n))}catch(o){console.debug("[LocalStorage] SET error: ",o)}},ee="builderVisitorId",je=({canTrack:e})=>{if(!e)return;const t=Ne({key:ee,canTrack:e});if(p(t))return t;{const n=Ke();return _e({id:n,canTrack:e}),n}},Ke=()=>Y(),_e=({id:e,canTrack:t})=>De({key:ee,value:e,canTrack:t}),We=async({canTrack:e})=>{if(!e)return{visitorId:void 0,sessionId:void 0};const t=await Ue({canTrack:e}),n=je({canTrack:e});return{sessionId:t,visitorId:n}},$e=async({type:e,canTrack:t,apiKey:n,metadata:r,...o})=>({type:e,data:{...o,metadata:{url:location.href,...r},...await We({canTrack:t}),userAttributes:N(),ownerId:n}});async function te(e){if(!e.apiKey){d.error("Missing API key for track call. Please provide your API key.");return}if(e.canTrack&&!k()&&(c()||b==="reactNative"))return fetch("https://cdn.builder.io/api/v1/track",{method:"POST",body:JSON.stringify({events:[await $e(e)]}),headers:{"content-type":"application/json"},mode:"cors"}).catch(t=>{console.error("Failed to track: ",t)})}const Ge=e=>te({...e,canTrack:!0}),ze=["*.beta.builder.io","beta.builder.io","builder.io","localhost","qa.builder.io"];function ne(e,t){const n=new URL(t.origin),r=n.hostname;return(e||ze).findIndex(o=>o.startsWith("*.")?r.endsWith(o.slice(1)):o===r)>-1}const Je="1.0.13",L={};function re(e,t){let n=L[e];if(n||(n=L[e]=[]),n.push(t),c()){const r={type:"builder.register",data:{type:e,info:t}};try{parent.postMessage(r,"*"),parent!==window&&window.postMessage(r,"*")}catch(o){console.debug("Could not postmessage",o)}}}const He=()=>{re("insertMenu",{name:"_default",default:!0,items:[{name:"Box"},{name:"Text"},{name:"Image"},{name:"Columns"},{name:"Core:Section"},{name:"Core:Button"},{name:"Embed"},{name:"Custom Code"}]})};let V=!1;const oe=(e={})=>{var t,n;V||(V=!0,c()&&((t=window.parent)==null||t.postMessage({type:"builder.sdkInfo",data:{target:b,version:Je,supportsPatchUpdates:!1,supportsAddBlockScoping:!0,supportsCustomBreakpoints:!0}},"*"),(n=window.parent)==null||n.postMessage({type:"builder.updateContent",data:{options:e}},"*"),window.addEventListener("message",r=>{var s,a;if(!ne(e.trustedHosts,r))return;const{data:o}=r;if(o!=null&&o.type)switch(o.type){case"builder.evaluate":{const l=o.data.text,y=o.data.arguments||[],m=o.data.id,E=new Function(l);let u,g=null;try{u=E.apply(null,y)}catch(h){g=h}g?(s=window.parent)==null||s.postMessage({type:"builder.evaluateError",data:{id:m,error:g.message}},"*"):u&&typeof u.then=="function"?u.then(h=>{var w;(w=window.parent)==null||w.postMessage({type:"builder.evaluateResult",data:{id:m,result:h}},"*")}).catch(console.error):(a=window.parent)==null||a.postMessage({type:"builder.evaluateResult",data:{result:u,id:m}},"*");break}}})))},se=({model:e,trustedHosts:t,callbacks:n})=>r=>{if(!ne(t,r))return;const{data:o}=r;if(o)switch(o.type){case"builder.configureSdk":{n.configureSdk(o.data);break}case"builder.triggerAnimation":{n.animation(o.data);break}case"builder.contentUpdate":{const s=o.data,a=s.key||s.alias||s.entry||s.modelName,l=s.data;a===e&&n.contentUpdate(l);break}}},Xe=(e,t,n)=>{if(!c)return d.warn("`subscribeToEditor` only works in the browser. It currently seems to be running on the server."),()=>{};oe();const r=se({callbacks:{contentUpdate:t,animation:()=>{},configureSdk:()=>{}},model:e,trustedHosts:n==null?void 0:n.trustedHosts});return window.addEventListener("message",r),()=>{window.removeEventListener("message",r)}},U={};function qe(e){if(c()){Object.assign(U,e);const t={type:"builder.settingsChange",data:U};parent.postMessage(t,"*")}}const Ye=async e=>{var r,o,s;const t=e.path||((r=e.url)==null?void 0:r.pathname)||((o=e.userAttributes)==null?void 0:o.urlPath),n={...e,apiKey:e.apiKey,model:e.model||"page",userAttributes:{...e.userAttributes,...t?{urlPath:t}:{}},options:O(e.searchParams||((s=e.url)==null?void 0:s.searchParams)||e.options)};return{apiKey:n.apiKey,model:n.model,content:await H(n)}};exports.TARGET=b;exports._processContentResult=X;exports._track=te;exports.checkIsDefined=p;exports.createEditorListener=se;exports.createRegisterComponentMessage=Ee;exports.fastClone=C;exports.fetch=J;exports.fetchBuilderProps=Ye;exports.fetchEntries=q;exports.fetchOneEntry=H;exports.getBuilderSearchParams=O;exports.getDefaultCanTrack=G;exports.getUserAttributes=N;exports.handleABTestingSync=Ie;exports.isBrowser=c;exports.isEditing=k;exports.isPreviewing=Le;exports.logger=d;exports.register=re;exports.registerInsertMenu=He;exports.serializeComponentInfo=z;exports.setEditorSettings=qe;exports.setupBrowserForEditing=oe;exports.subscribeToEditor=Xe;exports.track=Ge;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./server-entry-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./server-entry-6d61d1cf.cjs");exports._processContentResult=e._processContentResult;exports.createRegisterComponentMessage=e.createRegisterComponentMessage;exports.fetchBuilderProps=e.fetchBuilderProps;exports.fetchEntries=e.fetchEntries;exports.fetchOneEntry=e.fetchOneEntry;exports.getBuilderSearchParams=e.getBuilderSearchParams;exports.isEditing=e.isEditing;exports.isPreviewing=e.isPreviewing;exports.register=e.register;exports.setEditorSettings=e.setEditorSettings;exports.subscribeToEditor=e.subscribeToEditor;exports.track=e.track;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { _processContentResult as r, createRegisterComponentMessage as s, fetchBuilderProps as i, fetchEntries as n, fetchOneEntry as o, getBuilderSearchParams as c, isEditing as g, isPreviewing as a, register as d, setEditorSettings as E, subscribeToEditor as f, track as h } from "./server-entry-
|
|
1
|
+
import { _processContentResult as r, createRegisterComponentMessage as s, fetchBuilderProps as i, fetchEntries as n, fetchOneEntry as o, getBuilderSearchParams as c, isEditing as g, isPreviewing as a, register as d, setEditorSettings as E, subscribeToEditor as f, track as h } from "./server-entry-383e8da6.js";
|
|
2
2
|
export {
|
|
3
3
|
r as _processContentResult,
|
|
4
4
|
s as createRegisterComponentMessage,
|
package/package.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
type BuilderEditorProps = Omit<ContentProps, "customComponents" | "apiVersion" | "isSsrAbTest" | "blocksWrapper" | "blocksWrapperProps"> & {
|
|
2
|
+
type BuilderEditorProps = Omit<ContentProps, "customComponents" | "apiVersion" | "isSsrAbTest" | "blocksWrapper" | "blocksWrapperProps" | "isNestedRender"> & {
|
|
3
3
|
builderContextSignal: BuilderContextInterface;
|
|
4
4
|
setBuilderContextSignal?: (signal: any) => any;
|
|
5
5
|
children?: any;
|
|
@@ -13,3 +13,4 @@ export declare const getCss: ({ cssCode, contentId }: {
|
|
|
13
13
|
cssCode?: string;
|
|
14
14
|
contentId?: string;
|
|
15
15
|
}) => string;
|
|
16
|
+
export declare const getDefaultStyles: (isNested: boolean | undefined) => "" | "\n.builder-button {\n all: unset;\n}\n\n.builder-text > p:first-of-type, .builder-text > .builder-paragraph:first-of-type {\n margin: 0;\n}\n.builder-text > p, .builder-text > .builder-paragraph {\n color: inherit;\n line-height: inherit;\n letter-spacing: inherit;\n font-weight: inherit;\n font-size: inherit;\n text-align: inherit;\n font-family: inherit;\n}\n";
|
|
@@ -8,5 +8,10 @@ interface InternalRenderProps {
|
|
|
8
8
|
* This is in a separate file so that we can override it (most notably in Vue,
|
|
9
9
|
* where prop types cannot be wrapped by generics like `EnforcePartials`).
|
|
10
10
|
*/
|
|
11
|
-
export type ContentProps = InternalRenderProps & EnforcePartials<ContentVariantsPrps
|
|
11
|
+
export type ContentProps = InternalRenderProps & EnforcePartials<ContentVariantsPrps> & {
|
|
12
|
+
/**
|
|
13
|
+
* For internal use only. Do not provide this prop.
|
|
14
|
+
*/
|
|
15
|
+
isNestedRender?: boolean;
|
|
16
|
+
};
|
|
12
17
|
export {};
|
|
@@ -3,7 +3,7 @@ type VariantsProviderProps = ContentVariantsPrps & {
|
|
|
3
3
|
/**
|
|
4
4
|
* For internal use only. Do not provide this prop.
|
|
5
5
|
*/
|
|
6
|
-
|
|
6
|
+
isNestedRender?: boolean;
|
|
7
7
|
};
|
|
8
8
|
import type { ContentVariantsPrps } from "./content-variants.types.js";
|
|
9
9
|
declare function ContentVariants(props: VariantsProviderProps): React.JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const SDK_VERSION = "1.0.
|
|
1
|
+
export declare const SDK_VERSION = "1.0.13";
|