@webiny/website-builder-sdk 0.0.0-unstable.e6f0dc8ca7 → 0.0.0-unstable.eb81deee7e
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/BindingsApi.js +29 -36
- package/BindingsApi.js.map +1 -1
- package/BindingsProcessor.js +34 -43
- package/BindingsProcessor.js.map +1 -1
- package/BindingsProcessor.test.js +82 -78
- package/BindingsProcessor.test.js.map +1 -1
- package/BindingsResolver.d.ts +4 -1
- package/BindingsResolver.js +99 -119
- package/BindingsResolver.js.map +1 -1
- package/BindingsResolver.test.js +399 -363
- package/BindingsResolver.test.js.map +1 -1
- package/ComponentInputTraverser.js +32 -49
- package/ComponentInputTraverser.js.map +1 -1
- package/ComponentManifestToAstConverter.js +20 -21
- package/ComponentManifestToAstConverter.js.map +1 -1
- package/ComponentRegistry.d.ts +9 -0
- package/ComponentRegistry.js +30 -44
- package/ComponentRegistry.js.map +1 -1
- package/ComponentResolver.d.ts +3 -2
- package/ComponentResolver.js +39 -29
- package/ComponentResolver.js.map +1 -1
- package/ComponentResolver.test.d.ts +1 -0
- package/ComponentResolver.test.js +81 -0
- package/ComponentResolver.test.js.map +1 -0
- package/ConstraintEvaluator.js +246 -353
- package/ConstraintEvaluator.js.map +1 -1
- package/ConstraintEvaluator.test.js +1616 -1438
- package/ConstraintEvaluator.test.js.map +1 -1
- package/ContentSdk.d.ts +14 -0
- package/ContentSdk.js +113 -90
- package/ContentSdk.js.map +1 -1
- package/DocumentStore.js +47 -59
- package/DocumentStore.js.map +1 -1
- package/DocumentStoreManager.js +17 -16
- package/DocumentStoreManager.js.map +1 -1
- package/EditingSdk.js +92 -121
- package/EditingSdk.js.map +1 -1
- package/ElementFactory.js +164 -172
- package/ElementFactory.js.map +1 -1
- package/ElementFactory.objectListDefaults.test.d.ts +1 -0
- package/ElementFactory.objectListDefaults.test.js +423 -0
- package/ElementFactory.objectListDefaults.test.js.map +1 -0
- package/ElementFactory.test.js +335 -262
- package/ElementFactory.test.js.map +1 -1
- package/Environment.js +18 -19
- package/Environment.js.map +1 -1
- package/FunctionConverter.js +8 -7
- package/FunctionConverter.js.map +1 -1
- package/HashObject.js +11 -26
- package/HashObject.js.map +1 -1
- package/HotkeyManager.js +40 -47
- package/HotkeyManager.js.map +1 -1
- package/IBindingsUpdater.js +0 -3
- package/IRedirects.js +0 -3
- package/InheritanceProcessor.js +99 -139
- package/InheritanceProcessor.js.map +1 -1
- package/InheritanceProcessor.test.js +178 -179
- package/InheritanceProcessor.test.js.map +1 -1
- package/InheritedValueResolver.d.ts +18 -1
- package/InheritedValueResolver.js +18 -20
- package/InheritedValueResolver.js.map +1 -1
- package/InputBindingsProcessor.d.ts +23 -2
- package/InputBindingsProcessor.js +200 -307
- package/InputBindingsProcessor.js.map +1 -1
- package/InputBindingsProcessorTokens.test.d.ts +1 -0
- package/InputBindingsProcessorTokens.test.js +400 -0
- package/InputBindingsProcessorTokens.test.js.map +1 -0
- package/InputsBindingsProcessor.test.js +334 -315
- package/InputsBindingsProcessor.test.js.map +1 -1
- package/InputsUpdater.js +23 -26
- package/InputsUpdater.js.map +1 -1
- package/LiveSdk.js +12 -13
- package/LiveSdk.js.map +1 -1
- package/Logger.js +9 -8
- package/Logger.js.map +1 -1
- package/MouseTracker.js +77 -83
- package/MouseTracker.js.map +1 -1
- package/NullSdk.js +22 -21
- package/NullSdk.js.map +1 -1
- package/PreviewDocument.d.ts +1 -0
- package/PreviewDocument.js +30 -30
- package/PreviewDocument.js.map +1 -1
- package/PreviewSdk.d.ts +2 -1
- package/PreviewSdk.js +19 -17
- package/PreviewSdk.js.map +1 -1
- package/PreviewViewport.js +51 -63
- package/PreviewViewport.js.map +1 -1
- package/ResizeObserver.js +24 -31
- package/ResizeObserver.js.map +1 -1
- package/StylesBindingsProcessor.d.ts +12 -2
- package/StylesBindingsProcessor.js +62 -79
- package/StylesBindingsProcessor.js.map +1 -1
- package/StylesUpdater.js +20 -25
- package/StylesUpdater.js.map +1 -1
- package/Theme.js +30 -25
- package/Theme.js.map +1 -1
- package/ViewportManager.js +89 -101
- package/ViewportManager.js.map +1 -1
- package/assertBindingShapes.d.ts +31 -0
- package/assertBindingShapes.js +64 -0
- package/assertBindingShapes.js.map +1 -0
- package/assertBindingShapes.test.d.ts +1 -0
- package/assertBindingShapes.test.js +131 -0
- package/assertBindingShapes.test.js.map +1 -0
- package/asset/deliveryUrl.d.ts +41 -0
- package/asset/deliveryUrl.js +34 -0
- package/asset/deliveryUrl.js.map +1 -0
- package/asset/deliveryUrl.test.d.ts +1 -0
- package/asset/deliveryUrl.test.js +127 -0
- package/asset/deliveryUrl.test.js.map +1 -0
- package/asset/geometry.d.ts +7 -0
- package/asset/geometry.js +10 -0
- package/asset/geometry.js.map +1 -0
- package/asset/imageSrcSet.d.ts +63 -0
- package/asset/imageSrcSet.js +98 -0
- package/asset/imageSrcSet.js.map +1 -0
- package/asset/imageSrcSet.test.d.ts +1 -0
- package/asset/imageSrcSet.test.js +103 -0
- package/asset/imageSrcSet.test.js.map +1 -0
- package/asset/index.d.ts +5 -0
- package/asset/index.js +5 -0
- package/asset/normalize.d.ts +24 -0
- package/asset/normalize.js +106 -0
- package/asset/normalize.js.map +1 -0
- package/asset/normalize.test.d.ts +1 -0
- package/asset/normalize.test.js +263 -0
- package/asset/normalize.test.js.map +1 -0
- package/asset/types.d.ts +2 -0
- package/asset/types.js +0 -0
- package/constants.js +7 -6
- package/constants.js.map +1 -1
- package/contentEntry/ContentEntryBindingsResolver.d.ts +30 -0
- package/contentEntry/ContentEntryBindingsResolver.js +45 -0
- package/contentEntry/ContentEntryBindingsResolver.js.map +1 -0
- package/contentEntry/ContentEntryCache.d.ts +46 -0
- package/contentEntry/ContentEntryCache.js +50 -0
- package/contentEntry/ContentEntryCache.js.map +1 -0
- package/contentEntry/resolveContentEntry.d.ts +74 -0
- package/contentEntry/resolveContentEntry.js +53 -0
- package/contentEntry/resolveContentEntry.js.map +1 -0
- package/contentEntry/resolveContentEntry.test.d.ts +1 -0
- package/contentEntry/resolveContentEntry.test.js +213 -0
- package/contentEntry/resolveContentEntry.test.js.map +1 -0
- package/createComponent.d.ts +5 -0
- package/createComponent.js +32 -0
- package/createComponent.js.map +1 -0
- package/createElement.js +5 -6
- package/createElement.js.map +1 -1
- package/createInput.d.ts +10 -2
- package/createInput.js +92 -143
- package/createInput.js.map +1 -1
- package/createTheme.js +2 -3
- package/createTheme.js.map +1 -1
- package/dataProviders/ApiClient.d.ts +10 -5
- package/dataProviders/ApiClient.js +40 -49
- package/dataProviders/ApiClient.js.map +1 -1
- package/dataProviders/DefaultDataProvider.d.ts +4 -0
- package/dataProviders/DefaultDataProvider.js +91 -58
- package/dataProviders/DefaultDataProvider.js.map +1 -1
- package/dataProviders/GET_EXPERIMENT_PAUSED.d.ts +1 -0
- package/dataProviders/GET_EXPERIMENT_PAUSED.js +17 -0
- package/dataProviders/GET_EXPERIMENT_PAUSED.js.map +1 -0
- package/dataProviders/GET_PAGE_BY_ID.js +2 -1
- package/dataProviders/GET_PAGE_BY_ID.js.map +1 -1
- package/dataProviders/GET_PAGE_BY_PATH.js +2 -1
- package/dataProviders/GET_PAGE_BY_PATH.js.map +1 -1
- package/dataProviders/GET_PAGE_EXPERIMENT.d.ts +1 -0
- package/dataProviders/GET_PAGE_EXPERIMENT.js +32 -0
- package/dataProviders/GET_PAGE_EXPERIMENT.js.map +1 -0
- package/dataProviders/GET_VARIANT_CONTENT.d.ts +1 -0
- package/dataProviders/GET_VARIANT_CONTENT.js +24 -0
- package/dataProviders/GET_VARIANT_CONTENT.js.map +1 -0
- package/dataProviders/LIST_PUBLISHED_PAGES.js +2 -1
- package/dataProviders/LIST_PUBLISHED_PAGES.js.map +1 -1
- package/dataProviders/NullDataProvider.d.ts +4 -0
- package/dataProviders/NullDataProvider.js +30 -20
- package/dataProviders/NullDataProvider.js.map +1 -1
- package/dataProviders/RedirectsProvider.js +24 -27
- package/dataProviders/RedirectsProvider.js.map +1 -1
- package/defaultBreakpoints.js +43 -22
- package/defaultBreakpoints.js.map +1 -1
- package/documentOperations/$addElementReferenceToParent.js +29 -32
- package/documentOperations/$addElementReferenceToParent.js.map +1 -1
- package/documentOperations/AddElement.js +8 -7
- package/documentOperations/AddElement.js.map +1 -1
- package/documentOperations/AddToParent.js +14 -13
- package/documentOperations/AddToParent.js.map +1 -1
- package/documentOperations/IDocumentOperation.js +0 -3
- package/documentOperations/RemoveElement.js +9 -15
- package/documentOperations/RemoveElement.js.map +1 -1
- package/documentOperations/SetGlobalInputBinding.js +23 -22
- package/documentOperations/SetGlobalInputBinding.js.map +1 -1
- package/documentOperations/SetGlobalStyleBinding.js +23 -23
- package/documentOperations/SetGlobalStyleBinding.js.map +1 -1
- package/documentOperations/SetInputBindingOverride.js +30 -29
- package/documentOperations/SetInputBindingOverride.js.map +1 -1
- package/documentOperations/SetStyleBindingOverride.js +30 -31
- package/documentOperations/SetStyleBindingOverride.js.map +1 -1
- package/documentOperations/index.js +9 -8
- package/documentOperations/index.js.map +1 -1
- package/experiments/PostHogAnalyticsProvider.d.ts +31 -0
- package/experiments/PostHogAnalyticsProvider.js +28 -0
- package/experiments/PostHogAnalyticsProvider.js.map +1 -0
- package/experiments/analyticsProvider.d.ts +4 -0
- package/experiments/analyticsProvider.js +11 -0
- package/experiments/analyticsProvider.js.map +1 -0
- package/experiments/bucketing.d.ts +27 -0
- package/experiments/bucketing.js +91 -0
- package/experiments/bucketing.js.map +1 -0
- package/experiments/bucketing.test.d.ts +1 -0
- package/experiments/bucketing.test.js +183 -0
- package/experiments/bucketing.test.js.map +1 -0
- package/experiments/index.d.ts +5 -0
- package/experiments/index.js +5 -0
- package/experiments/render.d.ts +79 -0
- package/experiments/render.js +149 -0
- package/experiments/render.js.map +1 -0
- package/experiments/types.d.ts +108 -0
- package/experiments/types.js +4 -0
- package/experiments/types.js.map +1 -0
- package/findMatchingAstNode.js +11 -13
- package/findMatchingAstNode.js.map +1 -1
- package/generateElementId.js +2 -1
- package/generateElementId.js.map +1 -1
- package/headersProvider.js +4 -3
- package/headersProvider.js.map +1 -1
- package/image/geometry.d.ts +54 -0
- package/image/geometry.js +112 -0
- package/image/geometry.js.map +1 -0
- package/image/geometry.test.d.ts +1 -0
- package/image/geometry.test.js +190 -0
- package/image/geometry.test.js.map +1 -0
- package/image/index.d.ts +3 -0
- package/image/index.js +3 -0
- package/image/presets.d.ts +6 -0
- package/image/presets.js +20 -0
- package/image/presets.js.map +1 -0
- package/image/types.d.ts +10 -0
- package/image/types.js +0 -0
- package/index.d.ts +10 -0
- package/index.js +10 -2
- package/jsonPatch.js +5 -9
- package/jsonPatch.js.map +1 -1
- package/messages.js +12 -11
- package/messages.js.map +1 -1
- package/messenger/MessageOrigin.js +12 -11
- package/messenger/MessageOrigin.js.map +1 -1
- package/messenger/Messenger.js +58 -69
- package/messenger/Messenger.js.map +1 -1
- package/messenger/index.js +0 -2
- package/package.json +12 -9
- package/registerComponentGroup.js +5 -6
- package/registerComponentGroup.js.map +1 -1
- package/tokenBinding.d.ts +26 -0
- package/tokenBinding.js +15 -0
- package/tokenBinding.js.map +1 -0
- package/tokenBinding.test.d.ts +1 -0
- package/tokenBinding.test.js +165 -0
- package/tokenBinding.test.js.map +1 -0
- package/types/ShorthandCssProperties.js +0 -3
- package/types/WebsiteBuilderTheme.d.ts +12 -0
- package/types/WebsiteBuilderTheme.js +0 -3
- package/types.d.ts +96 -1
- package/types.js +0 -3
- package/IBindingsUpdater.js.map +0 -1
- package/IRedirects.js.map +0 -1
- package/documentOperations/IDocumentOperation.js.map +0 -1
- package/index.js.map +0 -1
- package/messenger/index.js.map +0 -1
- package/types/ShorthandCssProperties.js.map +0 -1
- package/types/WebsiteBuilderTheme.js.map +0 -1
- package/types.js.map +0 -1
|
@@ -1,38 +1,35 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
const inputs = bindings.inputs ?? {};
|
|
9
|
-
if (index !== undefined && index < 0) {
|
|
10
|
-
// Single value slot
|
|
11
|
-
inputs[slot] = {
|
|
12
|
-
...inputs[slot],
|
|
13
|
-
type: "slot",
|
|
14
|
-
static: elementId
|
|
1
|
+
function $addElementReferenceToParent(document, { elementId, parentId, slot, index }) {
|
|
2
|
+
const bindings = document.bindings[parentId] ?? {};
|
|
3
|
+
const inputs = bindings.inputs ?? {};
|
|
4
|
+
if (void 0 !== index && index < 0) inputs[slot] = {
|
|
5
|
+
...inputs[slot],
|
|
6
|
+
type: "slot",
|
|
7
|
+
static: elementId
|
|
15
8
|
};
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
9
|
+
else {
|
|
10
|
+
const slotElements = inputs[slot];
|
|
11
|
+
const existing = slotElements?.static ?? [];
|
|
12
|
+
let staticValue;
|
|
13
|
+
staticValue = void 0 === index ? [
|
|
14
|
+
...existing,
|
|
15
|
+
elementId
|
|
16
|
+
] : [
|
|
17
|
+
...existing.slice(0, index),
|
|
18
|
+
elementId,
|
|
19
|
+
...existing.slice(index)
|
|
20
|
+
];
|
|
21
|
+
inputs[slot] = {
|
|
22
|
+
...inputs[slot],
|
|
23
|
+
type: "slot",
|
|
24
|
+
list: true,
|
|
25
|
+
static: staticValue
|
|
26
|
+
};
|
|
24
27
|
}
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
list: true,
|
|
29
|
-
static: staticValue
|
|
28
|
+
document.bindings[parentId] = {
|
|
29
|
+
...bindings,
|
|
30
|
+
inputs
|
|
30
31
|
};
|
|
31
|
-
}
|
|
32
|
-
document.bindings[parentId] = {
|
|
33
|
-
...bindings,
|
|
34
|
-
inputs
|
|
35
|
-
};
|
|
36
32
|
}
|
|
33
|
+
export { $addElementReferenceToParent };
|
|
37
34
|
|
|
38
35
|
//# sourceMappingURL=$addElementReferenceToParent.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"documentOperations/$addElementReferenceToParent.js","sources":["../../src/documentOperations/$addElementReferenceToParent.ts"],"sourcesContent":["import type { Document } from \"~/types.js\";\nimport type { InputValueBinding } from \"~/types.js\";\n\ninterface Params {\n elementId: string;\n parentId: string;\n slot: string;\n index?: number;\n}\n\nexport function $addElementReferenceToParent(\n document: Document,\n { elementId, parentId, slot, index }: Params\n) {\n const bindings = document.bindings[parentId] ?? {};\n const inputs = bindings.inputs ?? {};\n\n if (index !== undefined && index < 0) {\n // Single value slot\n inputs[slot] = {\n ...inputs[slot],\n type: \"slot\",\n static: elementId\n };\n } else {\n const slotElements = inputs[slot] as InputValueBinding;\n const existing = slotElements?.static ?? [];\n\n let staticValue;\n if (index === undefined) {\n staticValue = [...existing, elementId];\n } else {\n staticValue = [...existing.slice(0, index), elementId, ...existing.slice(index)];\n }\n\n inputs[slot] = {\n ...inputs[slot],\n type: \"slot\",\n list: true,\n static: staticValue\n };\n }\n\n document.bindings[parentId] = {\n ...bindings,\n inputs\n };\n}\n"],"names":["$addElementReferenceToParent","document","elementId","parentId","slot","index","bindings","inputs","undefined","slotElements","existing","staticValue"],"mappings":"AAUO,SAASA,6BACZC,QAAkB,EAClB,EAAEC,SAAS,EAAEC,QAAQ,EAAEC,IAAI,EAAEC,KAAK,EAAU;IAE5C,MAAMC,WAAWL,SAAS,QAAQ,CAACE,SAAS,IAAI,CAAC;IACjD,MAAMI,SAASD,SAAS,MAAM,IAAI,CAAC;IAEnC,IAAID,AAAUG,WAAVH,SAAuBA,QAAQ,GAE/BE,MAAM,CAACH,KAAK,GAAG;QACX,GAAGG,MAAM,CAACH,KAAK;QACf,MAAM;QACN,QAAQF;IACZ;SACG;QACH,MAAMO,eAAeF,MAAM,CAACH,KAAK;QACjC,MAAMM,WAAWD,cAAc,UAAU,EAAE;QAE3C,IAAIE;QAEAA,cADAN,AAAUG,WAAVH,QACc;eAAIK;YAAUR;SAAU,GAExB;eAAIQ,SAAS,KAAK,CAAC,GAAGL;YAAQH;eAAcQ,SAAS,KAAK,CAACL;SAAO;QAGpFE,MAAM,CAACH,KAAK,GAAG;YACX,GAAGG,MAAM,CAACH,KAAK;YACf,MAAM;YACN,MAAM;YACN,QAAQO;QACZ;IACJ;IAEAV,SAAS,QAAQ,CAACE,SAAS,GAAG;QAC1B,GAAGG,QAAQ;QACXC;IACJ;AACJ"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
1
|
+
class AddElement {
|
|
2
|
+
constructor(element){
|
|
3
|
+
this.element = element;
|
|
4
|
+
}
|
|
5
|
+
apply(document) {
|
|
6
|
+
document.elements[this.element.id] = this.element;
|
|
7
|
+
}
|
|
8
8
|
}
|
|
9
|
+
export { AddElement };
|
|
9
10
|
|
|
10
11
|
//# sourceMappingURL=AddElement.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"documentOperations/AddElement.js","sources":["../../src/documentOperations/AddElement.ts"],"sourcesContent":["import type { Document, DocumentElement } from \"~/types.js\";\nimport type { IDocumentOperation } from \"./IDocumentOperation.js\";\n\nexport class AddElement implements IDocumentOperation {\n private readonly element: DocumentElement;\n\n constructor(element: DocumentElement) {\n this.element = element;\n }\n\n apply(document: Document) {\n document.elements[this.element.id] = this.element;\n }\n}\n"],"names":["AddElement","element","document"],"mappings":"AAGO,MAAMA;IAGT,YAAYC,OAAwB,CAAE;QAClC,IAAI,CAAC,OAAO,GAAGA;IACnB;IAEA,MAAMC,QAAkB,EAAE;QACtBA,SAAS,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO;IACrD;AACJ"}
|
|
@@ -1,17 +1,18 @@
|
|
|
1
1
|
import { $addElementReferenceToParent } from "./$addElementReferenceToParent.js";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
2
|
+
class AddToParent {
|
|
3
|
+
constructor(element, index){
|
|
4
|
+
this.element = element;
|
|
5
|
+
this.index = index;
|
|
6
|
+
}
|
|
7
|
+
apply(document) {
|
|
8
|
+
$addElementReferenceToParent(document, {
|
|
9
|
+
elementId: this.element.id,
|
|
10
|
+
parentId: this.element.parent.id,
|
|
11
|
+
slot: this.element.parent.slot,
|
|
12
|
+
index: this.index
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
15
|
}
|
|
16
|
+
export { AddToParent };
|
|
16
17
|
|
|
17
18
|
//# sourceMappingURL=AddToParent.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"documentOperations/AddToParent.js","sources":["../../src/documentOperations/AddToParent.ts"],"sourcesContent":["import type { Document, DocumentElement } from \"~/types.js\";\nimport type { IDocumentOperation } from \"./IDocumentOperation.js\";\nimport { $addElementReferenceToParent } from \"./$addElementReferenceToParent.js\";\n\nexport class AddToParent implements IDocumentOperation {\n private element: DocumentElement;\n private readonly index?: number;\n\n constructor(element: DocumentElement, index?: number) {\n this.element = element;\n this.index = index;\n }\n\n apply(document: Document) {\n $addElementReferenceToParent(document, {\n elementId: this.element.id,\n parentId: this.element.parent!.id,\n slot: this.element.parent!.slot,\n index: this.index\n });\n }\n}\n"],"names":["AddToParent","element","index","document","$addElementReferenceToParent"],"mappings":";AAIO,MAAMA;IAIT,YAAYC,OAAwB,EAAEC,KAAc,CAAE;QAClD,IAAI,CAAC,OAAO,GAAGD;QACf,IAAI,CAAC,KAAK,GAAGC;IACjB;IAEA,MAAMC,QAAkB,EAAE;QACtBC,6BAA6BD,UAAU;YACnC,WAAW,IAAI,CAAC,OAAO,CAAC,EAAE;YAC1B,UAAU,IAAI,CAAC,OAAO,CAAC,MAAM,CAAE,EAAE;YACjC,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAE,IAAI;YAC/B,OAAO,IAAI,CAAC,KAAK;QACrB;IACJ;AACJ"}
|
|
@@ -1,19 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
new RemoveElement(id).apply(document);
|
|
10
|
-
}
|
|
1
|
+
class RemoveElement {
|
|
2
|
+
constructor(elementId){
|
|
3
|
+
this.elementId = elementId;
|
|
4
|
+
}
|
|
5
|
+
apply(document) {
|
|
6
|
+
for(const id in document.elements)if (document.elements[id].parent?.id === this.elementId) new RemoveElement(id).apply(document);
|
|
7
|
+
delete document.bindings[this.elementId];
|
|
8
|
+
delete document.elements[this.elementId];
|
|
11
9
|
}
|
|
12
|
-
|
|
13
|
-
// Remove bindings and the element itself.
|
|
14
|
-
delete document.bindings[this.elementId];
|
|
15
|
-
delete document.elements[this.elementId];
|
|
16
|
-
}
|
|
17
10
|
}
|
|
11
|
+
export { RemoveElement };
|
|
18
12
|
|
|
19
13
|
//# sourceMappingURL=RemoveElement.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"documentOperations/RemoveElement.js","sources":["../../src/documentOperations/RemoveElement.ts"],"sourcesContent":["import type { Document } from \"~/types.js\";\nimport type { IDocumentOperation } from \"./IDocumentOperation.js\";\n\nexport class RemoveElement implements IDocumentOperation {\n private readonly elementId: string;\n\n constructor(elementId: string) {\n this.elementId = elementId;\n }\n\n apply(document: Document) {\n // Recursively remove all descendants first.\n for (const id in document.elements) {\n if (document.elements[id].parent?.id === this.elementId) {\n new RemoveElement(id).apply(document);\n }\n }\n\n // Remove bindings and the element itself.\n delete document.bindings[this.elementId];\n delete document.elements[this.elementId];\n }\n}\n"],"names":["RemoveElement","elementId","document","id"],"mappings":"AAGO,MAAMA;IAGT,YAAYC,SAAiB,CAAE;QAC3B,IAAI,CAAC,SAAS,GAAGA;IACrB;IAEA,MAAMC,QAAkB,EAAE;QAEtB,IAAK,MAAMC,MAAMD,SAAS,QAAQ,CAC9B,IAAIA,SAAS,QAAQ,CAACC,GAAG,CAAC,MAAM,EAAE,OAAO,IAAI,CAAC,SAAS,EACnD,IAAIH,cAAcG,IAAI,KAAK,CAACD;QAKpC,OAAOA,SAAS,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC;QACxC,OAAOA,SAAS,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC;IAC5C;AACJ"}
|
|
@@ -1,25 +1,26 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
1
|
+
class SetGlobalInputBinding {
|
|
2
|
+
constructor(elementId, bindingPath, binding){
|
|
3
|
+
this.elementId = elementId;
|
|
4
|
+
this.bindingPath = bindingPath;
|
|
5
|
+
this.binding = binding;
|
|
6
|
+
}
|
|
7
|
+
apply(document) {
|
|
8
|
+
const bindings = document.bindings[this.elementId] ?? {
|
|
9
|
+
inputs: {}
|
|
10
|
+
};
|
|
11
|
+
const binding = bindings.inputs ? bindings.inputs[this.bindingPath] : {};
|
|
12
|
+
document.bindings[this.elementId] = {
|
|
13
|
+
...bindings,
|
|
14
|
+
inputs: {
|
|
15
|
+
...bindings.inputs ?? {},
|
|
16
|
+
[this.bindingPath]: {
|
|
17
|
+
...binding,
|
|
18
|
+
...this.binding
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
23
|
}
|
|
24
|
+
export { SetGlobalInputBinding };
|
|
24
25
|
|
|
25
26
|
//# sourceMappingURL=SetGlobalInputBinding.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"documentOperations/SetGlobalInputBinding.js","sources":["../../src/documentOperations/SetGlobalInputBinding.ts"],"sourcesContent":["import type { Document, InputValueBinding } from \"~/types.js\";\nimport type { IDocumentOperation } from \"./IDocumentOperation.js\";\n\nexport class SetGlobalInputBinding implements IDocumentOperation {\n private readonly elementId: string;\n private readonly bindingPath: string;\n private readonly binding: InputValueBinding;\n\n constructor(elementId: string, bindingPath: string, binding: InputValueBinding) {\n this.elementId = elementId;\n this.bindingPath = bindingPath;\n this.binding = binding;\n }\n\n apply(document: Document) {\n const bindings = document.bindings[this.elementId] ?? { inputs: {} };\n const binding = bindings.inputs ? bindings.inputs[this.bindingPath] : {};\n document.bindings[this.elementId] = {\n ...bindings,\n inputs: {\n ...(bindings.inputs ?? {}),\n [this.bindingPath]: {\n ...binding,\n ...this.binding\n }\n }\n };\n }\n}\n"],"names":["SetGlobalInputBinding","elementId","bindingPath","binding","document","bindings"],"mappings":"AAGO,MAAMA;IAKT,YAAYC,SAAiB,EAAEC,WAAmB,EAAEC,OAA0B,CAAE;QAC5E,IAAI,CAAC,SAAS,GAAGF;QACjB,IAAI,CAAC,WAAW,GAAGC;QACnB,IAAI,CAAC,OAAO,GAAGC;IACnB;IAEA,MAAMC,QAAkB,EAAE;QACtB,MAAMC,WAAWD,SAAS,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI;YAAE,QAAQ,CAAC;QAAE;QACnE,MAAMD,UAAUE,SAAS,MAAM,GAAGA,SAAS,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;QACvED,SAAS,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG;YAChC,GAAGC,QAAQ;YACX,QAAQ;gBACJ,GAAIA,SAAS,MAAM,IAAI,CAAC,CAAC;gBACzB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;oBAChB,GAAGF,OAAO;oBACV,GAAG,IAAI,CAAC,OAAO;gBACnB;YACJ;QACJ;IACJ;AACJ"}
|
|
@@ -1,26 +1,26 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
}
|
|
23
|
-
}
|
|
1
|
+
class SetGlobalStyleBinding {
|
|
2
|
+
constructor(elementId, bindingPath, binding){
|
|
3
|
+
this.elementId = elementId;
|
|
4
|
+
this.bindingPath = bindingPath;
|
|
5
|
+
this.binding = binding;
|
|
6
|
+
}
|
|
7
|
+
apply(document) {
|
|
8
|
+
const bindings = document.bindings[this.elementId] ?? {
|
|
9
|
+
styles: {}
|
|
10
|
+
};
|
|
11
|
+
const binding = bindings.styles ? bindings.styles[this.bindingPath] ?? {} : {};
|
|
12
|
+
document.bindings[this.elementId] = {
|
|
13
|
+
...bindings,
|
|
14
|
+
styles: {
|
|
15
|
+
...bindings.styles,
|
|
16
|
+
[this.bindingPath]: {
|
|
17
|
+
...binding,
|
|
18
|
+
...this.binding
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
}
|
|
24
23
|
}
|
|
24
|
+
export { SetGlobalStyleBinding };
|
|
25
25
|
|
|
26
26
|
//# sourceMappingURL=SetGlobalStyleBinding.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"documentOperations/SetGlobalStyleBinding.js","sources":["../../src/documentOperations/SetGlobalStyleBinding.ts"],"sourcesContent":["import type { Document, StyleValueBinding } from \"~/types.js\";\nimport type { IDocumentOperation } from \"./IDocumentOperation.js\";\n\nexport class SetGlobalStyleBinding implements IDocumentOperation {\n private readonly elementId: string;\n private readonly bindingPath: string;\n private readonly binding: StyleValueBinding;\n\n constructor(elementId: string, bindingPath: string, binding: StyleValueBinding) {\n this.elementId = elementId;\n this.bindingPath = bindingPath;\n this.binding = binding;\n }\n\n apply(document: Document) {\n const bindings = document.bindings[this.elementId] ?? { styles: {} };\n // @ts-expect-error String doesn't play well with CSSProperties.\n const binding = bindings.styles ? (bindings.styles[this.bindingPath] ?? {}) : {};\n document.bindings[this.elementId] = {\n ...bindings,\n styles: {\n ...bindings.styles,\n [this.bindingPath]: {\n ...binding,\n ...this.binding\n }\n }\n };\n }\n}\n"],"names":["SetGlobalStyleBinding","elementId","bindingPath","binding","document","bindings"],"mappings":"AAGO,MAAMA;IAKT,YAAYC,SAAiB,EAAEC,WAAmB,EAAEC,OAA0B,CAAE;QAC5E,IAAI,CAAC,SAAS,GAAGF;QACjB,IAAI,CAAC,WAAW,GAAGC;QACnB,IAAI,CAAC,OAAO,GAAGC;IACnB;IAEA,MAAMC,QAAkB,EAAE;QACtB,MAAMC,WAAWD,SAAS,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI;YAAE,QAAQ,CAAC;QAAE;QAEnE,MAAMD,UAAUE,SAAS,MAAM,GAAIA,SAAS,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAK,CAAC;QAC/ED,SAAS,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG;YAChC,GAAGC,QAAQ;YACX,QAAQ;gBACJ,GAAGA,SAAS,MAAM;gBAClB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;oBAChB,GAAGF,OAAO;oBACV,GAAG,IAAI,CAAC,OAAO;gBACnB;YACJ;QACJ;IACJ;AACJ"}
|
|
@@ -1,33 +1,34 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
1
|
+
class SetInputBindingOverride {
|
|
2
|
+
constructor(elementId, bindingPath, binding, breakpoint){
|
|
3
|
+
this.elementId = elementId;
|
|
4
|
+
this.bindingPath = bindingPath;
|
|
5
|
+
this.binding = binding;
|
|
6
|
+
this.breakpoint = breakpoint;
|
|
7
|
+
}
|
|
8
|
+
apply(document) {
|
|
9
|
+
const bindings = document.bindings[this.elementId] ?? {};
|
|
10
|
+
const breakpointOverrides = bindings.overrides ? bindings.overrides[this.breakpoint] ?? {} : {
|
|
11
|
+
inputs: {}
|
|
12
|
+
};
|
|
13
|
+
const binding = breakpointOverrides.inputs ? breakpointOverrides.inputs[this.bindingPath] : {};
|
|
14
|
+
document.bindings[this.elementId] = {
|
|
15
|
+
...bindings,
|
|
16
|
+
overrides: {
|
|
17
|
+
...bindings.overrides || {},
|
|
18
|
+
[this.breakpoint]: {
|
|
19
|
+
...breakpointOverrides,
|
|
20
|
+
inputs: {
|
|
21
|
+
...breakpointOverrides.inputs || {},
|
|
22
|
+
[this.bindingPath]: {
|
|
23
|
+
...binding,
|
|
24
|
+
...this.binding
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
25
28
|
}
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
}
|
|
29
|
-
};
|
|
30
|
-
}
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
31
|
}
|
|
32
|
+
export { SetInputBindingOverride };
|
|
32
33
|
|
|
33
34
|
//# sourceMappingURL=SetInputBindingOverride.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"documentOperations/SetInputBindingOverride.js","sources":["../../src/documentOperations/SetInputBindingOverride.ts"],"sourcesContent":["import type { Document, InputValueBinding } from \"~/types.js\";\nimport type { IDocumentOperation } from \"./IDocumentOperation.js\";\n\nexport class SetInputBindingOverride implements IDocumentOperation {\n private readonly elementId: string;\n private breakpoint: string;\n private readonly bindingPath: string;\n private readonly binding: InputValueBinding;\n\n constructor(\n elementId: string,\n bindingPath: string,\n binding: InputValueBinding,\n breakpoint: string\n ) {\n this.elementId = elementId;\n this.bindingPath = bindingPath;\n this.binding = binding;\n this.breakpoint = breakpoint;\n }\n\n apply(document: Document) {\n const bindings = document.bindings[this.elementId] ?? {};\n const breakpointOverrides = bindings.overrides\n ? (bindings.overrides[this.breakpoint] ?? {})\n : { inputs: {} };\n\n const binding = breakpointOverrides.inputs\n ? breakpointOverrides.inputs[this.bindingPath]\n : {};\n\n document.bindings[this.elementId] = {\n ...bindings,\n overrides: {\n ...(bindings.overrides || {}),\n [this.breakpoint]: {\n ...breakpointOverrides,\n inputs: {\n ...(breakpointOverrides.inputs || {}),\n [this.bindingPath]: {\n ...binding,\n ...this.binding\n }\n }\n }\n }\n };\n }\n}\n"],"names":["SetInputBindingOverride","elementId","bindingPath","binding","breakpoint","document","bindings","breakpointOverrides"],"mappings":"AAGO,MAAMA;IAMT,YACIC,SAAiB,EACjBC,WAAmB,EACnBC,OAA0B,EAC1BC,UAAkB,CACpB;QACE,IAAI,CAAC,SAAS,GAAGH;QACjB,IAAI,CAAC,WAAW,GAAGC;QACnB,IAAI,CAAC,OAAO,GAAGC;QACf,IAAI,CAAC,UAAU,GAAGC;IACtB;IAEA,MAAMC,QAAkB,EAAE;QACtB,MAAMC,WAAWD,SAAS,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;QACvD,MAAME,sBAAsBD,SAAS,SAAS,GACvCA,SAAS,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IACzC;YAAE,QAAQ,CAAC;QAAE;QAEnB,MAAMH,UAAUI,oBAAoB,MAAM,GACpCA,oBAAoB,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,GAC5C,CAAC;QAEPF,SAAS,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG;YAChC,GAAGC,QAAQ;YACX,WAAW;gBACP,GAAIA,SAAS,SAAS,IAAI,CAAC,CAAC;gBAC5B,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;oBACf,GAAGC,mBAAmB;oBACtB,QAAQ;wBACJ,GAAIA,oBAAoB,MAAM,IAAI,CAAC,CAAC;wBACpC,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;4BAChB,GAAGJ,OAAO;4BACV,GAAG,IAAI,CAAC,OAAO;wBACnB;oBACJ;gBACJ;YACJ;QACJ;IACJ;AACJ"}
|
|
@@ -1,35 +1,34 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
1
|
+
class SetStyleBindingOverride {
|
|
2
|
+
constructor(elementId, bindingPath, binding, breakpoint){
|
|
3
|
+
this.elementId = elementId;
|
|
4
|
+
this.bindingPath = bindingPath;
|
|
5
|
+
this.binding = binding;
|
|
6
|
+
this.breakpoint = breakpoint;
|
|
7
|
+
}
|
|
8
|
+
apply(document) {
|
|
9
|
+
const bindings = document.bindings[this.elementId] ?? {};
|
|
10
|
+
const breakpointOverrides = bindings.overrides ? bindings.overrides[this.breakpoint] ?? {} : {
|
|
11
|
+
styles: {}
|
|
12
|
+
};
|
|
13
|
+
const binding = breakpointOverrides.styles ? breakpointOverrides.styles[this.bindingPath] : {};
|
|
14
|
+
document.bindings[this.elementId] = {
|
|
15
|
+
...bindings,
|
|
16
|
+
overrides: {
|
|
17
|
+
...bindings.overrides || {},
|
|
18
|
+
[this.breakpoint]: {
|
|
19
|
+
...breakpointOverrides,
|
|
20
|
+
styles: {
|
|
21
|
+
...breakpointOverrides.styles || {},
|
|
22
|
+
[this.bindingPath]: {
|
|
23
|
+
...binding,
|
|
24
|
+
...this.binding
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
27
28
|
}
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
}
|
|
31
|
-
};
|
|
32
|
-
}
|
|
29
|
+
};
|
|
30
|
+
}
|
|
33
31
|
}
|
|
32
|
+
export { SetStyleBindingOverride };
|
|
34
33
|
|
|
35
34
|
//# sourceMappingURL=SetStyleBindingOverride.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"documentOperations/SetStyleBindingOverride.js","sources":["../../src/documentOperations/SetStyleBindingOverride.ts"],"sourcesContent":["import type { Document, StyleValueBinding } from \"~/types.js\";\nimport type { IDocumentOperation } from \"./IDocumentOperation.js\";\n\nexport class SetStyleBindingOverride implements IDocumentOperation {\n private readonly elementId: string;\n private breakpoint: string;\n private readonly bindingPath: string;\n private readonly binding: StyleValueBinding;\n\n constructor(\n elementId: string,\n bindingPath: string,\n binding: StyleValueBinding,\n breakpoint: string\n ) {\n this.elementId = elementId;\n this.bindingPath = bindingPath;\n this.binding = binding;\n this.breakpoint = breakpoint;\n }\n\n apply(document: Document) {\n const bindings = document.bindings[this.elementId] ?? {};\n const breakpointOverrides = bindings.overrides\n ? (bindings.overrides[this.breakpoint] ?? {})\n : { styles: {} };\n\n const binding = breakpointOverrides.styles\n ? // @ts-expect-error String doesn't play well with CSSProperties.\n breakpointOverrides.styles[this.bindingPath]\n : {};\n\n document.bindings[this.elementId] = {\n ...bindings,\n overrides: {\n ...(bindings.overrides || {}),\n [this.breakpoint]: {\n ...breakpointOverrides,\n styles: {\n ...(breakpointOverrides.styles || {}),\n [this.bindingPath]: {\n ...binding,\n ...this.binding\n }\n }\n }\n }\n };\n }\n}\n"],"names":["SetStyleBindingOverride","elementId","bindingPath","binding","breakpoint","document","bindings","breakpointOverrides"],"mappings":"AAGO,MAAMA;IAMT,YACIC,SAAiB,EACjBC,WAAmB,EACnBC,OAA0B,EAC1BC,UAAkB,CACpB;QACE,IAAI,CAAC,SAAS,GAAGH;QACjB,IAAI,CAAC,WAAW,GAAGC;QACnB,IAAI,CAAC,OAAO,GAAGC;QACf,IAAI,CAAC,UAAU,GAAGC;IACtB;IAEA,MAAMC,QAAkB,EAAE;QACtB,MAAMC,WAAWD,SAAS,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;QACvD,MAAME,sBAAsBD,SAAS,SAAS,GACvCA,SAAS,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IACzC;YAAE,QAAQ,CAAC;QAAE;QAEnB,MAAMH,UAAUI,oBAAoB,MAAM,GAEpCA,oBAAoB,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,GAC5C,CAAC;QAEPF,SAAS,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG;YAChC,GAAGC,QAAQ;YACX,WAAW;gBACP,GAAIA,SAAS,SAAS,IAAI,CAAC,CAAC;gBAC5B,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;oBACf,GAAGC,mBAAmB;oBACtB,QAAQ;wBACJ,GAAIA,oBAAoB,MAAM,IAAI,CAAC,CAAC;wBACpC,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;4BAChB,GAAGJ,OAAO;4BACV,GAAG,IAAI,CAAC,OAAO;wBACnB;oBACJ;gBACJ;YACJ;QACJ;IACJ;AACJ"}
|
|
@@ -5,14 +5,15 @@ import { SetGlobalInputBinding } from "./SetGlobalInputBinding.js";
|
|
|
5
5
|
import { SetGlobalStyleBinding } from "./SetGlobalStyleBinding.js";
|
|
6
6
|
import { SetInputBindingOverride } from "./SetInputBindingOverride.js";
|
|
7
7
|
import { SetStyleBindingOverride } from "./SetStyleBindingOverride.js";
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
8
|
+
const DocumentOperations = {
|
|
9
|
+
AddElement: AddElement,
|
|
10
|
+
AddToParent: AddToParent,
|
|
11
|
+
RemoveElement: RemoveElement,
|
|
12
|
+
SetGlobalInputBinding: SetGlobalInputBinding,
|
|
13
|
+
SetGlobalStyleBinding: SetGlobalStyleBinding,
|
|
14
|
+
SetInputBindingOverride: SetInputBindingOverride,
|
|
15
|
+
SetStyleBindingOverride: SetStyleBindingOverride
|
|
16
16
|
};
|
|
17
|
+
export { DocumentOperations };
|
|
17
18
|
|
|
18
19
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"documentOperations/index.js","sources":["../../src/documentOperations/index.ts"],"sourcesContent":["export type { IDocumentOperation } from \"./IDocumentOperation.js\";\nimport { AddElement } from \"./AddElement.js\";\nimport { AddToParent } from \"./AddToParent.js\";\nimport { RemoveElement } from \"./RemoveElement.js\";\nimport { SetGlobalInputBinding } from \"./SetGlobalInputBinding.js\";\nimport { SetGlobalStyleBinding } from \"./SetGlobalStyleBinding.js\";\nimport { SetInputBindingOverride } from \"./SetInputBindingOverride.js\";\nimport { SetStyleBindingOverride } from \"./SetStyleBindingOverride.js\";\n\nexport const DocumentOperations = {\n AddElement,\n AddToParent,\n RemoveElement,\n SetGlobalInputBinding,\n SetGlobalStyleBinding,\n SetInputBindingOverride,\n SetStyleBindingOverride\n};\n"],"names":["DocumentOperations","AddElement","AddToParent","RemoveElement","SetGlobalInputBinding","SetGlobalStyleBinding","SetInputBindingOverride","SetStyleBindingOverride"],"mappings":";;;;;;;AASO,MAAMA,qBAAqB;IAC9BC,YAAUA;IACVC,aAAWA;IACXC,eAAaA;IACbC,uBAAqBA;IACrBC,uBAAqBA;IACrBC,yBAAuBA;IACvBC,yBAAuBA;AAC3B"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { AnalyticsProvider, ExposureEvent } from "./types.js";
|
|
2
|
+
/**
|
|
3
|
+
* The minimal shape of a PostHog client (server-side `posthog-node` or browser `posthog-js`).
|
|
4
|
+
* The project supplies its own client so this package stays dependency-free and framework
|
|
5
|
+
* agnostic — no PostHog package is bundled into the SDK.
|
|
6
|
+
*/
|
|
7
|
+
export interface PostHogClientLike {
|
|
8
|
+
capture(params: {
|
|
9
|
+
distinctId: string;
|
|
10
|
+
event: string;
|
|
11
|
+
properties?: Record<string, any>;
|
|
12
|
+
}): void | Promise<void>;
|
|
13
|
+
}
|
|
14
|
+
export interface PostHogAnalyticsProviderOptions {
|
|
15
|
+
/** Event name to emit. Defaults to "$experiment_exposure". */
|
|
16
|
+
exposureEventName?: string;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Maps the canonical {@link ExposureEvent} onto a PostHog capture call. PostHog attributes
|
|
20
|
+
* experiment results from the `$feature/<experimentKey>` property carried on the exposure
|
|
21
|
+
* event (and, project-side, on subsequent metric events) — no native PostHog feature flag is
|
|
22
|
+
* required. This is the ONLY place PostHog-specific field names exist; they never reach the
|
|
23
|
+
* data model, the assignment logic, or the render path.
|
|
24
|
+
*/
|
|
25
|
+
export declare class PostHogAnalyticsProvider implements AnalyticsProvider {
|
|
26
|
+
private client;
|
|
27
|
+
private options;
|
|
28
|
+
readonly name = "posthog";
|
|
29
|
+
constructor(client: PostHogClientLike, options?: PostHogAnalyticsProviderOptions);
|
|
30
|
+
emitExposure(event: ExposureEvent): Promise<void>;
|
|
31
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
class PostHogAnalyticsProvider {
|
|
2
|
+
constructor(client, options = {}){
|
|
3
|
+
this.client = client;
|
|
4
|
+
this.options = options;
|
|
5
|
+
this.name = "posthog";
|
|
6
|
+
}
|
|
7
|
+
async emitExposure(event) {
|
|
8
|
+
const featureKey = event.experimentKey ?? event.experimentId;
|
|
9
|
+
await this.client.capture({
|
|
10
|
+
distinctId: event.visitorId,
|
|
11
|
+
event: this.options.exposureEventName ?? "$experiment_exposure",
|
|
12
|
+
properties: {
|
|
13
|
+
[`$feature/${featureKey}`]: event.variantId,
|
|
14
|
+
experiment_id: event.experimentId,
|
|
15
|
+
variant_id: event.variantId,
|
|
16
|
+
revision_id: event.revisionId,
|
|
17
|
+
tenant_id: event.tenantId,
|
|
18
|
+
page_id: event.pageId,
|
|
19
|
+
path: event.path,
|
|
20
|
+
$current_url: event.path,
|
|
21
|
+
timestamp: event.timestamp
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
export { PostHogAnalyticsProvider };
|
|
27
|
+
|
|
28
|
+
//# sourceMappingURL=PostHogAnalyticsProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"experiments/PostHogAnalyticsProvider.js","sources":["../../src/experiments/PostHogAnalyticsProvider.ts"],"sourcesContent":["import type { AnalyticsProvider, ExposureEvent } from \"./types.js\";\n\n/**\n * The minimal shape of a PostHog client (server-side `posthog-node` or browser `posthog-js`).\n * The project supplies its own client so this package stays dependency-free and framework\n * agnostic — no PostHog package is bundled into the SDK.\n */\nexport interface PostHogClientLike {\n capture(params: {\n distinctId: string;\n event: string;\n properties?: Record<string, any>;\n }): void | Promise<void>;\n}\n\nexport interface PostHogAnalyticsProviderOptions {\n /** Event name to emit. Defaults to \"$experiment_exposure\". */\n exposureEventName?: string;\n}\n\n/**\n * Maps the canonical {@link ExposureEvent} onto a PostHog capture call. PostHog attributes\n * experiment results from the `$feature/<experimentKey>` property carried on the exposure\n * event (and, project-side, on subsequent metric events) — no native PostHog feature flag is\n * required. This is the ONLY place PostHog-specific field names exist; they never reach the\n * data model, the assignment logic, or the render path.\n */\nexport class PostHogAnalyticsProvider implements AnalyticsProvider {\n public readonly name = \"posthog\";\n\n constructor(\n private client: PostHogClientLike,\n private options: PostHogAnalyticsProviderOptions = {}\n ) {}\n\n async emitExposure(event: ExposureEvent): Promise<void> {\n const featureKey = event.experimentKey ?? event.experimentId;\n\n await this.client.capture({\n distinctId: event.visitorId,\n event: this.options.exposureEventName ?? \"$experiment_exposure\",\n properties: {\n // PostHog reads this property to attribute exposures and metrics to a variant.\n [`$feature/${featureKey}`]: event.variantId,\n experiment_id: event.experimentId,\n variant_id: event.variantId,\n revision_id: event.revisionId,\n tenant_id: event.tenantId,\n page_id: event.pageId,\n path: event.path,\n $current_url: event.path,\n timestamp: event.timestamp\n }\n });\n }\n}\n"],"names":["PostHogAnalyticsProvider","client","options","event","featureKey"],"mappings":"AA2BO,MAAMA;IAGT,YACYC,MAAyB,EACzBC,UAA2C,CAAC,CAAC,CACvD;aAFUD,MAAM,GAANA;aACAC,OAAO,GAAPA;aAJI,IAAI,GAAG;IAKpB;IAEH,MAAM,aAAaC,KAAoB,EAAiB;QACpD,MAAMC,aAAaD,MAAM,aAAa,IAAIA,MAAM,YAAY;QAE5D,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;YACtB,YAAYA,MAAM,SAAS;YAC3B,OAAO,IAAI,CAAC,OAAO,CAAC,iBAAiB,IAAI;YACzC,YAAY;gBAER,CAAC,CAAC,SAAS,EAAEC,YAAY,CAAC,EAAED,MAAM,SAAS;gBAC3C,eAAeA,MAAM,YAAY;gBACjC,YAAYA,MAAM,SAAS;gBAC3B,aAAaA,MAAM,UAAU;gBAC7B,WAAWA,MAAM,QAAQ;gBACzB,SAASA,MAAM,MAAM;gBACrB,MAAMA,MAAM,IAAI;gBAChB,cAAcA,MAAM,IAAI;gBACxB,WAAWA,MAAM,SAAS;YAC9B;QACJ;IACJ;AACJ"}
|