@uniformdev/canvas 19.38.2 → 19.38.3-alpha.78
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/dist/index.d.mts +3173 -1420
- package/dist/index.d.ts +3173 -1420
- package/dist/index.esm.js +271 -81
- package/dist/index.js +281 -84
- package/dist/index.mjs +271 -81
- package/package.json +4 -4
package/dist/index.js
CHANGED
@@ -283,9 +283,10 @@ __export(src_exports, {
|
|
283
283
|
ATTRIBUTE_PARAMETER_TYPE: () => ATTRIBUTE_PARAMETER_TYPE,
|
284
284
|
ATTRIBUTE_PARAMETER_VALUE: () => ATTRIBUTE_PARAMETER_VALUE,
|
285
285
|
ATTRIBUTE_PLACEHOLDER: () => ATTRIBUTE_PLACEHOLDER,
|
286
|
-
ApiClientError: () =>
|
286
|
+
ApiClientError: () => import_api9.ApiClientError,
|
287
287
|
BatchEntry: () => BatchEntry,
|
288
288
|
CANVAS_DRAFT_STATE: () => CANVAS_DRAFT_STATE,
|
289
|
+
CANVAS_EDITOR_STATE: () => CANVAS_EDITOR_STATE,
|
289
290
|
CANVAS_ENRICHMENT_TAG_PARAM: () => CANVAS_ENRICHMENT_TAG_PARAM,
|
290
291
|
CANVAS_INTENT_TAG_PARAM: () => CANVAS_INTENT_TAG_PARAM,
|
291
292
|
CANVAS_LOCALE_TAG_PARAM: () => CANVAS_LOCALE_TAG_PARAM,
|
@@ -302,6 +303,7 @@ __export(src_exports, {
|
|
302
303
|
CanvasClientError: () => CanvasClientError,
|
303
304
|
CategoryClient: () => CategoryClient,
|
304
305
|
ChildEnhancerBuilder: () => ChildEnhancerBuilder,
|
306
|
+
ContentClient: () => ContentClient,
|
305
307
|
DataSourceClient: () => DataSourceClient,
|
306
308
|
DataTypeClient: () => DataTypeClient,
|
307
309
|
EDGE_CACHE_DISABLED: () => EDGE_CACHE_DISABLED,
|
@@ -315,13 +317,16 @@ __export(src_exports, {
|
|
315
317
|
EnhancerBuilder: () => EnhancerBuilder,
|
316
318
|
IN_CONTEXT_EDITOR_COMPONENT_END_ROLE: () => IN_CONTEXT_EDITOR_COMPONENT_END_ROLE,
|
317
319
|
IN_CONTEXT_EDITOR_COMPONENT_START_ROLE: () => IN_CONTEXT_EDITOR_COMPONENT_START_ROLE,
|
320
|
+
IN_CONTEXT_EDITOR_CONFIG_CHECK_QUERY_STRING_PARAM: () => IN_CONTEXT_EDITOR_CONFIG_CHECK_QUERY_STRING_PARAM,
|
318
321
|
IN_CONTEXT_EDITOR_EMBED_SCRIPT_ID: () => IN_CONTEXT_EDITOR_EMBED_SCRIPT_ID,
|
322
|
+
IN_CONTEXT_EDITOR_PLAYGROUND_QUERY_STRING_PARAM: () => IN_CONTEXT_EDITOR_PLAYGROUND_QUERY_STRING_PARAM,
|
319
323
|
IN_CONTEXT_EDITOR_QUERY_STRING_PARAM: () => IN_CONTEXT_EDITOR_QUERY_STRING_PARAM,
|
320
324
|
IS_RENDERED_BY_UNIFORM_ATTRIBUTE: () => IS_RENDERED_BY_UNIFORM_ATTRIBUTE,
|
321
325
|
PLACEHOLDER_ID: () => PLACEHOLDER_ID,
|
322
326
|
RouteClient: () => RouteClient,
|
323
327
|
UncachedCanvasClient: () => UncachedCanvasClient,
|
324
328
|
UncachedCategoryClient: () => UncachedCategoryClient,
|
329
|
+
UncachedContentClient: () => UncachedContentClient,
|
325
330
|
UniqueBatchEntries: () => UniqueBatchEntries,
|
326
331
|
bindVariables: () => bindVariables,
|
327
332
|
bindVariablesToObject: () => bindVariablesToObject,
|
@@ -331,6 +336,7 @@ __export(src_exports, {
|
|
331
336
|
createEventBus: () => createEventBus,
|
332
337
|
createLimitPolicy: () => createLimitPolicy,
|
333
338
|
createUniformApiEnhancer: () => createUniformApiEnhancer,
|
339
|
+
createVariableReference: () => createVariableReference,
|
334
340
|
enhance: () => enhance,
|
335
341
|
extractLocales: () => extractLocales,
|
336
342
|
generateHash: () => generateHash,
|
@@ -356,6 +362,7 @@ __export(src_exports, {
|
|
356
362
|
mapSlotToPersonalizedVariations: () => mapSlotToPersonalizedVariations,
|
357
363
|
mapSlotToTestVariations: () => mapSlotToTestVariations,
|
358
364
|
nullLimitPolicy: () => nullLimitPolicy,
|
365
|
+
parseVariableExpression: () => parseVariableExpression,
|
359
366
|
subscribeToComposition: () => subscribeToComposition,
|
360
367
|
unstable_CompositionRelationshipClient: () => unstable_CompositionRelationshipClient,
|
361
368
|
walkComponentTree: () => walkComponentTree
|
@@ -773,11 +780,84 @@ var unstable_CompositionRelationshipClient = class extends import_api4.ApiClient
|
|
773
780
|
}
|
774
781
|
};
|
775
782
|
|
776
|
-
// src/
|
783
|
+
// src/ContentClient.ts
|
777
784
|
var import_api5 = require("@uniformdev/context/api");
|
785
|
+
var _contentTypesUrl, _entriesUrl;
|
786
|
+
var _ContentClient = class _ContentClient extends import_api5.ApiClient {
|
787
|
+
constructor(options) {
|
788
|
+
var _a;
|
789
|
+
super(options);
|
790
|
+
this.edgeApiHost = (_a = options.edgeApiHost) != null ? _a : "https://uniform.global";
|
791
|
+
}
|
792
|
+
getContentTypes(options) {
|
793
|
+
const { projectId } = this.options;
|
794
|
+
const fetchUri = this.createUrl(__privateGet(_ContentClient, _contentTypesUrl), { ...options, projectId });
|
795
|
+
return this.apiClient(fetchUri);
|
796
|
+
}
|
797
|
+
getEntries(options) {
|
798
|
+
const { projectId } = this.options;
|
799
|
+
const { skipDataResolution, ...params } = options;
|
800
|
+
const fetchUri = skipDataResolution ? this.createUrl(__privateGet(_ContentClient, _entriesUrl), { ...params, projectId }) : this.createUrl(__privateGet(_ContentClient, _entriesUrl), this.getEdgeOptions(params), this.edgeApiHost);
|
801
|
+
return this.apiClient(fetchUri);
|
802
|
+
}
|
803
|
+
async upsertContentType(body) {
|
804
|
+
const fetchUri = this.createUrl(__privateGet(_ContentClient, _contentTypesUrl));
|
805
|
+
await this.apiClient(fetchUri, {
|
806
|
+
method: "PUT",
|
807
|
+
body: JSON.stringify({ ...body, projectId: this.options.projectId }),
|
808
|
+
expectNoContent: true
|
809
|
+
});
|
810
|
+
}
|
811
|
+
async upsertEntry(body) {
|
812
|
+
const fetchUri = this.createUrl(__privateGet(_ContentClient, _entriesUrl));
|
813
|
+
await this.apiClient(fetchUri, {
|
814
|
+
method: "PUT",
|
815
|
+
body: JSON.stringify({ ...body, projectId: this.options.projectId }),
|
816
|
+
expectNoContent: true
|
817
|
+
});
|
818
|
+
}
|
819
|
+
async deleteContentType(body) {
|
820
|
+
const fetchUri = this.createUrl(__privateGet(_ContentClient, _contentTypesUrl));
|
821
|
+
await this.apiClient(fetchUri, {
|
822
|
+
method: "DELETE",
|
823
|
+
body: JSON.stringify({ ...body, projectId: this.options.projectId }),
|
824
|
+
expectNoContent: true
|
825
|
+
});
|
826
|
+
}
|
827
|
+
async deleteEntry(body) {
|
828
|
+
const fetchUri = this.createUrl(__privateGet(_ContentClient, _entriesUrl));
|
829
|
+
await this.apiClient(fetchUri, {
|
830
|
+
method: "DELETE",
|
831
|
+
body: JSON.stringify({ ...body, projectId: this.options.projectId }),
|
832
|
+
expectNoContent: true
|
833
|
+
});
|
834
|
+
}
|
835
|
+
getEdgeOptions(options) {
|
836
|
+
const { projectId } = this.options;
|
837
|
+
const { skipDataResolution, ...params } = options;
|
838
|
+
return {
|
839
|
+
projectId,
|
840
|
+
...params,
|
841
|
+
diagnostics: (options == null ? void 0 : options.diagnostics) ? "true" : void 0
|
842
|
+
};
|
843
|
+
}
|
844
|
+
};
|
845
|
+
_contentTypesUrl = new WeakMap();
|
846
|
+
_entriesUrl = new WeakMap();
|
847
|
+
__privateAdd(_ContentClient, _contentTypesUrl, "/api/v1/content-types");
|
848
|
+
__privateAdd(_ContentClient, _entriesUrl, "/api/v1/entries");
|
849
|
+
var ContentClient = _ContentClient;
|
850
|
+
var UncachedContentClient = class extends ContentClient {
|
851
|
+
constructor(options) {
|
852
|
+
super({ ...options, bypassCache: true });
|
853
|
+
}
|
854
|
+
};
|
855
|
+
|
856
|
+
// src/DataSourceClient.ts
|
857
|
+
var import_api6 = require("@uniformdev/context/api");
|
778
858
|
var dataSourceUrl = "/api/v1/data-source";
|
779
859
|
var dataSourcesUrl = "/api/v1/data-sources";
|
780
|
-
var DataSourceClient = class extends
|
860
|
+
var DataSourceClient = class extends import_api6.ApiClient {
|
781
861
|
constructor(options) {
|
782
862
|
super(options);
|
783
863
|
}
|
@@ -814,9 +894,9 @@ var DataSourceClient = class extends import_api5.ApiClient {
|
|
814
894
|
};
|
815
895
|
|
816
896
|
// src/DataTypeClient.ts
|
817
|
-
var
|
897
|
+
var import_api7 = require("@uniformdev/context/api");
|
818
898
|
var _url;
|
819
|
-
var _DataTypeClient = class _DataTypeClient extends
|
899
|
+
var _DataTypeClient = class _DataTypeClient extends import_api7.ApiClient {
|
820
900
|
constructor(options) {
|
821
901
|
super(options);
|
822
902
|
}
|
@@ -1339,10 +1419,13 @@ var CANVAS_TEST_SLOT = "test";
|
|
1339
1419
|
var CANVAS_LOCALIZATION_SLOT = "localized";
|
1340
1420
|
var CANVAS_DRAFT_STATE = 0;
|
1341
1421
|
var CANVAS_PUBLISHED_STATE = 64;
|
1422
|
+
var CANVAS_EDITOR_STATE = 63;
|
1342
1423
|
var CANVAS_PERSONALIZATION_PARAM = "$pzCrit";
|
1343
1424
|
var CANVAS_TEST_VARIANT_PARAM = "$tstVrnt";
|
1344
1425
|
var CANVAS_ENRICHMENT_TAG_PARAM = "$enr";
|
1345
1426
|
var IN_CONTEXT_EDITOR_QUERY_STRING_PARAM = "is_incontext_editing_mode";
|
1427
|
+
var IN_CONTEXT_EDITOR_PLAYGROUND_QUERY_STRING_PARAM = "is_incontext_editing_playground";
|
1428
|
+
var IN_CONTEXT_EDITOR_CONFIG_CHECK_QUERY_STRING_PARAM = "is_config_check";
|
1346
1429
|
var IN_CONTEXT_EDITOR_COMPONENT_START_ROLE = "uniform-component-start";
|
1347
1430
|
var IN_CONTEXT_EDITOR_COMPONENT_END_ROLE = "uniform-component-end";
|
1348
1431
|
var IN_CONTEXT_EDITOR_EMBED_SCRIPT_ID = "uniform-canvas-preview-script";
|
@@ -1609,6 +1692,12 @@ var createCanvasChannel = ({
|
|
1609
1692
|
};
|
1610
1693
|
postMessage(message);
|
1611
1694
|
};
|
1695
|
+
const editorStateUpdated = () => {
|
1696
|
+
const message = {
|
1697
|
+
type: "editor-state-updated"
|
1698
|
+
};
|
1699
|
+
postMessage(message);
|
1700
|
+
};
|
1612
1701
|
const messageEventListener = (event) => {
|
1613
1702
|
if (typeof event.data !== "string") {
|
1614
1703
|
return;
|
@@ -1650,7 +1739,8 @@ var createCanvasChannel = ({
|
|
1650
1739
|
updatePreviewSettings,
|
1651
1740
|
updateContextualEditingStateInternal,
|
1652
1741
|
selectParameter,
|
1653
|
-
reportRenderedCompositions
|
1742
|
+
reportRenderedCompositions,
|
1743
|
+
editorStateUpdated
|
1654
1744
|
};
|
1655
1745
|
};
|
1656
1746
|
|
@@ -1733,9 +1823,9 @@ function subscribeToComposition({
|
|
1733
1823
|
}
|
1734
1824
|
|
1735
1825
|
// src/RouteClient.ts
|
1736
|
-
var
|
1826
|
+
var import_api8 = require("@uniformdev/context/api");
|
1737
1827
|
var ROUTE_URL = "/api/v1/route";
|
1738
|
-
var RouteClient = class extends
|
1828
|
+
var RouteClient = class extends import_api8.ApiClient {
|
1739
1829
|
constructor(options) {
|
1740
1830
|
var _a;
|
1741
1831
|
if (!options.limitPolicy) {
|
@@ -1752,80 +1842,6 @@ var RouteClient = class extends import_api7.ApiClient {
|
|
1752
1842
|
}
|
1753
1843
|
};
|
1754
1844
|
|
1755
|
-
// src/utils/bindVariables.ts
|
1756
|
-
function bindVariables({
|
1757
|
-
variables,
|
1758
|
-
value,
|
1759
|
-
errorPrefix = "Variable",
|
1760
|
-
handleBinding
|
1761
|
-
}) {
|
1762
|
-
let boundCount = 0;
|
1763
|
-
const errors = [];
|
1764
|
-
const defaultHandleBinding = (variableName, variables2, errors2) => {
|
1765
|
-
const variableValue = variables2[variableName];
|
1766
|
-
if (variableValue === void 0) {
|
1767
|
-
errors2.push(`${errorPrefix} "${variableName}" is not defined`);
|
1768
|
-
return "";
|
1769
|
-
}
|
1770
|
-
return variableValue;
|
1771
|
-
};
|
1772
|
-
const result = value.replace(/(?<!\\)\${([^}]+)}/g, (_match, variableName) => {
|
1773
|
-
const variableValue = (handleBinding != null ? handleBinding : defaultHandleBinding)(variableName, variables, errors);
|
1774
|
-
boundCount++;
|
1775
|
-
return variableValue;
|
1776
|
-
});
|
1777
|
-
return { result, boundCount, errors: errors.length > 0 ? errors : void 0 };
|
1778
|
-
}
|
1779
|
-
|
1780
|
-
// src/utils/bindVariablesToObject.ts
|
1781
|
-
var import_immer = require("immer");
|
1782
|
-
function bindVariablesToObject(options) {
|
1783
|
-
return bindVariablesToObjectRecursive(options);
|
1784
|
-
}
|
1785
|
-
function bindVariablesToObjectRecursive({
|
1786
|
-
value,
|
1787
|
-
recursivePath,
|
1788
|
-
...bindVariablesOptions
|
1789
|
-
}) {
|
1790
|
-
let boundCount = 0;
|
1791
|
-
const errors = [];
|
1792
|
-
if (typeof value === "string") {
|
1793
|
-
return bindVariables({ ...bindVariablesOptions, value });
|
1794
|
-
}
|
1795
|
-
if (typeof value !== "object" || value === null) {
|
1796
|
-
return { boundCount: 0, result: value };
|
1797
|
-
}
|
1798
|
-
const result = (0, import_immer.produce)(value, (draft) => {
|
1799
|
-
Object.entries(draft).forEach(([property, oldValue]) => {
|
1800
|
-
const currentObjectPath = recursivePath ? `${recursivePath}.${property}` : property;
|
1801
|
-
if (typeof oldValue === "string") {
|
1802
|
-
const bindResult = bindVariables({ ...bindVariablesOptions, value: oldValue });
|
1803
|
-
if (oldValue !== bindResult.result || bindResult.errors) {
|
1804
|
-
boundCount += bindResult.boundCount;
|
1805
|
-
draft[property] = bindResult.result;
|
1806
|
-
if (bindResult.errors) {
|
1807
|
-
errors.push(...bindResult.errors.map((e) => `${currentObjectPath}: ${e}`));
|
1808
|
-
}
|
1809
|
-
}
|
1810
|
-
return;
|
1811
|
-
}
|
1812
|
-
const childBind = bindVariablesToObjectRecursive({
|
1813
|
-
...bindVariablesOptions,
|
1814
|
-
value: oldValue,
|
1815
|
-
recursivePath: currentObjectPath
|
1816
|
-
});
|
1817
|
-
if (childBind.boundCount || childBind.errors) {
|
1818
|
-
boundCount += childBind.boundCount;
|
1819
|
-
draft[property] = childBind.result;
|
1820
|
-
if (childBind.errors) {
|
1821
|
-
errors.push(...childBind.errors.map((e) => `${currentObjectPath}: ${e}`));
|
1822
|
-
}
|
1823
|
-
}
|
1824
|
-
});
|
1825
|
-
});
|
1826
|
-
return { boundCount, result, errors: errors.length > 0 ? errors : void 0 };
|
1827
|
-
}
|
1828
|
-
|
1829
1845
|
// src/utils/createApiEnhancer.ts
|
1830
1846
|
var createUniformApiEnhancer = ({ apiUrl }) => {
|
1831
1847
|
return async (message) => {
|
@@ -1915,9 +1931,183 @@ function mapSlotToTestVariations(slot) {
|
|
1915
1931
|
});
|
1916
1932
|
}
|
1917
1933
|
|
1934
|
+
// src/utils/variables/parseVariableExpression.ts
|
1935
|
+
var escapeCharacter = "\\";
|
1936
|
+
var variablePrefix = "${";
|
1937
|
+
var variableSuffix = "}";
|
1938
|
+
function parseVariableExpression(serialized, onToken) {
|
1939
|
+
let bufferStartIndex = 0;
|
1940
|
+
let bufferEndIndex = 0;
|
1941
|
+
let tokenCount = 0;
|
1942
|
+
const handleToken = (token, type) => {
|
1943
|
+
tokenCount++;
|
1944
|
+
return onToken == null ? void 0 : onToken(token, type);
|
1945
|
+
};
|
1946
|
+
let state = "text";
|
1947
|
+
for (let index = 0; index < serialized.length; index++) {
|
1948
|
+
const char = serialized[index];
|
1949
|
+
if (bufferStartIndex > bufferEndIndex) {
|
1950
|
+
bufferEndIndex = bufferStartIndex;
|
1951
|
+
}
|
1952
|
+
if (char === variablePrefix[0] && serialized[index + 1] === variablePrefix[1]) {
|
1953
|
+
if (serialized[index - 1] === escapeCharacter) {
|
1954
|
+
bufferEndIndex -= escapeCharacter.length;
|
1955
|
+
if (handleToken(serialized.substring(bufferStartIndex, bufferEndIndex), "text") === false) {
|
1956
|
+
return tokenCount;
|
1957
|
+
}
|
1958
|
+
bufferStartIndex = index;
|
1959
|
+
bufferEndIndex = index + 1;
|
1960
|
+
continue;
|
1961
|
+
}
|
1962
|
+
state = "variable";
|
1963
|
+
if (bufferEndIndex > bufferStartIndex) {
|
1964
|
+
if (handleToken(serialized.substring(bufferStartIndex, bufferEndIndex), "text") === false) {
|
1965
|
+
return tokenCount;
|
1966
|
+
}
|
1967
|
+
bufferStartIndex = bufferEndIndex;
|
1968
|
+
}
|
1969
|
+
index += variablePrefix.length - 1;
|
1970
|
+
bufferStartIndex += variablePrefix.length;
|
1971
|
+
continue;
|
1972
|
+
}
|
1973
|
+
if (char === variableSuffix && state === "variable") {
|
1974
|
+
state = "text";
|
1975
|
+
if (bufferEndIndex > bufferStartIndex) {
|
1976
|
+
if (handleToken(serialized.substring(bufferStartIndex, bufferEndIndex), "variable") === false) {
|
1977
|
+
return tokenCount;
|
1978
|
+
}
|
1979
|
+
bufferStartIndex = bufferEndIndex + variableSuffix.length;
|
1980
|
+
}
|
1981
|
+
continue;
|
1982
|
+
}
|
1983
|
+
bufferEndIndex++;
|
1984
|
+
}
|
1985
|
+
if (bufferEndIndex > bufferStartIndex) {
|
1986
|
+
if (state === "variable") {
|
1987
|
+
state = "text";
|
1988
|
+
bufferStartIndex -= variablePrefix.length;
|
1989
|
+
}
|
1990
|
+
handleToken(serialized.substring(bufferStartIndex), state);
|
1991
|
+
}
|
1992
|
+
return tokenCount;
|
1993
|
+
}
|
1994
|
+
|
1995
|
+
// src/utils/variables/bindVariables.ts
|
1996
|
+
function bindVariables({
|
1997
|
+
variables,
|
1998
|
+
value,
|
1999
|
+
errorPrefix = "Variable",
|
2000
|
+
handleBinding
|
2001
|
+
}) {
|
2002
|
+
let boundCount = 0;
|
2003
|
+
let tokenCount = 0;
|
2004
|
+
const errors = [];
|
2005
|
+
const defaultHandleBinding = (variableName, variables2, errors2) => {
|
2006
|
+
const variableValue = variables2[variableName];
|
2007
|
+
if (variableValue === void 0) {
|
2008
|
+
errors2.push(`${errorPrefix} "${variableName}" is not defined`);
|
2009
|
+
return "";
|
2010
|
+
}
|
2011
|
+
return variableValue;
|
2012
|
+
};
|
2013
|
+
const result = [];
|
2014
|
+
parseVariableExpression(value, (token, tokenType) => {
|
2015
|
+
tokenCount++;
|
2016
|
+
if (tokenType === "text") {
|
2017
|
+
result.push(token);
|
2018
|
+
return;
|
2019
|
+
}
|
2020
|
+
const variableValue = (handleBinding != null ? handleBinding : defaultHandleBinding)(token, variables, errors);
|
2021
|
+
boundCount++;
|
2022
|
+
result.push(variableValue);
|
2023
|
+
});
|
2024
|
+
return {
|
2025
|
+
result: tokenCount === 1 ? result[0] : result.join(""),
|
2026
|
+
boundCount,
|
2027
|
+
errors: errors.length > 0 ? errors : void 0
|
2028
|
+
};
|
2029
|
+
}
|
2030
|
+
|
2031
|
+
// src/utils/variables/bindVariablesToObject.ts
|
2032
|
+
var import_immer = require("immer");
|
2033
|
+
|
2034
|
+
// src/utils/variables/createVariableReference.ts
|
2035
|
+
function createVariableReference(variableName) {
|
2036
|
+
return `\${${variableName}}`;
|
2037
|
+
}
|
2038
|
+
|
2039
|
+
// src/utils/variables/bindVariablesToObject.ts
|
2040
|
+
function bindVariablesToObject(options) {
|
2041
|
+
return bindVariablesToObjectRecursive(options);
|
2042
|
+
}
|
2043
|
+
function bindVariablesToObjectRecursive({
|
2044
|
+
value,
|
2045
|
+
recursivePath,
|
2046
|
+
...bindVariablesOptions
|
2047
|
+
}) {
|
2048
|
+
let boundCount = 0;
|
2049
|
+
const errors = [];
|
2050
|
+
if (typeof value === "string") {
|
2051
|
+
return bindVariables({ ...bindVariablesOptions, value });
|
2052
|
+
}
|
2053
|
+
if (typeof value !== "object" || value === null) {
|
2054
|
+
return { boundCount: 0, result: value };
|
2055
|
+
}
|
2056
|
+
const richTextNodeResult = handleRichTextNodeBinding(value, bindVariablesOptions);
|
2057
|
+
if (richTextNodeResult !== void 0) {
|
2058
|
+
return richTextNodeResult;
|
2059
|
+
}
|
2060
|
+
const result = (0, import_immer.produce)(value, (draft) => {
|
2061
|
+
Object.entries(draft).forEach(([property, oldValue]) => {
|
2062
|
+
const currentObjectPath = recursivePath ? `${recursivePath}.${property}` : property;
|
2063
|
+
if (typeof oldValue === "string") {
|
2064
|
+
const bindResult = bindVariables({ ...bindVariablesOptions, value: oldValue });
|
2065
|
+
if (oldValue !== bindResult.result || bindResult.errors) {
|
2066
|
+
boundCount += bindResult.boundCount;
|
2067
|
+
draft[property] = bindResult.result;
|
2068
|
+
if (bindResult.errors) {
|
2069
|
+
errors.push(...bindResult.errors.map((e) => `${currentObjectPath}: ${e}`));
|
2070
|
+
}
|
2071
|
+
}
|
2072
|
+
return;
|
2073
|
+
}
|
2074
|
+
const childBind = bindVariablesToObjectRecursive({
|
2075
|
+
...bindVariablesOptions,
|
2076
|
+
value: oldValue,
|
2077
|
+
recursivePath: currentObjectPath
|
2078
|
+
});
|
2079
|
+
if (childBind.boundCount || childBind.errors) {
|
2080
|
+
boundCount += childBind.boundCount;
|
2081
|
+
draft[property] = childBind.result;
|
2082
|
+
if (childBind.errors) {
|
2083
|
+
errors.push(...childBind.errors);
|
2084
|
+
}
|
2085
|
+
}
|
2086
|
+
});
|
2087
|
+
});
|
2088
|
+
return { boundCount, result, errors: errors.length > 0 ? errors : void 0 };
|
2089
|
+
}
|
2090
|
+
function handleRichTextNodeBinding(object, options) {
|
2091
|
+
if ("type" in object && object.type === "variable" && "reference" in object && typeof object.reference === "string" && "version" in object && object.version === 1) {
|
2092
|
+
const value = createVariableReference(object.reference);
|
2093
|
+
const bindResult = bindVariables({ ...options, value });
|
2094
|
+
const bindResultAsTextNode = {
|
2095
|
+
detail: 0,
|
2096
|
+
format: 0,
|
2097
|
+
mode: "normal",
|
2098
|
+
style: "",
|
2099
|
+
text: bindResult.result,
|
2100
|
+
type: "text",
|
2101
|
+
version: 1
|
2102
|
+
};
|
2103
|
+
return { ...bindResult, result: bindResultAsTextNode };
|
2104
|
+
}
|
2105
|
+
return void 0;
|
2106
|
+
}
|
2107
|
+
|
1918
2108
|
// src/index.ts
|
1919
|
-
var
|
1920
|
-
var CanvasClientError =
|
2109
|
+
var import_api9 = require("@uniformdev/context/api");
|
2110
|
+
var CanvasClientError = import_api9.ApiClientError;
|
1921
2111
|
// Annotate the CommonJS export names for ESM import in node:
|
1922
2112
|
0 && (module.exports = {
|
1923
2113
|
ATTRIBUTE_COMPONENT_ID,
|
@@ -1929,6 +2119,7 @@ var CanvasClientError = import_api8.ApiClientError;
|
|
1929
2119
|
ApiClientError,
|
1930
2120
|
BatchEntry,
|
1931
2121
|
CANVAS_DRAFT_STATE,
|
2122
|
+
CANVAS_EDITOR_STATE,
|
1932
2123
|
CANVAS_ENRICHMENT_TAG_PARAM,
|
1933
2124
|
CANVAS_INTENT_TAG_PARAM,
|
1934
2125
|
CANVAS_LOCALE_TAG_PARAM,
|
@@ -1945,6 +2136,7 @@ var CanvasClientError = import_api8.ApiClientError;
|
|
1945
2136
|
CanvasClientError,
|
1946
2137
|
CategoryClient,
|
1947
2138
|
ChildEnhancerBuilder,
|
2139
|
+
ContentClient,
|
1948
2140
|
DataSourceClient,
|
1949
2141
|
DataTypeClient,
|
1950
2142
|
EDGE_CACHE_DISABLED,
|
@@ -1958,13 +2150,16 @@ var CanvasClientError = import_api8.ApiClientError;
|
|
1958
2150
|
EnhancerBuilder,
|
1959
2151
|
IN_CONTEXT_EDITOR_COMPONENT_END_ROLE,
|
1960
2152
|
IN_CONTEXT_EDITOR_COMPONENT_START_ROLE,
|
2153
|
+
IN_CONTEXT_EDITOR_CONFIG_CHECK_QUERY_STRING_PARAM,
|
1961
2154
|
IN_CONTEXT_EDITOR_EMBED_SCRIPT_ID,
|
2155
|
+
IN_CONTEXT_EDITOR_PLAYGROUND_QUERY_STRING_PARAM,
|
1962
2156
|
IN_CONTEXT_EDITOR_QUERY_STRING_PARAM,
|
1963
2157
|
IS_RENDERED_BY_UNIFORM_ATTRIBUTE,
|
1964
2158
|
PLACEHOLDER_ID,
|
1965
2159
|
RouteClient,
|
1966
2160
|
UncachedCanvasClient,
|
1967
2161
|
UncachedCategoryClient,
|
2162
|
+
UncachedContentClient,
|
1968
2163
|
UniqueBatchEntries,
|
1969
2164
|
bindVariables,
|
1970
2165
|
bindVariablesToObject,
|
@@ -1974,6 +2169,7 @@ var CanvasClientError = import_api8.ApiClientError;
|
|
1974
2169
|
createEventBus,
|
1975
2170
|
createLimitPolicy,
|
1976
2171
|
createUniformApiEnhancer,
|
2172
|
+
createVariableReference,
|
1977
2173
|
enhance,
|
1978
2174
|
extractLocales,
|
1979
2175
|
generateHash,
|
@@ -1999,6 +2195,7 @@ var CanvasClientError = import_api8.ApiClientError;
|
|
1999
2195
|
mapSlotToPersonalizedVariations,
|
2000
2196
|
mapSlotToTestVariations,
|
2001
2197
|
nullLimitPolicy,
|
2198
|
+
parseVariableExpression,
|
2002
2199
|
subscribeToComposition,
|
2003
2200
|
unstable_CompositionRelationshipClient,
|
2004
2201
|
walkComponentTree
|