@useinsider/guido 3.20.1-beta.8a05319 → 3.20.1-beta.92564e2
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/README.md +1 -0
- package/dist/@types/config/schemas.js +41 -39
- package/dist/@types/display-condition.js +25 -0
- package/dist/components/Guido.vue.js +6 -6
- package/dist/components/Guido.vue2.js +78 -76
- package/dist/components/organisms/display-conditions/CodeEditorField.vue.js +20 -0
- package/dist/components/organisms/display-conditions/CodeEditorField.vue2.js +30 -0
- package/dist/components/organisms/display-conditions/DisplayConditionCreateDrawer.vue.js +30 -0
- package/dist/components/organisms/display-conditions/DisplayConditionCreateDrawer.vue2.js +71 -0
- package/dist/components/organisms/display-conditions/DisplayConditionSelectDrawer.vue.js +34 -0
- package/dist/components/organisms/display-conditions/DisplayConditionSelectDrawer.vue2.js +57 -0
- package/dist/components/organisms/display-conditions/DisplayConditionsHost.vue.js +17 -0
- package/dist/components/organisms/display-conditions/DisplayConditionsHost.vue2.js +22 -0
- package/dist/composables/useBlocksConfig.js +32 -24
- package/dist/composables/useDisplayConditions.js +102 -0
- package/dist/composables/useLegacyStrategyConversion.js +16 -16
- package/dist/composables/useStripo.js +4 -3
- package/dist/config/compiler/itemsCompilerRules.js +12 -5
- package/dist/config/compiler/utils/itemsCompilerUtils.js +65 -45
- package/dist/enums/academy.js +1 -0
- package/dist/enums/display-condition.js +12 -0
- package/dist/extensions/Blocks/Items/block.js +43 -42
- package/dist/extensions/Blocks/Recommendation/controls/cardComposition/index.js +103 -91
- package/dist/extensions/Blocks/Recommendation/controls/main/index.js +296 -223
- package/dist/extensions/Blocks/Recommendation/store/recommendation.js +219 -205
- package/dist/extensions/Blocks/Recommendation/utils/blockRefresh.js +19 -0
- package/dist/extensions/Blocks/Recommendation/utils/captureStyleTemplates.js +72 -70
- package/dist/extensions/Blocks/Recommendation/utils/compositionKeys.js +69 -60
- package/dist/extensions/Blocks/Recommendation/utils/nodeConfigWriter.js +51 -36
- package/dist/extensions/Blocks/Recommendation/utils/strategyCommit.js +31 -35
- package/dist/extensions/DisplayConditions/bridge.js +17 -0
- package/dist/extensions/DisplayConditions/constants.js +17 -0
- package/dist/extensions/DisplayConditions/control.js +178 -0
- package/dist/extensions/DisplayConditions/display-conditions.css.js +201 -0
- package/dist/extensions/DisplayConditions/extension.js +28 -0
- package/dist/extensions/DisplayConditions/iconsRegistry.js +20 -0
- package/dist/extensions/DisplayConditions/library.js +27 -0
- package/dist/extensions/DisplayConditions/settingsPanel.js +17 -0
- package/dist/guido.css +1 -1
- package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js +272 -192
- package/dist/node_modules/valibot/dist/index.js +297 -261
- package/dist/package.json.js +1 -1
- package/dist/services/displayConditionApi.js +39 -0
- package/dist/src/@types/config/schemas.d.ts +4 -0
- package/dist/src/@types/display-condition.d.ts +59 -0
- package/dist/src/components/organisms/display-conditions/CodeEditorField.vue.d.ts +43 -0
- package/dist/src/components/organisms/display-conditions/DisplayConditionCreateDrawer.vue.d.ts +2 -0
- package/dist/src/components/organisms/display-conditions/DisplayConditionSelectDrawer.vue.d.ts +2 -0
- package/dist/src/components/organisms/display-conditions/DisplayConditionsHost.vue.d.ts +2 -0
- package/dist/src/composables/useConfig.d.ts +2 -0
- package/dist/src/composables/useDisplayConditions.d.ts +16 -0
- package/dist/src/config/compiler/utils/itemsCompilerUtils.d.ts +5 -0
- package/dist/src/enums/academy.d.ts +1 -0
- package/dist/src/enums/display-condition.d.ts +15 -0
- package/dist/src/extensions/Blocks/Checkbox/controls/blockBackground/index.d.ts +1 -0
- package/dist/src/extensions/Blocks/CouponBlock/controls/index.d.ts +8 -0
- package/dist/src/extensions/Blocks/Items/controls/index.d.ts +40 -0
- package/dist/src/extensions/Blocks/RadioButton/controls/blockBackground/index.d.ts +1 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/blockBackground/index.d.ts +1 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/button/index.d.ts +11 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/cardComposition/index.d.ts +3 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/customAttribute/index.d.ts +7 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/image/index.d.ts +2 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/main/index.d.ts +18 -3
- package/dist/src/extensions/Blocks/Recommendation/controls/name/index.d.ts +7 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/index.d.ts +7 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/omnibusDiscount/index.d.ts +7 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/omnibusPrice/index.d.ts +7 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/price/index.d.ts +7 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/title/index.d.ts +7 -0
- package/dist/src/extensions/Blocks/Recommendation/store/recommendation.d.ts +8 -1
- package/dist/src/extensions/Blocks/Recommendation/utils/blockRefresh.d.ts +17 -0
- package/dist/src/extensions/Blocks/Recommendation/utils/compositionKeys.d.ts +4 -0
- package/dist/src/extensions/Blocks/Recommendation/utils/nodeConfigWriter.d.ts +7 -0
- package/dist/src/extensions/Blocks/_Boilerplate/controls/blockBackground/index.d.ts +1 -0
- package/dist/src/extensions/Blocks/controlFactories.d.ts +22 -0
- package/dist/src/extensions/DisplayConditions/bridge.d.ts +6 -0
- package/dist/src/extensions/DisplayConditions/constants.d.ts +14 -0
- package/dist/src/extensions/DisplayConditions/control.d.ts +23 -0
- package/dist/src/extensions/DisplayConditions/extension.d.ts +2 -0
- package/dist/src/extensions/DisplayConditions/iconsRegistry.d.ts +4 -0
- package/dist/src/extensions/DisplayConditions/library.d.ts +8 -0
- package/dist/src/extensions/DisplayConditions/settingsPanel.d.ts +5 -0
- package/dist/src/mock/api/display-conditions.d.ts +2 -0
- package/dist/src/services/displayConditionApi.d.ts +8 -0
- package/dist/src/stores/config.d.ts +166 -0
- package/dist/src/stores/display-condition.d.ts +81 -0
- package/dist/src/utils/displayCondition.d.ts +10 -0
- package/dist/src/utils/protectTableText.d.ts +2 -0
- package/dist/static/styles/components/button.css.js +5 -0
- package/dist/stores/config.js +7 -0
- package/dist/stores/display-condition.js +28 -0
- package/dist/utils/displayCondition.js +26 -0
- package/dist/utils/pairProductVariables.js +15 -14
- package/dist/utils/protectTableText.js +22 -0
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -150,6 +150,7 @@ const config: GuidoConfigInput = {
|
|
|
150
150
|
ui?: {
|
|
151
151
|
showHeader?: boolean, // Default: true
|
|
152
152
|
backButtonLabel?: string,
|
|
153
|
+
externalDisplayConditions?: boolean, // Default: false - Replace Stripo's display-condition UI with a Conditions tab in the settings panel and create/select drawers for reusable Liquid/Pongo display conditions.
|
|
153
154
|
},
|
|
154
155
|
|
|
155
156
|
// Optional: Feature toggles (defaults apply once initialized — see `ready` prop below)
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { ModuleFolderDefaults as
|
|
2
|
-
import { object as a, number as s, optional as e, string as t, picklist as m, pipe as i, minLength as b, custom as k, boolean as o, array as
|
|
1
|
+
import { ModuleFolderDefaults as S } from "../../enums/defaults.js";
|
|
2
|
+
import { object as a, number as s, optional as e, string as t, picklist as m, pipe as i, minLength as b, custom as k, boolean as o, array as n, transform as y, unknown as r, record as g, fallback as R, literal as u, looseObject as C, variant as I, union as h, lazy as T } from "../../node_modules/valibot/dist/index.js";
|
|
3
3
|
const p = {
|
|
4
4
|
/** Promotional/marketing emails */
|
|
5
5
|
PROMOTIONAL: 1,
|
|
@@ -76,30 +76,30 @@ const p = {
|
|
|
76
76
|
value: t()
|
|
77
77
|
})
|
|
78
78
|
)
|
|
79
|
-
}),
|
|
79
|
+
}), f = T(() => C({
|
|
80
80
|
text: e(t()),
|
|
81
81
|
// eslint-disable-next-line camelcase -- backend field name
|
|
82
82
|
tag_text: e(t()),
|
|
83
83
|
value: e(t()),
|
|
84
|
-
children: e(
|
|
84
|
+
children: e(n(f)),
|
|
85
85
|
// eslint-disable-next-line camelcase -- backend field name
|
|
86
|
-
select_items: e(
|
|
87
|
-
})),
|
|
86
|
+
select_items: e(n(f))
|
|
87
|
+
})), x = g(
|
|
88
88
|
t(),
|
|
89
|
-
R(
|
|
90
|
-
),
|
|
89
|
+
R(n(f), [])
|
|
90
|
+
), D = C({
|
|
91
91
|
/** Block ID (matches the dictionary key and the legacy HTML element id) */
|
|
92
92
|
id: e(s()),
|
|
93
93
|
/** Decimal places for price display (legacy data may use string or number) */
|
|
94
94
|
decimalCount: e(h([t(), s()])),
|
|
95
95
|
/** Pinned product IDs (empty array when filter-driven) */
|
|
96
|
-
productIds: e(
|
|
96
|
+
productIds: e(n(r())),
|
|
97
97
|
/** Whether the block requested live products at send time */
|
|
98
98
|
sendProductRequestFlag: e(o()),
|
|
99
99
|
/** Whether to randomize product order */
|
|
100
100
|
shuffleProducts: e(o()),
|
|
101
101
|
/** Filter rules driving product selection */
|
|
102
|
-
filters: e(
|
|
102
|
+
filters: e(n(r())),
|
|
103
103
|
/** Currency code (e.g. 'EUR') — sometimes absent in legacy data */
|
|
104
104
|
currency: e(t()),
|
|
105
105
|
/** Currency display settings (separators, alignment, decimals) */
|
|
@@ -109,7 +109,7 @@ const p = {
|
|
|
109
109
|
/** Recommendation strategy key (e.g. 'newArrivals') */
|
|
110
110
|
strategy: e(t()),
|
|
111
111
|
/** Snapshot of products as rendered by the legacy block */
|
|
112
|
-
recommendedProducts: e(
|
|
112
|
+
recommendedProducts: e(n(r())),
|
|
113
113
|
/** Number of product cards per row */
|
|
114
114
|
cardsInRow: e(s()),
|
|
115
115
|
/** Mobile-only padding (right) */
|
|
@@ -132,7 +132,7 @@ const p = {
|
|
|
132
132
|
isPriceMovedToNextLine: e(o()),
|
|
133
133
|
/** Legacy "Hide if same as discounted" / delete-price-for-zero-sale toggle */
|
|
134
134
|
isPriceDeletedForZeroSale: e(o())
|
|
135
|
-
}),
|
|
135
|
+
}), N = a({
|
|
136
136
|
/**
|
|
137
137
|
* Legacy recommendation block configs keyed by block ID.
|
|
138
138
|
* Pass this when loading a template authored with the v1
|
|
@@ -140,17 +140,17 @@ const p = {
|
|
|
140
140
|
* strategy, currency, locale, and layout data.
|
|
141
141
|
*/
|
|
142
142
|
recommendationConfigs: e(
|
|
143
|
-
g(t(),
|
|
143
|
+
g(t(), D),
|
|
144
144
|
{}
|
|
145
145
|
)
|
|
146
|
-
}),
|
|
146
|
+
}), P = a({
|
|
147
147
|
/** Initial HTML content */
|
|
148
148
|
html: e(t(), ""),
|
|
149
149
|
/** Initial CSS content */
|
|
150
150
|
css: e(t(), ""),
|
|
151
151
|
/** Preselected dynamic content items */
|
|
152
152
|
preselectedDynamicContent: e(
|
|
153
|
-
|
|
153
|
+
n(M),
|
|
154
154
|
[]
|
|
155
155
|
),
|
|
156
156
|
/**
|
|
@@ -159,11 +159,11 @@ const p = {
|
|
|
159
159
|
* (first) partner's leaf attributes into the label→token map that repairs
|
|
160
160
|
* label-form placeholders (`{{ Phone Number }}`) in dropped saved modules.
|
|
161
161
|
*/
|
|
162
|
-
dynamicContentList: e(
|
|
162
|
+
dynamicContentList: e(x, {}),
|
|
163
163
|
/** Valid custom field attribute names from the partner's categorized fields */
|
|
164
|
-
customFieldAttributes: e(
|
|
164
|
+
customFieldAttributes: e(n(t()), []),
|
|
165
165
|
/** Selected unsubscribe page IDs */
|
|
166
|
-
selectedUnsubscribePages: e(
|
|
166
|
+
selectedUnsubscribePages: e(n(s()), []),
|
|
167
167
|
/** Force recreate template in Stripo storage (use true when updating externally modified templates) */
|
|
168
168
|
forceRecreate: e(o(), !1),
|
|
169
169
|
/**
|
|
@@ -176,7 +176,7 @@ const p = {
|
|
|
176
176
|
trackIdCounter: e(
|
|
177
177
|
i(
|
|
178
178
|
s(),
|
|
179
|
-
y((
|
|
179
|
+
y((c) => Number.isFinite(c) ? Math.max(0, Math.floor(c)) : 0)
|
|
180
180
|
),
|
|
181
181
|
0
|
|
182
182
|
),
|
|
@@ -190,12 +190,12 @@ const p = {
|
|
|
190
190
|
recommendationCampaignUrls: e(
|
|
191
191
|
i(
|
|
192
192
|
r(),
|
|
193
|
-
y((
|
|
193
|
+
y((c) => c && typeof c == "object" ? { ...c } : void 0)
|
|
194
194
|
)
|
|
195
195
|
),
|
|
196
196
|
/** Migration-only inputs (legacy block configs) */
|
|
197
|
-
migration: e(
|
|
198
|
-
}),
|
|
197
|
+
migration: e(N, {})
|
|
198
|
+
}), v = a({
|
|
199
199
|
/** Sender display name */
|
|
200
200
|
senderName: e(t(), ""),
|
|
201
201
|
/** Email subject line */
|
|
@@ -208,16 +208,18 @@ const p = {
|
|
|
208
208
|
/** Migration date for template compatibility */
|
|
209
209
|
migrationDate: e(s(), 1759696858),
|
|
210
210
|
/** Email header settings */
|
|
211
|
-
emailHeader: e(
|
|
211
|
+
emailHeader: e(v, { senderName: "", subject: "" }),
|
|
212
212
|
/** Folder name for user-saved modules (used by Stripo plugin panel for path construction) */
|
|
213
|
-
savedModulesFolderName: e(t(),
|
|
213
|
+
savedModulesFolderName: e(t(), S.SAVED_MODULES),
|
|
214
214
|
/** Folder name for default/prebuilt modules (used by Stripo plugin panel for path construction) */
|
|
215
|
-
defaultModulesFolderName: e(t(),
|
|
215
|
+
defaultModulesFolderName: e(t(), S.DEFAULT_MODULES)
|
|
216
216
|
}), F = a({
|
|
217
217
|
/** Whether to show the header bar */
|
|
218
218
|
showHeader: e(o(), !0),
|
|
219
219
|
/** Custom label for back button (if shown) */
|
|
220
|
-
backButtonLabel: e(t())
|
|
220
|
+
backButtonLabel: e(t()),
|
|
221
|
+
/** Replace Stripo's display-condition UI with the Conditions tab and create/select drawers */
|
|
222
|
+
externalDisplayConditions: e(o(), !1)
|
|
221
223
|
}), U = a({
|
|
222
224
|
/** Enable dynamic content insertion */
|
|
223
225
|
dynamicContent: e(o(), !0),
|
|
@@ -269,12 +271,12 @@ const p = {
|
|
|
269
271
|
]), j = a({
|
|
270
272
|
/** Default blocks to exclude from the editor */
|
|
271
273
|
excludeDefaults: e(
|
|
272
|
-
|
|
274
|
+
n(w),
|
|
273
275
|
[]
|
|
274
276
|
),
|
|
275
277
|
/** Custom blocks to include in the editor */
|
|
276
278
|
includeCustoms: e(
|
|
277
|
-
|
|
279
|
+
n(B),
|
|
278
280
|
[]
|
|
279
281
|
)
|
|
280
282
|
}), d = a({
|
|
@@ -306,13 +308,13 @@ const p = {
|
|
|
306
308
|
...d.entries,
|
|
307
309
|
type: u("remove"),
|
|
308
310
|
/** Strings or patterns to remove */
|
|
309
|
-
targets:
|
|
311
|
+
targets: n(t())
|
|
310
312
|
}), G = a({
|
|
311
313
|
...d.entries,
|
|
312
314
|
type: u("custom"),
|
|
313
315
|
/** Custom processor function */
|
|
314
316
|
processor: k(
|
|
315
|
-
(
|
|
317
|
+
(c) => typeof c == "function",
|
|
316
318
|
"processor must be a function"
|
|
317
319
|
)
|
|
318
320
|
}), V = I("type", [
|
|
@@ -322,7 +324,7 @@ const p = {
|
|
|
322
324
|
G
|
|
323
325
|
]), z = a({
|
|
324
326
|
/** Custom compiler rules to apply */
|
|
325
|
-
customRules: e(
|
|
327
|
+
customRules: e(n(V), []),
|
|
326
328
|
/** Skip default compiler rules */
|
|
327
329
|
ignoreDefaultRules: e(o(), !1)
|
|
328
330
|
}), W = a({
|
|
@@ -332,7 +334,7 @@ const p = {
|
|
|
332
334
|
*/
|
|
333
335
|
externalValidation: e(
|
|
334
336
|
k(
|
|
335
|
-
(
|
|
337
|
+
(c) => typeof c == "function",
|
|
336
338
|
"externalValidation must be a function"
|
|
337
339
|
)
|
|
338
340
|
)
|
|
@@ -344,7 +346,7 @@ const p = {
|
|
|
344
346
|
partner: E,
|
|
345
347
|
// Optional sections (with defaults)
|
|
346
348
|
/** Template content and presets */
|
|
347
|
-
template: e(
|
|
349
|
+
template: e(P, {}),
|
|
348
350
|
/** Editor settings */
|
|
349
351
|
editor: e(O, {}),
|
|
350
352
|
/** UI configuration */
|
|
@@ -366,23 +368,23 @@ export {
|
|
|
366
368
|
B as CustomBlockTypeSchema,
|
|
367
369
|
G as CustomRuleSchema,
|
|
368
370
|
w as DefaultBlockTypeSchema,
|
|
369
|
-
|
|
370
|
-
|
|
371
|
+
x as DynamicContentListSchema,
|
|
372
|
+
f as DynamicContentNodeSchema,
|
|
371
373
|
M as DynamicContentSchema,
|
|
372
374
|
O as EditorSchema,
|
|
373
|
-
|
|
375
|
+
v as EmailHeaderSchema,
|
|
374
376
|
L as FallbackFontSchema,
|
|
375
377
|
U as FeaturesSchema,
|
|
376
378
|
K as GuidoConfigSchema,
|
|
377
379
|
A as IdentitySchema,
|
|
378
|
-
|
|
380
|
+
D as LegacyRecommendationConfigSchema,
|
|
379
381
|
p as MessageType,
|
|
380
382
|
E as PartnerSchema,
|
|
381
383
|
l as ProductType,
|
|
382
384
|
_ as RegexRuleSchema,
|
|
383
385
|
q as RemoveRuleSchema,
|
|
384
386
|
H as ReplaceRuleSchema,
|
|
385
|
-
|
|
386
|
-
|
|
387
|
+
N as TemplateMigrationSchema,
|
|
388
|
+
P as TemplateSchema,
|
|
387
389
|
F as UISchema
|
|
388
390
|
};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { object as e, optional as a, string as o, nullish as i, number as t, picklist as n, array as c } from "../node_modules/valibot/dist/index.js";
|
|
2
|
+
const s = n(["liquid", "pongo"]), d = n(["codeOnly", "logicBuilder"]), r = e({
|
|
3
|
+
id: t(),
|
|
4
|
+
name: o(),
|
|
5
|
+
description: i(o(), ""),
|
|
6
|
+
syntax: s,
|
|
7
|
+
method: d,
|
|
8
|
+
codeBefore: o(),
|
|
9
|
+
codeAfter: i(o(), ""),
|
|
10
|
+
createdAt: a(o())
|
|
11
|
+
}), p = e({
|
|
12
|
+
data: c(r),
|
|
13
|
+
meta: e({
|
|
14
|
+
totalCount: t(),
|
|
15
|
+
perPage: t(),
|
|
16
|
+
currentPage: t(),
|
|
17
|
+
lastPage: t()
|
|
18
|
+
})
|
|
19
|
+
});
|
|
20
|
+
export {
|
|
21
|
+
p as DisplayConditionListResponseSchema,
|
|
22
|
+
d as DisplayConditionMethodSchema,
|
|
23
|
+
s as DisplayConditionSyntaxSchema,
|
|
24
|
+
r as SavedDisplayConditionSchema
|
|
25
|
+
};
|
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
import
|
|
1
|
+
import i from "./Guido.vue2.js";
|
|
2
2
|
/* empty css */
|
|
3
|
-
import
|
|
3
|
+
import o from "../_virtual/_plugin-vue2_normalizer.js";
|
|
4
4
|
var t = function() {
|
|
5
5
|
var a = this, r = a._self._c, e = a._self._setupProxy;
|
|
6
|
-
return r("div", { ref: "wrapperRef", staticClass: "guido-editor__wrapper", class: { "guido-editor__no-header": e.noHeader } }, [r(e.HeaderWrapper, { ref: "headerWrapperRef" }), r(e.AutoSaveController), e.editorStore.isPreviewModeOpen ? r(e.PreviewContainer) : a._e(), r("div", { directives: [{ name: "show", rawName: "v-show", value: !e.previewStore.isLoaded, expression: "!previewStore.isLoaded" }], staticClass: "guido-editor__container", class: { "guido-editor__no-header": e.noHeader }, attrs: { id: "guido-editor" } }), r(e.Toaster), r(e.AuthErrorModal), r(e.FilterSelectionDrawer), e.isRrsEnabled || e.hasAssignedStrategy ? r(e.AssignStrategyDrawer) : a._e(), e.isRrsEnabled || e.hasAssignedStrategy ? r(e.RemoveStrategyModal) : a._e(), e.isRrsEnabled ? r(e.LegacyStrategyUpdatedModal) : a._e(), r(e.SaveAsTemplateDrawer), e.isSaveValidationEnabled ? r(e.ValidationErrorDrawer) : a._e(), e.isTestPartner() ? a._e() : r(e.OnboardingWrapper, { on: { "onboarding-finished": function(_) {
|
|
6
|
+
return r("div", { ref: "wrapperRef", staticClass: "guido-editor__wrapper", class: { "guido-editor__no-header": e.noHeader } }, [r(e.HeaderWrapper, { ref: "headerWrapperRef" }), r(e.AutoSaveController), e.editorStore.isPreviewModeOpen ? r(e.PreviewContainer) : a._e(), r("div", { directives: [{ name: "show", rawName: "v-show", value: !e.previewStore.isLoaded, expression: "!previewStore.isLoaded" }], staticClass: "guido-editor__container", class: { "guido-editor__no-header": e.noHeader }, attrs: { id: "guido-editor" } }), r(e.Toaster), r(e.AuthErrorModal), r(e.FilterSelectionDrawer), e.isRrsEnabled || e.hasAssignedStrategy ? r(e.AssignStrategyDrawer) : a._e(), e.isRrsEnabled || e.hasAssignedStrategy ? r(e.RemoveStrategyModal) : a._e(), e.isRrsEnabled ? r(e.LegacyStrategyUpdatedModal) : a._e(), r(e.SaveAsTemplateDrawer), e.isSaveValidationEnabled ? r(e.ValidationErrorDrawer) : a._e(), e.isExternalDisplayConditionsEnabled ? r(e.DisplayConditionsHost) : a._e(), e.isTestPartner() ? a._e() : r(e.OnboardingWrapper, { on: { "onboarding-finished": function(_) {
|
|
7
7
|
return e.emit("onboarding:finished");
|
|
8
8
|
} } }), r(e.UnsubscribeWrapper), r(e.LoadingWrapper)], 1);
|
|
9
|
-
}, s = [], n = /* @__PURE__ */
|
|
10
|
-
|
|
9
|
+
}, s = [], n = /* @__PURE__ */ o(
|
|
10
|
+
i,
|
|
11
11
|
t,
|
|
12
12
|
s,
|
|
13
13
|
!1,
|
|
14
14
|
null,
|
|
15
|
-
"
|
|
15
|
+
"22e84203"
|
|
16
16
|
);
|
|
17
17
|
const v = n.exports;
|
|
18
18
|
export {
|
|
@@ -1,61 +1,63 @@
|
|
|
1
|
-
import { defineComponent as
|
|
2
|
-
import { useCortexBlueprintBridge as
|
|
3
|
-
import { useEditorLock as
|
|
4
|
-
import { provideGuidoActions as
|
|
5
|
-
import { useGuidoStateBridge as
|
|
6
|
-
import { usePartner as
|
|
7
|
-
import { useSaveValidationRollout as
|
|
8
|
-
import { useStripo as
|
|
9
|
-
import { useTimerClone as
|
|
10
|
-
import { migrate as
|
|
11
|
-
import { ModuleFolderDefaults as
|
|
12
|
-
import { RIBBON_SELECTOR as
|
|
1
|
+
import { defineComponent as ce, defineAsyncComponent as c, ref as W, computed as l, watch as G, onMounted as de, onUnmounted as me } from "vue";
|
|
2
|
+
import { useCortexBlueprintBridge as le } from "../composables/useCortexBlueprintBridge.js";
|
|
3
|
+
import { useEditorLock as ue } from "../composables/useEditorLock.js";
|
|
4
|
+
import { provideGuidoActions as pe } from "../composables/useGuidoActions.js";
|
|
5
|
+
import { useGuidoStateBridge as fe } from "../composables/useGuidoStateBridge.js";
|
|
6
|
+
import { usePartner as ye } from "../composables/usePartner.js";
|
|
7
|
+
import { useSaveValidationRollout as ge } from "../composables/useSaveValidationRollout.js";
|
|
8
|
+
import { useStripo as Se } from "../composables/useStripo.js";
|
|
9
|
+
import { useTimerClone as ve } from "../composables/useTimerClone.js";
|
|
10
|
+
import { migrate as H } from "../config/migrator/index.js";
|
|
11
|
+
import { ModuleFolderDefaults as V } from "../enums/defaults.js";
|
|
12
|
+
import { RIBBON_SELECTOR as be } from "../enums/onboarding.js";
|
|
13
13
|
import { useRecommendationExtensionStore as E } from "../extensions/Blocks/Recommendation/store/recommendation.js";
|
|
14
|
-
import
|
|
15
|
-
import
|
|
16
|
-
import
|
|
17
|
-
import
|
|
18
|
-
import
|
|
19
|
-
import
|
|
20
|
-
import
|
|
21
|
-
import
|
|
22
|
-
import
|
|
23
|
-
import { useStripoApi as
|
|
24
|
-
import { useConfigStore as
|
|
25
|
-
import { useDynamicContentStore as
|
|
26
|
-
import { useEditorStore as
|
|
27
|
-
import { usePreviewStore as
|
|
28
|
-
import { useSaveValidationStore as
|
|
29
|
-
import { useTemplateStore as
|
|
30
|
-
import { useUnsubscribeStore as
|
|
31
|
-
import { readTrackFloor as
|
|
32
|
-
const
|
|
14
|
+
import he from "./organisms/AutoSaveController.vue.js";
|
|
15
|
+
import Ee from "./organisms/base/AuthErrorModal.vue.js";
|
|
16
|
+
import De from "./organisms/base/Toaster.vue.js";
|
|
17
|
+
import we from "./organisms/extensions/recommendation/FilterSelectionDrawer.vue.js";
|
|
18
|
+
import Ce from "./organisms/header/HeaderWrapper.vue.js";
|
|
19
|
+
import ke from "./organisms/LoadingWrapper.vue.js";
|
|
20
|
+
import Fe from "./organisms/save-as-template/SaveAsTemplateDrawer.vue.js";
|
|
21
|
+
import Re from "./organisms/unsubscribe/UnsubscribeWrapper.vue.js";
|
|
22
|
+
import Me from "./organisms/validation/ValidationErrorDrawer.vue.js";
|
|
23
|
+
import { useStripoApi as Te } from "../services/stripoApi.js";
|
|
24
|
+
import { useConfigStore as Ie } from "../stores/config.js";
|
|
25
|
+
import { useDynamicContentStore as Le } from "../stores/dynamic-content.js";
|
|
26
|
+
import { useEditorStore as D } from "../stores/editor.js";
|
|
27
|
+
import { usePreviewStore as Ue } from "../stores/preview.js";
|
|
28
|
+
import { useSaveValidationStore as Ae } from "../stores/save-validation.js";
|
|
29
|
+
import { useTemplateStore as Be } from "../stores/template.js";
|
|
30
|
+
import { useUnsubscribeStore as Ne } from "../stores/unsubscribe.js";
|
|
31
|
+
import { readTrackFloor as $ } from "../utils/linkTrackingIds.js";
|
|
32
|
+
const pt = /* @__PURE__ */ ce({
|
|
33
33
|
__name: "Guido",
|
|
34
34
|
props: {
|
|
35
35
|
config: null,
|
|
36
36
|
ready: { type: Boolean, default: !0 }
|
|
37
37
|
},
|
|
38
38
|
emits: ["dynamic-content:open", "back", "save:start", "save:complete", "on-change", "ready", "onboarding:finished", "test-email:click"],
|
|
39
|
-
setup(
|
|
40
|
-
const s =
|
|
39
|
+
setup(z, { expose: q, emit: r }) {
|
|
40
|
+
const s = z, K = c(
|
|
41
41
|
() => import("./organisms/email-preview/PreviewContainer.vue.js")
|
|
42
|
-
), j =
|
|
42
|
+
), j = c(
|
|
43
43
|
() => import("./organisms/onboarding/OnboardingWrapper.vue.js")
|
|
44
|
-
), J =
|
|
44
|
+
), J = c(
|
|
45
45
|
() => import("./organisms/extensions/recommendation/AssignStrategyDrawer.vue.js")
|
|
46
|
-
), Q =
|
|
46
|
+
), Q = c(
|
|
47
47
|
() => import("./organisms/extensions/recommendation/RemoveStrategyModal.vue.js")
|
|
48
|
-
), X =
|
|
48
|
+
), X = c(
|
|
49
|
+
() => import("./organisms/display-conditions/DisplayConditionsHost.vue.js")
|
|
50
|
+
), Y = c(
|
|
49
51
|
() => import("./organisms/extensions/recommendation/LegacyStrategyUpdatedModal.vue.js")
|
|
50
|
-
),
|
|
52
|
+
), w = W(), f = W(), y = Le(), C = Ne(), o = Ie();
|
|
51
53
|
s.ready && o.init(s.config);
|
|
52
|
-
const
|
|
54
|
+
const d = D(), Z = Ue(), u = l(() => d.hasChanges), { isTestPartner: ee } = ye(), { isEnabled: te } = ge(), k = () => {
|
|
53
55
|
var t;
|
|
54
|
-
return (t =
|
|
56
|
+
return (t = w.value) == null ? void 0 : t.handleSave(!0);
|
|
55
57
|
}, F = (t) => {
|
|
56
|
-
|
|
58
|
+
d.loadingStatus = t;
|
|
57
59
|
};
|
|
58
|
-
|
|
60
|
+
le(), fe();
|
|
59
61
|
const g = () => {
|
|
60
62
|
var t, e;
|
|
61
63
|
return {
|
|
@@ -63,18 +65,18 @@ const lt = /* @__PURE__ */ se({
|
|
|
63
65
|
userId: o.userId,
|
|
64
66
|
username: o.username,
|
|
65
67
|
partnerName: o.partnerName,
|
|
66
|
-
savedModulesFolderName: ((t = o.editor) == null ? void 0 : t.savedModulesFolderName) ||
|
|
67
|
-
defaultModulesFolderName: ((e = o.editor) == null ? void 0 : e.defaultModulesFolderName) ||
|
|
68
|
+
savedModulesFolderName: ((t = o.editor) == null ? void 0 : t.savedModulesFolderName) || V.SAVED_MODULES,
|
|
69
|
+
defaultModulesFolderName: ((e = o.editor) == null ? void 0 : e.defaultModulesFolderName) || V.DEFAULT_MODULES
|
|
68
70
|
};
|
|
69
|
-
}, { initPlugin: R, preloadRuntime: M } =
|
|
70
|
-
let
|
|
71
|
-
const { getDefaultTemplate: L } =
|
|
71
|
+
}, { initPlugin: R, preloadRuntime: M } = Se(), { runExclusive: T, beginMount: I, isCurrentMount: S } = ue();
|
|
72
|
+
let p = 0;
|
|
73
|
+
const { getDefaultTemplate: L } = Te(), { cloneTimersOnSave: U, hasTimerBlocks: A } = ve(), oe = l(() => {
|
|
72
74
|
var t;
|
|
73
75
|
return !((t = o.ui) != null && t.showHeader);
|
|
74
|
-
}),
|
|
76
|
+
}), ne = l(() => o.isFeatureEnabled("reusableRecommendationStrategy")), re = l(() => o.externalDisplayConditions), ae = l(
|
|
75
77
|
() => !!E().recommendationConfigs.strategyId
|
|
76
78
|
);
|
|
77
|
-
|
|
79
|
+
pe({
|
|
78
80
|
onBack: () => {
|
|
79
81
|
console.debug("guido:back"), r("back");
|
|
80
82
|
},
|
|
@@ -94,68 +96,68 @@ const lt = /* @__PURE__ */ se({
|
|
|
94
96
|
}, N = () => {
|
|
95
97
|
console.debug("dynamic-content:close", "Without Data"), document.dispatchEvent(new CustomEvent("dynamic-content:close", { detail: { text: "", value: "" } }));
|
|
96
98
|
};
|
|
97
|
-
G(() =>
|
|
98
|
-
r("on-change",
|
|
99
|
+
G(() => u.value, () => {
|
|
100
|
+
r("on-change", u.value);
|
|
99
101
|
});
|
|
100
102
|
const v = (t) => {
|
|
101
|
-
const e = t, { attribute: a, position:
|
|
102
|
-
console.debug("dynamic-content:open", e.detail), r("dynamic-content:open", a,
|
|
103
|
+
const e = t, { attribute: a, position: m } = e.detail;
|
|
104
|
+
console.debug("dynamic-content:open", e.detail), r("dynamic-content:open", a, m);
|
|
103
105
|
};
|
|
104
106
|
let i = null;
|
|
105
107
|
const b = () => {
|
|
106
108
|
var e;
|
|
107
|
-
const t = document.querySelector(
|
|
109
|
+
const t = document.querySelector(be);
|
|
108
110
|
(e = f.value) == null || e.style.setProperty("--ribbon-offset", `${(t == null ? void 0 : t.offsetHeight) ?? 0}px`);
|
|
109
111
|
}, h = async () => {
|
|
110
112
|
var t;
|
|
111
113
|
try {
|
|
112
|
-
o.initialized || o.init(s.config),
|
|
113
|
-
const e = o.template, a = (e == null ? void 0 : e.html) || "",
|
|
114
|
+
o.initialized || o.init(s.config), d.templateId = o.templateId;
|
|
115
|
+
const e = o.template, a = (e == null ? void 0 : e.html) || "", m = (e == null ? void 0 : e.css) || "", x = (e == null ? void 0 : e.preselectedDynamicContent) || [];
|
|
114
116
|
C.selectedUnsubscribePages = (e == null ? void 0 : e.selectedUnsubscribePages) || [];
|
|
115
|
-
const
|
|
117
|
+
const P = ((t = e == null ? void 0 : e.migration) == null ? void 0 : t.recommendationConfigs) ?? {}, _ = o.isFeatureEnabled("linkTrackingIds"), O = {
|
|
116
118
|
partnerName: o.partnerName,
|
|
117
119
|
campaignUrls: e == null ? void 0 : e.recommendationCampaignUrls,
|
|
118
120
|
rrsEnabled: o.isFeatureEnabled("reusableRecommendationStrategy")
|
|
119
121
|
};
|
|
120
122
|
let n = {
|
|
121
|
-
html: a && await
|
|
122
|
-
css:
|
|
123
|
+
html: a && await H(a, P, O),
|
|
124
|
+
css: m
|
|
123
125
|
};
|
|
124
|
-
n.html || (n = await L(), n.html = await
|
|
125
|
-
const
|
|
126
|
-
A(n.html) && (n.html = await U(n.html)),
|
|
127
|
-
const
|
|
128
|
-
preselectedDynamicContentList:
|
|
126
|
+
n.html || (n = await L(), n.html = await H(n.html, P, O));
|
|
127
|
+
const se = _ ? $(n.html, (e == null ? void 0 : e.trackIdCounter) || 0) : 0;
|
|
128
|
+
A(n.html) && (n.html = await U(n.html)), _ && (d.trackIdSessionFloor = Math.max(se, $(n.html)));
|
|
129
|
+
const ie = {
|
|
130
|
+
preselectedDynamicContentList: x,
|
|
129
131
|
onReady: () => {
|
|
130
132
|
console.debug("guido:ready"), r("ready");
|
|
131
133
|
}
|
|
132
134
|
};
|
|
133
|
-
|
|
135
|
+
p = I(), await R(n, g(), ie), y.selectedDynamicContentList = x;
|
|
134
136
|
} catch (e) {
|
|
135
137
|
console.error("Failed to initialize Stripo editor:", e);
|
|
136
138
|
}
|
|
137
139
|
};
|
|
138
|
-
return
|
|
140
|
+
return de(async () => {
|
|
139
141
|
var e;
|
|
140
|
-
console.debug("Guido says happy coding 🎉"), console.debug("🚗 Ka-Chow"), E().$reset(),
|
|
142
|
+
console.debug("Guido says happy coding 🎉"), console.debug("🚗 Ka-Chow"), E().$reset(), D().$reset(), Be().$reset(), Ae().$reset(), b();
|
|
141
143
|
const t = (e = f.value) == null ? void 0 : e.parentElement;
|
|
142
144
|
if (t && (i = new ResizeObserver(b), i.observe(t)), M(), s.ready)
|
|
143
145
|
await h();
|
|
144
146
|
else {
|
|
145
|
-
const a = G(() => s.ready, (
|
|
146
|
-
|
|
147
|
+
const a = G(() => s.ready, (m) => {
|
|
148
|
+
m && (a(), h());
|
|
147
149
|
});
|
|
148
150
|
}
|
|
149
151
|
document.addEventListener("dynamic-content:open", v);
|
|
150
|
-
}),
|
|
151
|
-
if (i == null || i.disconnect(), document.removeEventListener("dynamic-content:open", v), E().disposeStrategyPageReturn(), S(
|
|
152
|
+
}), me(() => {
|
|
153
|
+
if (i == null || i.disconnect(), document.removeEventListener("dynamic-content:open", v), E().disposeStrategyPageReturn(), S(p))
|
|
152
154
|
try {
|
|
153
|
-
|
|
155
|
+
D().isStripoInitialized = !1;
|
|
154
156
|
} catch (t) {
|
|
155
157
|
console.debug("Failed to close the editor readiness gate on unmount", t);
|
|
156
158
|
}
|
|
157
159
|
T(async () => {
|
|
158
|
-
if (S(
|
|
160
|
+
if (S(p))
|
|
159
161
|
try {
|
|
160
162
|
window.UIEditor.removeEditor();
|
|
161
163
|
} catch {
|
|
@@ -167,12 +169,12 @@ const lt = /* @__PURE__ */ se({
|
|
|
167
169
|
insert: B,
|
|
168
170
|
close: N
|
|
169
171
|
},
|
|
170
|
-
hasChanges:
|
|
172
|
+
hasChanges: u,
|
|
171
173
|
saveSilent: k,
|
|
172
174
|
setLoading: F
|
|
173
|
-
}), { __sfc: !0, PreviewContainer: K, OnboardingWrapper: j, AssignStrategyDrawer: J, RemoveStrategyModal: Q,
|
|
175
|
+
}), { __sfc: !0, PreviewContainer: K, OnboardingWrapper: j, AssignStrategyDrawer: J, RemoveStrategyModal: Q, DisplayConditionsHost: X, LegacyStrategyUpdatedModal: Y, headerWrapperRef: w, wrapperRef: f, dynamicContentStore: y, unsubscribeStore: C, props: s, configStore: o, editorStore: d, previewStore: Z, hasChanges: u, isTestPartner: ee, isSaveValidationEnabled: te, saveSilent: k, setLoading: F, emit: r, buildMetadata: g, initPlugin: R, preloadRuntime: M, runExclusive: T, beginMount: I, isCurrentMount: S, mountGeneration: p, getDefaultTemplate: L, cloneTimersOnSave: U, hasTimerBlocks: A, noHeader: oe, isRrsEnabled: ne, isExternalDisplayConditionsEnabled: re, hasAssignedStrategy: ae, insertDynamicContent: B, closeDynamicContent: N, handleDynamicContentOpen: v, ribbonObserver: i, updateRibbonOffset: b, startEditor: h, AutoSaveController: he, AuthErrorModal: Ee, Toaster: De, FilterSelectionDrawer: we, HeaderWrapper: Ce, LoadingWrapper: ke, SaveAsTemplateDrawer: Fe, UnsubscribeWrapper: Re, ValidationErrorDrawer: Me };
|
|
174
176
|
}
|
|
175
177
|
});
|
|
176
178
|
export {
|
|
177
|
-
|
|
179
|
+
pt as default
|
|
178
180
|
};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import i from "./CodeEditorField.vue2.js";
|
|
2
|
+
/* empty css */
|
|
3
|
+
import s from "../../../_virtual/_plugin-vue2_normalizer.js";
|
|
4
|
+
var a = function() {
|
|
5
|
+
var e = this, r = e._self._c, o = e._self._setupProxy;
|
|
6
|
+
return r("div", { staticClass: "guido-code-editor-field", attrs: { id: e.id } }, [r("p", { staticClass: "guido-code-editor-field__label" }, [e._v(" " + e._s(e.label) + " ")]), r(o.InCodeSnippet, { attrs: { code: e.value, disable: e.disabled, "focus-editor": !1, invalid: !!e.error, "invalid-message": e.error, options: o.options, size: { height: e.error ? 196 : 216 }, "syntax-check": !1 }, on: { input: function(t) {
|
|
7
|
+
return o.emit("input", t);
|
|
8
|
+
}, ready: o.onReady } })], 1);
|
|
9
|
+
}, n = [], d = /* @__PURE__ */ s(
|
|
10
|
+
i,
|
|
11
|
+
a,
|
|
12
|
+
n,
|
|
13
|
+
!1,
|
|
14
|
+
null,
|
|
15
|
+
"e96c7aa3"
|
|
16
|
+
);
|
|
17
|
+
const p = d.exports;
|
|
18
|
+
export {
|
|
19
|
+
p as default
|
|
20
|
+
};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { defineComponent as s, computed as u } from "vue";
|
|
2
|
+
import { InCodeSnippet as i } from "@useinsider/design-system-vue";
|
|
3
|
+
const m = /* @__PURE__ */ s({
|
|
4
|
+
__name: "CodeEditorField",
|
|
5
|
+
props: {
|
|
6
|
+
id: null,
|
|
7
|
+
label: null,
|
|
8
|
+
value: null,
|
|
9
|
+
placeholder: { default: "" },
|
|
10
|
+
error: { default: "" },
|
|
11
|
+
disabled: { type: Boolean, default: !1 }
|
|
12
|
+
},
|
|
13
|
+
emits: ["input"],
|
|
14
|
+
setup(t, { expose: n, emit: d }) {
|
|
15
|
+
const l = t;
|
|
16
|
+
let e = null;
|
|
17
|
+
const a = u(() => ({
|
|
18
|
+
mode: "liquid",
|
|
19
|
+
lint: !1,
|
|
20
|
+
foldGutter: !1,
|
|
21
|
+
placeholder: l.placeholder
|
|
22
|
+
})), r = (p) => {
|
|
23
|
+
e = p;
|
|
24
|
+
}, o = () => (e == null ? void 0 : e.state.doc.toString()) ?? l.value;
|
|
25
|
+
return n({ read: o }), { __sfc: !0, props: l, emit: d, view: e, options: a, onReady: r, read: o, InCodeSnippet: i };
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
export {
|
|
29
|
+
m as default
|
|
30
|
+
};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import a from "./DisplayConditionCreateDrawer.vue2.js";
|
|
2
|
+
/* empty css */
|
|
3
|
+
import r from "../../../_virtual/_plugin-vue2_normalizer.js";
|
|
4
|
+
var n = function() {
|
|
5
|
+
var i = this, t = i._self._c, e = i._self._setupProxy;
|
|
6
|
+
return t(e.WpDrawer, { attrs: { id: "guido__display-condition-create-drawer", "description-status": "", "class-name": "guido-display-condition-create-drawer", size: "large", "close-on-outside-click": !1, "description-text": e.descriptionText, "footer-button-group-options": e.footerButtonGroupOptions, status: e.store.isCreateOpen, "title-text": e.trans(`${e.KEY}.create-title`) }, on: { cancelOrBackButtonEvent: e.close, onCloseEvent: e.close, primaryButtonEvent: function(o) {
|
|
7
|
+
return e.submit("inline");
|
|
8
|
+
}, secondaryButtonEvent: function(o) {
|
|
9
|
+
return e.submit("save");
|
|
10
|
+
} } }, [t("div", { staticClass: "guido-display-condition-create" }, [t(e.InBasicTextInput, { staticClass: "mb-4 w-1", attrs: { id: "guido__display-condition-name-input", name: "displayConditionName", "character-counter-status": !1, "disabled-status": e.isSaving, "label-text": e.trans(`${e.KEY}.condition-name`), "max-character-length": e.DISPLAY_CONDITION_LIMITS.NAME_MAX, "placeholder-text": e.trans(`${e.KEY}.condition-name-placeholder`), "state-message": e.errors.name || "", states: e.errors.name ? "error" : "default", "tooltip-status": !1, value: e.draft.name }, on: { input: function(o) {
|
|
11
|
+
return e.updateField("name", o);
|
|
12
|
+
} } }), t(e.InBasicTextInput, { staticClass: "mb-4 w-1", attrs: { id: "guido__display-condition-description-input", name: "displayConditionDescription", "character-counter-status": !1, "disabled-status": e.isSaving, "label-text": e.descriptionLabel, "max-character-length": e.DISPLAY_CONDITION_LIMITS.DESCRIPTION_MAX, "placeholder-text": e.trans(`${e.KEY}.condition-description-placeholder`), "state-message": e.errors.description || "", states: e.errors.description ? "error" : "default", "tooltip-status": !1, value: e.draft.description }, on: { input: function(o) {
|
|
13
|
+
return e.updateField("description", o);
|
|
14
|
+
} } }), t("div", { staticClass: "guido-display-condition-create__separator" }), t("p", { staticClass: "guido-display-condition-create__method-title" }, [i._v(" " + i._s(e.trans(`${e.KEY}.select-method`)) + " ")]), t("div", { staticClass: "guido-display-condition-create__methods" }, [t(e.InRadioButton, { attrs: { id: "guido__display-condition-method-logic-builder", disable: "", disabled: "", name: "displayConditionMethod", selected: "codeOnly", value: "logicBuilder", label: e.trans(`${e.KEY}.logic-builder`) } }), t(e.InRadioButton, { attrs: { id: "guido__display-condition-method-code-only", name: "displayConditionMethod", selected: "codeOnly", value: "codeOnly", label: e.trans(`${e.KEY}.code-only`) } })], 1), t(e.CodeEditorField, { ref: "codeBeforeRef", staticClass: "mb-3", attrs: { id: "guido__display-condition-code-before", disabled: e.isSaving, error: e.errors.codeBefore, label: e.trans(`${e.KEY}.code-before`), placeholder: e.trans(`${e.KEY}.code-placeholder`), value: e.draft.codeBefore }, on: { input: function(o) {
|
|
15
|
+
return e.updateField("codeBefore", o);
|
|
16
|
+
} } }), t(e.CodeEditorField, { ref: "codeAfterRef", attrs: { id: "guido__display-condition-code-after", disabled: e.isSaving, error: e.errors.codeAfter, label: e.trans(`${e.KEY}.code-after`), placeholder: e.trans(`${e.KEY}.code-placeholder`), value: e.draft.codeAfter }, on: { input: function(o) {
|
|
17
|
+
return e.updateField("codeAfter", o);
|
|
18
|
+
} } })], 1)]);
|
|
19
|
+
}, s = [], d = /* @__PURE__ */ r(
|
|
20
|
+
a,
|
|
21
|
+
n,
|
|
22
|
+
s,
|
|
23
|
+
!1,
|
|
24
|
+
null,
|
|
25
|
+
"a4b2ccb9"
|
|
26
|
+
);
|
|
27
|
+
const f = d.exports;
|
|
28
|
+
export {
|
|
29
|
+
f as default
|
|
30
|
+
};
|