@useinsider/guido 1.0.3-beta.8ba8dbc → 1.0.3-beta.8df77fb
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 +143 -3
- package/dist/components/Guido.vue.js +1 -1
- package/dist/components/Guido.vue2.js +79 -73
- package/dist/components/organisms/LoadingWrapper.vue.js +1 -1
- package/dist/components/organisms/header/LeftSlot.vue.js +1 -1
- package/dist/components/organisms/header/LeftSlot.vue2.js +16 -15
- package/dist/components/organisms/header/RightSlot.vue.js +11 -11
- package/dist/components/organisms/header/RightSlot.vue2.js +21 -20
- package/dist/components/organisms/onboarding/ItemsOnboarding.vue.js +21 -0
- package/dist/components/organisms/onboarding/ItemsOnboarding.vue2.js +99 -0
- package/dist/components/organisms/onboarding/OnboardingWrapper.vue2.js +20 -18
- package/dist/composables/useActionsApi.js +1 -1
- package/dist/composables/useBlocksConfig.js +48 -0
- package/dist/composables/useGuidoActions.js +19 -9
- package/dist/composables/useHtmlCompiler.js +15 -13
- package/dist/composables/useHtmlValidator.js +36 -35
- package/dist/composables/useStripo.js +55 -60
- package/dist/config/compiler/itemsCompilerRules.js +14 -0
- package/dist/config/compiler/unsubscribeCompilerRules.js +33 -28
- package/dist/enums/defaults.js +16 -9
- package/dist/enums/extensions/recommendationBlock.js +2 -2
- package/dist/enums/onboarding.js +7 -3
- package/dist/enums/unsubscribe.js +27 -25
- package/dist/extensions/Blocks/Checkbox/block.js +5 -2
- package/dist/extensions/Blocks/Checkbox/control.js +15 -14
- package/dist/extensions/Blocks/Checkbox/extension.js +2 -2
- package/dist/extensions/Blocks/Checkbox/template.js +14 -9
- package/dist/extensions/Blocks/CouponBlock/extension.js +2 -2
- package/dist/extensions/Blocks/Items/block.js +67 -0
- package/dist/extensions/Blocks/Items/controls/button/link.js +68 -0
- package/dist/extensions/Blocks/Items/controls/cardComposition.js +193 -0
- package/dist/extensions/Blocks/Items/controls/image/link.js +68 -0
- package/dist/extensions/Blocks/Items/controls/index.js +217 -0
- package/dist/extensions/Blocks/Items/controls/name/trimming.js +70 -0
- package/dist/extensions/Blocks/Items/controls/price/currencyLocation.js +107 -0
- package/dist/extensions/Blocks/Items/controls/price/currencySymbol.js +123 -0
- package/dist/extensions/Blocks/Items/controls/price/formattedPrice.js +76 -0
- package/dist/extensions/Blocks/Items/controls/price/hideDiscount.js +61 -0
- package/dist/extensions/Blocks/Items/controls/price/priceOrientation.js +92 -0
- package/dist/extensions/Blocks/Items/controls/settingsControl.js +316 -0
- package/dist/extensions/Blocks/Items/enums/controlEnums.js +5 -0
- package/dist/extensions/Blocks/Items/enums/productEnums.js +274 -0
- package/dist/extensions/Blocks/Items/enums/settingsEnums.js +77 -0
- package/dist/extensions/Blocks/Items/extension.js +20 -0
- package/dist/extensions/Blocks/Items/iconsRegistry.js +32 -0
- package/dist/extensions/Blocks/Items/items.css.js +23 -0
- package/dist/extensions/Blocks/Items/layouts/horizontal.html.js +62 -0
- package/dist/extensions/Blocks/Items/layouts/vertical.html.js +72 -0
- package/dist/extensions/Blocks/Items/settingsPanel.js +132 -0
- package/dist/extensions/Blocks/Items/store/items-block.js +75 -0
- package/dist/extensions/Blocks/Items/template.js +195 -0
- package/dist/extensions/Blocks/Items/utils/configBlockUtils.js +17 -0
- package/dist/extensions/Blocks/Items/utils/syncAttributeFromConfigBlock.js +28 -0
- package/dist/extensions/Blocks/Items/utils/syncAttributesFromConfigBlock.js +76 -0
- package/dist/extensions/Blocks/Items/utils/updateAttributes.js +46 -0
- package/dist/extensions/Blocks/RadioButton/block.js +5 -2
- package/dist/extensions/Blocks/RadioButton/control.js +18 -17
- package/dist/extensions/Blocks/RadioButton/template.js +18 -9
- package/dist/extensions/Blocks/Recommendation/extension.js +4 -4
- package/dist/extensions/Blocks/Recommendation/iconsRegistry.js +43 -43
- package/dist/extensions/Blocks/Recommendation/store/recommendation.js +1 -1
- package/dist/extensions/Blocks/Recommendation/templates/blockTemplate.js +4 -4
- package/dist/extensions/Blocks/Unsubscribe/block.js +45 -41
- package/dist/extensions/Blocks/common-control.js +174 -110
- package/dist/extensions/Blocks/controlFactories.js +223 -0
- package/dist/extensions/DynamicContent/dynamic-content-modal.js +25 -19
- package/dist/extensions/DynamicContent/dynamic-content.js +128 -33
- package/dist/guido.css +1 -1
- package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js +213 -168
- package/dist/node_modules/lodash-es/_DataView.js +6 -0
- package/dist/node_modules/lodash-es/_Promise.js +6 -0
- package/dist/node_modules/lodash-es/_Set.js +6 -0
- package/dist/node_modules/lodash-es/_SetCache.js +13 -0
- package/dist/node_modules/lodash-es/_WeakMap.js +6 -0
- package/dist/node_modules/lodash-es/_arrayFilter.js +10 -0
- package/dist/node_modules/lodash-es/_arrayLikeKeys.js +13 -12
- package/dist/node_modules/lodash-es/_arrayMap.js +8 -0
- package/dist/node_modules/lodash-es/_arrayPush.js +8 -0
- package/dist/node_modules/lodash-es/_arraySome.js +9 -0
- package/dist/node_modules/lodash-es/_baseEach.js +6 -0
- package/dist/node_modules/lodash-es/_baseFlatten.js +13 -0
- package/dist/node_modules/lodash-es/_baseForOwn.js +8 -0
- package/dist/node_modules/lodash-es/_baseGet.js +11 -0
- package/dist/node_modules/lodash-es/_baseGetAllKeys.js +9 -0
- package/dist/node_modules/lodash-es/_baseHasIn.js +6 -0
- package/dist/node_modules/lodash-es/_baseIsEqual.js +8 -0
- package/dist/node_modules/lodash-es/_baseIsEqualDeep.js +32 -0
- package/dist/node_modules/lodash-es/_baseIsMatch.js +29 -0
- package/dist/node_modules/lodash-es/_baseIteratee.js +11 -0
- package/dist/node_modules/lodash-es/_baseKeys.js +14 -0
- package/dist/node_modules/lodash-es/_baseMap.js +11 -0
- package/dist/node_modules/lodash-es/_baseMatches.js +12 -0
- package/dist/node_modules/lodash-es/_baseMatchesProperty.js +17 -0
- package/dist/node_modules/lodash-es/_baseProperty.js +8 -0
- package/dist/node_modules/lodash-es/_basePropertyDeep.js +9 -0
- package/dist/node_modules/lodash-es/_baseRange.js +9 -0
- package/dist/node_modules/lodash-es/_baseToString.js +18 -0
- package/dist/node_modules/lodash-es/_baseTrim.js +8 -0
- package/dist/node_modules/lodash-es/_cacheHas.js +6 -0
- package/dist/node_modules/lodash-es/_castPath.js +10 -0
- package/dist/node_modules/lodash-es/_createBaseEach.js +15 -0
- package/dist/node_modules/lodash-es/_createRange.js +11 -0
- package/dist/node_modules/lodash-es/_equalArrays.js +40 -0
- package/dist/node_modules/lodash-es/_equalByTag.js +45 -0
- package/dist/node_modules/lodash-es/_equalObjects.js +36 -0
- package/dist/node_modules/lodash-es/_getAllKeys.js +9 -0
- package/dist/node_modules/lodash-es/_getMatchData.js +12 -0
- package/dist/node_modules/lodash-es/_getSymbols.js +10 -0
- package/dist/node_modules/lodash-es/_getTag.js +28 -0
- package/dist/node_modules/lodash-es/_hasPath.js +19 -0
- package/dist/node_modules/lodash-es/_isFlattenable.js +10 -0
- package/dist/node_modules/lodash-es/_isKey.js +12 -0
- package/dist/node_modules/lodash-es/_isStrictComparable.js +7 -0
- package/dist/node_modules/lodash-es/_mapToArray.js +9 -0
- package/dist/node_modules/lodash-es/_matchesStrictComparable.js +8 -0
- package/dist/node_modules/lodash-es/_memoizeCapped.js +11 -0
- package/dist/node_modules/lodash-es/_nativeKeys.js +5 -0
- package/dist/node_modules/lodash-es/_setCacheAdd.js +7 -0
- package/dist/node_modules/lodash-es/_setCacheHas.js +6 -0
- package/dist/node_modules/lodash-es/_setToArray.js +9 -0
- package/dist/node_modules/lodash-es/_stringToPath.js +10 -0
- package/dist/node_modules/lodash-es/_toKey.js +10 -0
- package/dist/node_modules/lodash-es/_trimmedEndIndex.js +9 -0
- package/dist/node_modules/lodash-es/flatMap.js +8 -0
- package/dist/node_modules/lodash-es/get.js +8 -0
- package/dist/node_modules/lodash-es/hasIn.js +8 -0
- package/dist/node_modules/lodash-es/isSymbol.js +9 -0
- package/dist/node_modules/lodash-es/keys.js +9 -0
- package/dist/node_modules/lodash-es/keysIn.js +3 -3
- package/dist/node_modules/lodash-es/map.js +11 -0
- package/dist/node_modules/lodash-es/property.js +10 -0
- package/dist/node_modules/lodash-es/range.js +5 -0
- package/dist/node_modules/lodash-es/stubArray.js +6 -0
- package/dist/node_modules/lodash-es/toFinite.js +14 -0
- package/dist/node_modules/lodash-es/toNumber.js +22 -0
- package/dist/node_modules/lodash-es/toString.js +7 -0
- package/dist/package.json.js +1 -1
- package/dist/services/recommendationApi.js +13 -19
- package/dist/src/@types/generic.d.ts +36 -6
- package/dist/src/components/Guido.vue.d.ts +3 -2
- package/dist/src/components/organisms/onboarding/ItemsOnboarding.vue.d.ts +2 -0
- package/dist/src/components/wrappers/WpModal.vue.d.ts +1 -1
- package/dist/src/composables/useBlocksConfig.d.ts +11 -0
- package/dist/src/composables/useGuidoActions.d.ts +9 -0
- package/dist/src/config/compiler/itemsCompilerRules.d.ts +2 -0
- package/dist/src/enums/onboarding.d.ts +4 -0
- package/dist/src/extensions/Blocks/Checkbox/block.d.ts +1 -0
- package/dist/src/extensions/Blocks/Checkbox/template.d.ts +1 -1
- package/dist/src/extensions/Blocks/Items/block.d.ts +27 -0
- package/dist/src/extensions/Blocks/Items/controls/button/link.d.ts +14 -0
- package/dist/src/extensions/Blocks/Items/controls/cardComposition.d.ts +33 -0
- package/dist/src/extensions/Blocks/Items/controls/image/link.d.ts +14 -0
- package/dist/src/extensions/Blocks/Items/controls/index.d.ts +501 -0
- package/dist/src/extensions/Blocks/Items/controls/name/trimming.d.ts +14 -0
- package/dist/src/extensions/Blocks/Items/controls/price/currencyLocation.d.ts +19 -0
- package/dist/src/extensions/Blocks/Items/controls/price/currencySymbol.d.ts +21 -0
- package/dist/src/extensions/Blocks/Items/controls/price/formattedPrice.d.ts +14 -0
- package/dist/src/extensions/Blocks/Items/controls/price/hideDiscount.d.ts +13 -0
- package/dist/src/extensions/Blocks/Items/controls/price/priceOrientation.d.ts +15 -0
- package/dist/src/extensions/Blocks/Items/controls/settingsControl.d.ts +48 -0
- package/dist/src/extensions/Blocks/Items/enums/controlEnums.d.ts +62 -0
- package/dist/src/extensions/Blocks/Items/enums/productEnums.d.ts +163 -0
- package/dist/src/extensions/Blocks/Items/enums/settingsEnums.d.ts +50 -0
- package/dist/src/extensions/Blocks/Items/extension.d.ts +2 -0
- package/dist/src/extensions/Blocks/Items/iconsRegistry.d.ts +4 -0
- package/dist/src/extensions/Blocks/Items/settingsPanel.d.ts +4 -0
- package/dist/src/extensions/Blocks/Items/store/items-block.d.ts +43 -0
- package/dist/src/extensions/Blocks/Items/template.d.ts +24 -0
- package/dist/src/extensions/Blocks/Items/utils/configBlockUtils.d.ts +23 -0
- package/dist/src/extensions/Blocks/Items/utils/syncAttributeFromConfigBlock.d.ts +32 -0
- package/dist/src/extensions/Blocks/Items/utils/syncAttributesFromConfigBlock.d.ts +50 -0
- package/dist/src/extensions/Blocks/Items/utils/updateAttributes.d.ts +8 -0
- package/dist/src/extensions/Blocks/RadioButton/block.d.ts +1 -0
- package/dist/src/extensions/Blocks/RadioButton/template.d.ts +1 -1
- package/dist/src/extensions/Blocks/Recommendation/store/recommendation.d.ts +1 -1
- package/dist/src/extensions/Blocks/Unsubscribe/block.d.ts +3 -4
- package/dist/src/extensions/Blocks/common-control.d.ts +44 -7
- package/dist/src/extensions/Blocks/controlFactories.d.ts +312 -0
- package/dist/src/extensions/DynamicContent/dynamic-content-modal.d.ts +9 -2
- package/dist/src/extensions/DynamicContent/dynamic-content.d.ts +52 -2
- package/dist/src/stores/config.d.ts +9 -2
- package/dist/src/stores/dynamic-content.d.ts +3 -3
- package/dist/src/stores/editor.d.ts +1 -1
- package/dist/src/stores/onboarding.d.ts +335 -1
- package/dist/src/stores/preview.d.ts +1 -1
- package/dist/src/stores/recommendation.d.ts +1 -1
- package/dist/src/stores/save-as-template.d.ts +1 -1
- package/dist/src/stores/toaster.d.ts +1 -1
- package/dist/src/stores/unsubscribe.d.ts +1 -1
- package/dist/src/stores/version-history.d.ts +1 -1
- package/dist/src/utils/environmentUtil.d.ts +5 -0
- package/dist/src/utils/genericUtil.d.ts +1 -0
- package/dist/src/utils/pairProductVariables.d.ts +7 -0
- package/dist/static/styles/customEditorStyle.css.js +1 -1
- package/dist/stores/config.js +5 -5
- package/dist/stores/dynamic-content.js +2 -2
- package/dist/stores/editor.js +1 -1
- package/dist/stores/onboarding.js +44 -36
- package/dist/stores/preview.js +1 -1
- package/dist/stores/recommendation.js +3 -3
- package/dist/stores/save-as-template.js +2 -2
- package/dist/stores/toaster.js +1 -1
- package/dist/stores/unsubscribe.js +1 -1
- package/dist/stores/version-history.js +4 -4
- package/dist/utils/environmentUtil.js +4 -0
- package/dist/utils/genericUtil.js +18 -8
- package/dist/utils/pairProductVariables.js +136 -0
- package/package.json +7 -7
package/README.md
CHANGED
|
@@ -82,10 +82,12 @@ export default {
|
|
|
82
82
|
translationsPath: 'window.trans.en',
|
|
83
83
|
htmlCompilerRules: [],
|
|
84
84
|
ignoreDefaultHtmlCompilerRules: false,
|
|
85
|
+
backButtonLabel?: "Back to Design",
|
|
85
86
|
features: {
|
|
86
87
|
dynamicContent: true,
|
|
87
88
|
saveAsTemplate: true,
|
|
88
|
-
versionHistory: true
|
|
89
|
+
versionHistory: true,
|
|
90
|
+
testMessage: true
|
|
89
91
|
}
|
|
90
92
|
},
|
|
91
93
|
dynamicContentModalVisible: false
|
|
@@ -165,6 +167,7 @@ export default {
|
|
|
165
167
|
| `on-change` | void | It Fires once for managing leave modal etc. |
|
|
166
168
|
| `ready` | void | Fired when the editor is ready and template is loaded |
|
|
167
169
|
| `onboarding-finished` | void | Fired when the onboarding popup is dismissed or completed, allowing parent applications to track onboarding state |
|
|
170
|
+
| `test-email:click` | - | Fired when user clicks the test email button in the header |
|
|
168
171
|
|
|
169
172
|
### Guido Exposed Methods
|
|
170
173
|
```typescript
|
|
@@ -194,6 +197,12 @@ interface GuidoConfig {
|
|
|
194
197
|
dynamicContent: boolean;
|
|
195
198
|
saveAsTemplate: boolean;
|
|
196
199
|
versionHistory: boolean;
|
|
200
|
+
testMessage: boolean;
|
|
201
|
+
displayConditions: boolean;
|
|
202
|
+
};
|
|
203
|
+
blocks?: {
|
|
204
|
+
excludeDefaults?: GuidoBlockType[];
|
|
205
|
+
includeCustoms?: GuidoCustomBlockType[];
|
|
197
206
|
};
|
|
198
207
|
}
|
|
199
208
|
```
|
|
@@ -208,6 +217,10 @@ interface GuidoConfig {
|
|
|
208
217
|
| `features.dynamicContent` | `boolean` | `true` | Enable dynamic content insertion feature |
|
|
209
218
|
| `features.saveAsTemplate` | `boolean` | `true` | Enable save as template feature |
|
|
210
219
|
| `features.versionHistory` | `boolean` | `true` | Enable version history feature |
|
|
220
|
+
| `features.displayConditions` | `boolean` | `true` | Enable display conditions |
|
|
221
|
+
| `blocks` | `BlocksConfig` | `{ excludeDefaults: [], includeCustoms: [] }` | Block configuration for excluding default blocks and including custom blocks. See [Blocks Configuration](#-blocks-configuration) section below |
|
|
222
|
+
| `blocks.excludeDefaults` | `GuidoBlockType[]` | `[]` | Array of default Stripo blocks to exclude from the editor |
|
|
223
|
+
| `blocks.includeCustoms` | `GuidoCustomBlockType[]` | `[]` | Array of custom blocks to include in the editor |
|
|
211
224
|
|
|
212
225
|
```typescript
|
|
213
226
|
interface DynamicContent {
|
|
@@ -224,6 +237,128 @@ interface DynamicContent {
|
|
|
224
237
|
| `text` | `string` | '' | Visible value of the dynamic content |
|
|
225
238
|
| `fallback?` | `string` | '' | Fallback value of the dynamic content. Optional |
|
|
226
239
|
|
|
240
|
+
## 🧱 Blocks Configuration
|
|
241
|
+
|
|
242
|
+
Guido allows you to customize which blocks are available in the editor. You can exclude default Stripo blocks and selectively include custom blocks to create tailored editing experiences for different product types.
|
|
243
|
+
|
|
244
|
+
### Block Types
|
|
245
|
+
|
|
246
|
+
#### Default Blocks (GuidoBlockType)
|
|
247
|
+
|
|
248
|
+
These are the standard Stripo email editor blocks that can be excluded:
|
|
249
|
+
|
|
250
|
+
```typescript
|
|
251
|
+
type GuidoBlockType =
|
|
252
|
+
| 'amp-accordion' // AMP accordion component
|
|
253
|
+
| 'amp-carousel' // AMP image carousel
|
|
254
|
+
| 'amp-form-controls' // AMP form elements
|
|
255
|
+
| 'banner-block' // Banner/hero section
|
|
256
|
+
| 'button-block' // Call-to-action buttons
|
|
257
|
+
| 'html-block' // Custom HTML
|
|
258
|
+
| 'image-block' // Image elements
|
|
259
|
+
| 'menu-block' // Navigation menu
|
|
260
|
+
| 'social-block' // Social media links
|
|
261
|
+
| 'spacer-block' // Vertical spacing
|
|
262
|
+
| 'text-block' // Text content
|
|
263
|
+
| 'timer-block' // Countdown timer
|
|
264
|
+
| 'video-block' // Video embeds
|
|
265
|
+
```
|
|
266
|
+
|
|
267
|
+
#### Custom Blocks (GuidoCustomBlockType)
|
|
268
|
+
|
|
269
|
+
These are custom blocks that can be selectively included:
|
|
270
|
+
|
|
271
|
+
```typescript
|
|
272
|
+
type GuidoCustomBlockType =
|
|
273
|
+
| 'dynamic-content' // Dynamic content merge tags
|
|
274
|
+
| 'checkbox-block' // Checkbox form input
|
|
275
|
+
| 'radio-button-block' // Radio button form input
|
|
276
|
+
| 'recommendation-block' // Product recommendations
|
|
277
|
+
| 'unsubscribe-block' // Unsubscribe link
|
|
278
|
+
| 'coupon-block' // Coupon/promo code
|
|
279
|
+
| 'items-block' // Cart items display
|
|
280
|
+
```
|
|
281
|
+
|
|
282
|
+
### Configuration Examples
|
|
283
|
+
|
|
284
|
+
#### Example 1: Exclude Specific Default Blocks
|
|
285
|
+
|
|
286
|
+
Disable button, image, and video blocks while keeping all custom blocks:
|
|
287
|
+
|
|
288
|
+
```typescript
|
|
289
|
+
const guidoConfig = {
|
|
290
|
+
translationsPath: 'window.trans.en',
|
|
291
|
+
features: {
|
|
292
|
+
dynamicContent: true,
|
|
293
|
+
saveAsTemplate: true,
|
|
294
|
+
versionHistory: true,
|
|
295
|
+
testMessage: true
|
|
296
|
+
},
|
|
297
|
+
blocks: {
|
|
298
|
+
excludeDefaults: ['button-block', 'image-block', 'video-block']
|
|
299
|
+
}
|
|
300
|
+
};
|
|
301
|
+
```
|
|
302
|
+
|
|
303
|
+
**Result:**
|
|
304
|
+
- Button, Image, Video blocks disabled
|
|
305
|
+
- All other default blocks enabled
|
|
306
|
+
- All custom blocks are disabled.
|
|
307
|
+
|
|
308
|
+
#### Example 2: Include Only Specific Custom Blocks
|
|
309
|
+
|
|
310
|
+
Enable only coupon and recommendation blocks:
|
|
311
|
+
|
|
312
|
+
```typescript
|
|
313
|
+
const guidoConfig = {
|
|
314
|
+
translationsPath: 'window.trans.en',
|
|
315
|
+
features: {
|
|
316
|
+
dynamicContent: true,
|
|
317
|
+
saveAsTemplate: true,
|
|
318
|
+
versionHistory: true,
|
|
319
|
+
testMessage: true
|
|
320
|
+
},
|
|
321
|
+
blocks: {
|
|
322
|
+
includeCustoms: ['coupon-block', 'recommendation-block']
|
|
323
|
+
}
|
|
324
|
+
};
|
|
325
|
+
```
|
|
326
|
+
|
|
327
|
+
**Result:**
|
|
328
|
+
- All default blocks enabled
|
|
329
|
+
- Only Coupon and Recommendation extensions enabled.
|
|
330
|
+
- Other custom blocks are disabled
|
|
331
|
+
|
|
332
|
+
### Default Behavior
|
|
333
|
+
|
|
334
|
+
When `blocks` is not provided or is `undefined`:
|
|
335
|
+
|
|
336
|
+
```typescript
|
|
337
|
+
const guidoConfig = {
|
|
338
|
+
translationsPath: 'window.trans.en',
|
|
339
|
+
features: {
|
|
340
|
+
dynamicContent: true,
|
|
341
|
+
saveAsTemplate: true,
|
|
342
|
+
versionHistory: true,
|
|
343
|
+
testMessage: true
|
|
344
|
+
},
|
|
345
|
+
// No blocks config
|
|
346
|
+
};
|
|
347
|
+
```
|
|
348
|
+
|
|
349
|
+
**Result:**
|
|
350
|
+
- All 13 default Stripo blocks enabled
|
|
351
|
+
- All custom blocks are disabled.
|
|
352
|
+
|
|
353
|
+
### Block Configuration Interface
|
|
354
|
+
|
|
355
|
+
```typescript
|
|
356
|
+
interface BlocksConfig {
|
|
357
|
+
excludeDefaults?: GuidoBlockType[];
|
|
358
|
+
includeCustoms?: GuidoCustomBlockType[];
|
|
359
|
+
}
|
|
360
|
+
```
|
|
361
|
+
|
|
227
362
|
### TypeScript Types
|
|
228
363
|
|
|
229
364
|
The library exports the following TypeScript types:
|
|
@@ -318,7 +453,8 @@ const guidoConfig = {
|
|
|
318
453
|
features: {
|
|
319
454
|
dynamicContent: true,
|
|
320
455
|
saveAsTemplate: true,
|
|
321
|
-
versionHistory: false // Disable version history
|
|
456
|
+
versionHistory: false, // Disable version history
|
|
457
|
+
testMessage: true
|
|
322
458
|
},
|
|
323
459
|
htmlCompilerRules: [
|
|
324
460
|
{
|
|
@@ -351,7 +487,8 @@ const guidoConfig = {
|
|
|
351
487
|
features: {
|
|
352
488
|
dynamicContent: true,
|
|
353
489
|
saveAsTemplate: true,
|
|
354
|
-
versionHistory: true
|
|
490
|
+
versionHistory: true,
|
|
491
|
+
testMessage: true
|
|
355
492
|
},
|
|
356
493
|
ignoreDefaultHtmlCompilerRules: true, // Skip all default rules
|
|
357
494
|
htmlCompilerRules: [
|
|
@@ -463,6 +600,9 @@ Create a `.env` file with the following variables: (You can get env variables fr
|
|
|
463
600
|
VITE_STRIPO_PLUGIN_ID=your_plugin_id
|
|
464
601
|
VITE_STRIPO_SECRET_KEY=your_secret_key
|
|
465
602
|
VITE_STRIPO_ROLE=your_role
|
|
603
|
+
|
|
604
|
+
# Playwright Test Configuration (Optional - for local debugging only)
|
|
605
|
+
HEADED=false # Set to 'true' to run tests with visible browser
|
|
466
606
|
```
|
|
467
607
|
|
|
468
608
|
### Project Structure
|
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
import { defineComponent as
|
|
2
|
-
import { provideGuidoActions as
|
|
3
|
-
import { usePartner as
|
|
4
|
-
import { useStripo as
|
|
5
|
-
import { migrate as
|
|
6
|
-
import { DefaultUsername as
|
|
7
|
-
import
|
|
8
|
-
import
|
|
9
|
-
import
|
|
10
|
-
import
|
|
11
|
-
import
|
|
12
|
-
import
|
|
13
|
-
import { useStripoApi as
|
|
14
|
-
import { useConfigStore as
|
|
15
|
-
import { useDynamicContentStore as
|
|
16
|
-
import { useEditorStore as
|
|
17
|
-
import { usePreviewStore as
|
|
18
|
-
import { useUnsubscribeStore as
|
|
19
|
-
import
|
|
20
|
-
const
|
|
1
|
+
import { defineComponent as O, defineAsyncComponent as I, ref as z, computed as U, watch as B, onMounted as K, onUnmounted as j } from "vue";
|
|
2
|
+
import { provideGuidoActions as q } from "../composables/useGuidoActions.js";
|
|
3
|
+
import { usePartner as J } from "../composables/usePartner.js";
|
|
4
|
+
import { useStripo as Q } from "../composables/useStripo.js";
|
|
5
|
+
import { migrate as L } from "../config/migrator/index.js";
|
|
6
|
+
import { DefaultUsername as V, DefaultMessageType as X, DefaultGuidoConfig as Y } from "../enums/defaults.js";
|
|
7
|
+
import Z from "./organisms/base/Toaster.vue.js";
|
|
8
|
+
import $ from "./organisms/extensions/recommendation/FilterSelectionDrawer.vue.js";
|
|
9
|
+
import ee from "./organisms/header/HeaderWrapper.vue.js";
|
|
10
|
+
import oe from "./organisms/LoadingWrapper.vue.js";
|
|
11
|
+
import te from "./organisms/save-as-template/SaveAsTemplateDrawer.vue.js";
|
|
12
|
+
import ne from "./organisms/unsubscribe/UnsubscribeWrapper.vue.js";
|
|
13
|
+
import { useStripoApi as re } from "../services/stripoApi.js";
|
|
14
|
+
import { useConfigStore as ie } from "../stores/config.js";
|
|
15
|
+
import { useDynamicContentStore as se } from "../stores/dynamic-content.js";
|
|
16
|
+
import { useEditorStore as ae } from "../stores/editor.js";
|
|
17
|
+
import { usePreviewStore as ce } from "../stores/preview.js";
|
|
18
|
+
import { useUnsubscribeStore as me } from "../stores/unsubscribe.js";
|
|
19
|
+
import de from "../node_modules/lodash-es/merge.js";
|
|
20
|
+
const Ue = /* @__PURE__ */ O({
|
|
21
21
|
__name: "Guido",
|
|
22
22
|
props: {
|
|
23
23
|
templateId: null,
|
|
@@ -31,98 +31,104 @@ const Ge = /* @__PURE__ */ R({
|
|
|
31
31
|
guidoConfig: null,
|
|
32
32
|
templateConfig: null
|
|
33
33
|
},
|
|
34
|
-
emits: ["dynamic-content:open", "back", "save:start", "save:complete", "on-change", "ready", "onboarding:finished"],
|
|
35
|
-
setup(
|
|
36
|
-
const u =
|
|
34
|
+
emits: ["dynamic-content:open", "back", "save:start", "save:complete", "on-change", "ready", "onboarding:finished", "test-email:click"],
|
|
35
|
+
setup(W, { expose: _, emit: o }) {
|
|
36
|
+
const u = W, A = I(
|
|
37
37
|
() => import("./organisms/email-preview/PreviewContainer.vue.js")
|
|
38
|
-
),
|
|
38
|
+
), N = I(
|
|
39
39
|
() => import("./organisms/onboarding/OnboardingWrapper.vue.js")
|
|
40
|
-
),
|
|
40
|
+
), p = z(), i = se(), g = me(), f = ie(), s = ae(), F = ce(), n = U(() => s.hasChanges), { getPartnerName: y, getProductType: v, isTestPartner: H } = J(), b = () => {
|
|
41
41
|
var e;
|
|
42
|
-
return (e =
|
|
42
|
+
return (e = p.value) == null ? void 0 : e.handleSave(!0);
|
|
43
43
|
}, {
|
|
44
|
-
templateId:
|
|
45
|
-
userId:
|
|
46
|
-
guidoConfig:
|
|
47
|
-
templateConfig:
|
|
44
|
+
templateId: a,
|
|
45
|
+
userId: C,
|
|
46
|
+
guidoConfig: h,
|
|
47
|
+
templateConfig: t,
|
|
48
48
|
html: r = "",
|
|
49
|
-
css:
|
|
50
|
-
partnerName: c =
|
|
51
|
-
productType:
|
|
52
|
-
messageType:
|
|
53
|
-
username:
|
|
54
|
-
} = u,
|
|
55
|
-
|
|
49
|
+
css: S = "",
|
|
50
|
+
partnerName: c = y(),
|
|
51
|
+
productType: m = v(),
|
|
52
|
+
messageType: w = X,
|
|
53
|
+
username: D = V
|
|
54
|
+
} = u, d = (t == null ? void 0 : t.preselectedDynamicContentList) || [];
|
|
55
|
+
s.templateId = a, window.GuidoConfig = de(Y, h), window.GuidoConfig.partner = {
|
|
56
56
|
partnerName: c,
|
|
57
|
-
productType:
|
|
58
|
-
messageType:
|
|
59
|
-
},
|
|
60
|
-
const { initPlugin:
|
|
61
|
-
emailId:
|
|
62
|
-
userId:
|
|
63
|
-
username:
|
|
57
|
+
productType: m,
|
|
58
|
+
messageType: w
|
|
59
|
+
}, f.templateConfig = t;
|
|
60
|
+
const { initPlugin: E } = Q({
|
|
61
|
+
emailId: a,
|
|
62
|
+
userId: C,
|
|
63
|
+
username: D,
|
|
64
64
|
partnerName: c,
|
|
65
|
-
productType:
|
|
66
|
-
preselectedDynamicContentList:
|
|
65
|
+
productType: m,
|
|
66
|
+
preselectedDynamicContentList: d,
|
|
67
67
|
onReady: () => {
|
|
68
|
-
console.debug("guido:ready"),
|
|
68
|
+
console.debug("guido:ready"), o("ready");
|
|
69
69
|
}
|
|
70
|
-
}), { getDefaultTemplate: T } =
|
|
70
|
+
}), { getDefaultTemplate: T } = re(), R = U(() => {
|
|
71
71
|
var e;
|
|
72
72
|
return !((e = window.GuidoConfig) != null && e.useHeader);
|
|
73
73
|
});
|
|
74
|
-
|
|
74
|
+
q({
|
|
75
75
|
onBack: () => {
|
|
76
|
-
console.debug("guido:back"),
|
|
76
|
+
console.debug("guido:back"), o("back");
|
|
77
77
|
},
|
|
78
78
|
onSaveStart: () => {
|
|
79
|
-
console.debug("guido:save:start"),
|
|
79
|
+
console.debug("guido:save:start"), o("save:start");
|
|
80
80
|
},
|
|
81
81
|
onSaveComplete: (e) => {
|
|
82
|
-
console.debug("guido:save:complete", e),
|
|
82
|
+
console.debug("guido:save:complete", e), o("save:complete", e);
|
|
83
|
+
},
|
|
84
|
+
onTestEmailClick: () => {
|
|
85
|
+
console.debug("guido:test-email:click"), o("test-email:click");
|
|
83
86
|
}
|
|
84
87
|
});
|
|
85
|
-
const
|
|
86
|
-
console.debug("dynamic-content:close", e),
|
|
87
|
-
},
|
|
88
|
+
const P = (e) => {
|
|
89
|
+
console.debug("dynamic-content:close", e), i.setSelectedDynamicContent(e), document.dispatchEvent(new CustomEvent("dynamic-content:close", { detail: e }));
|
|
90
|
+
}, k = () => {
|
|
88
91
|
console.debug("dynamic-content:close", "Without Data"), document.dispatchEvent(new CustomEvent("dynamic-content:close", { detail: { text: "", value: "" } }));
|
|
89
92
|
};
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
})
|
|
93
|
+
B(() => n.value, () => {
|
|
94
|
+
o("on-change", n.value);
|
|
95
|
+
});
|
|
96
|
+
const l = (e) => {
|
|
97
|
+
const G = e, { attribute: x, position: M } = G.detail;
|
|
98
|
+
console.debug("dynamic-content:open", G.detail), o("dynamic-content:open", x, M);
|
|
99
|
+
};
|
|
100
|
+
return K(async () => {
|
|
93
101
|
console.debug("Guido says happy coding 🎉"), console.debug("🚗 Ka-Chow");
|
|
94
102
|
try {
|
|
95
|
-
|
|
103
|
+
g.selectedUnsubscribePages = (t == null ? void 0 : t.selectedUnsubscribePages) || [];
|
|
96
104
|
let e = {
|
|
97
|
-
html: r && await
|
|
98
|
-
css:
|
|
105
|
+
html: r && await L(r),
|
|
106
|
+
css: S,
|
|
99
107
|
forceRecreate: !0
|
|
100
108
|
// TODO: It should be false for old templates. We will communicate with Stripo
|
|
101
109
|
};
|
|
102
|
-
e.html || (e = await T(), e.html = await
|
|
110
|
+
e.html || (e = await T(), e.html = await L(e.html)), await E(e), i.selectedDynamicContentList = d;
|
|
103
111
|
} catch (e) {
|
|
104
112
|
console.error("Failed to initialize Stripo editor:", e);
|
|
105
113
|
}
|
|
106
|
-
document.addEventListener("dynamic-content:open",
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
});
|
|
110
|
-
}), B(() => {
|
|
114
|
+
document.addEventListener("dynamic-content:open", l);
|
|
115
|
+
}), j(() => {
|
|
116
|
+
document.removeEventListener("dynamic-content:open", l);
|
|
111
117
|
try {
|
|
112
118
|
window.UIEditor.removeEditor();
|
|
113
119
|
} catch {
|
|
114
120
|
console.debug("Failed to remove Stripo editor: No editor found");
|
|
115
121
|
}
|
|
116
|
-
}),
|
|
122
|
+
}), _({
|
|
117
123
|
dynamicContent: {
|
|
118
|
-
insert:
|
|
119
|
-
close:
|
|
124
|
+
insert: P,
|
|
125
|
+
close: k
|
|
120
126
|
},
|
|
121
127
|
hasChanges: n,
|
|
122
|
-
saveSilent:
|
|
123
|
-
}), { __sfc: !0, PreviewContainer:
|
|
128
|
+
saveSilent: b
|
|
129
|
+
}), { __sfc: !0, PreviewContainer: A, OnboardingWrapper: N, headerWrapperRef: p, dynamicContentStore: i, unsubscribeStore: g, props: u, configStore: f, editorStore: s, previewStore: F, hasChanges: n, getPartnerName: y, getProductType: v, isTestPartner: H, saveSilent: b, templateId: a, userId: C, guidoConfig: h, templateConfig: t, html: r, css: S, partnerName: c, productType: m, messageType: w, username: D, preselectedDynamicContentList: d, emit: o, initPlugin: E, getDefaultTemplate: T, noHeader: R, insertDynamicContent: P, closeDynamicContent: k, handleDynamicContentOpen: l, Toaster: Z, FilterSelectionDrawer: $, HeaderWrapper: ee, LoadingWrapper: oe, SaveAsTemplateDrawer: te, UnsubscribeWrapper: ne };
|
|
124
130
|
}
|
|
125
131
|
});
|
|
126
132
|
export {
|
|
127
|
-
|
|
133
|
+
Ue as default
|
|
128
134
|
};
|
|
@@ -1,28 +1,29 @@
|
|
|
1
|
-
import { defineComponent as
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import { defineComponent as c, computed as a } from "vue";
|
|
2
|
+
import { useConfig as m } from "../../../composables/useConfig.js";
|
|
3
|
+
import { useBack as u } from "../../../composables/useGuidoActions.js";
|
|
4
|
+
import { usePreviewMode as f } from "../../../composables/usePreviewMode.js";
|
|
4
5
|
import { useTranslations as p } from "../../../composables/useTranslations.js";
|
|
5
|
-
import { useVersionHistoryApi as
|
|
6
|
-
import { useEditorStore as
|
|
7
|
-
import { InButtonV2 as
|
|
8
|
-
import
|
|
9
|
-
const
|
|
6
|
+
import { useVersionHistoryApi as d } from "../../../composables/useVersionHistoryApi.js";
|
|
7
|
+
import { useEditorStore as l } from "../../../stores/editor.js";
|
|
8
|
+
import { InButtonV2 as k } from "@useinsider/design-system-vue";
|
|
9
|
+
import B from "./version-history/RestoreButton.vue.js";
|
|
10
|
+
const P = /* @__PURE__ */ c({
|
|
10
11
|
__name: "LeftSlot",
|
|
11
|
-
setup(
|
|
12
|
-
const o =
|
|
13
|
-
return { __sfc: !0, editorStore: o, handleBack: r, closeVersionHistory:
|
|
12
|
+
setup(b) {
|
|
13
|
+
const o = l(), r = u(), { closeVersionHistory: i } = d(), { closePreviewMode: n } = f(), e = p(), { config: t } = m(), s = a(() => o.isVersionHistoryOpen || o.isPreviewModeOpen ? e("email-editor.back-to-editor") : t.backButtonLabel ? t.backButtonLabel : e("email-editor.back-to-design"));
|
|
14
|
+
return { __sfc: !0, editorStore: o, handleBack: r, closeVersionHistory: i, closePreviewMode: n, trans: e, config: t, backButtonLabel: s, handleBackClick: () => {
|
|
14
15
|
if (o.isVersionHistoryOpen) {
|
|
15
|
-
|
|
16
|
+
i();
|
|
16
17
|
return;
|
|
17
18
|
}
|
|
18
19
|
if (o.isPreviewModeOpen) {
|
|
19
|
-
|
|
20
|
+
n();
|
|
20
21
|
return;
|
|
21
22
|
}
|
|
22
23
|
r();
|
|
23
|
-
}, InButtonV2:
|
|
24
|
+
}, InButtonV2: k, RestoreButton: B };
|
|
24
25
|
}
|
|
25
26
|
});
|
|
26
27
|
export {
|
|
27
|
-
|
|
28
|
+
P as default
|
|
28
29
|
};
|
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
var
|
|
4
|
-
var
|
|
5
|
-
var
|
|
6
|
-
return e("div", { staticClass: "d-f" }, [(
|
|
1
|
+
import a from "./RightSlot.vue2.js";
|
|
2
|
+
import l from "../../../_virtual/_plugin-vue2_normalizer.js";
|
|
3
|
+
var r = function() {
|
|
4
|
+
var o, i, n;
|
|
5
|
+
var s = this, e = s._self._c, t = s._self._setupProxy;
|
|
6
|
+
return e("div", { staticClass: "d-f" }, [(o = t.config.features) != null && o.versionHistory ? e(t.InButtonV2, { attrs: { id: "guido__history-button", "left-icon": "line-architect-version-history", styling: "ghost", type: "secondary", "disabled-status": t.editorStore.isVersionHistoryButtonDisabled, "label-text-status": !1, "selected-status": t.editorStore.isVersionHistoryOpen, "tooltip-options": t.getTooltipOptions("guido__history-button"), "tooltip-text": t.versionHistoryTooltipText }, on: { click: t.handleVersionHistory } }) : s._e(), e(t.InButtonV2, { attrs: { id: "guido__export-button", "left-icon": "line-export", styling: "ghost", type: "secondary", "disabled-status": t.editorStore.isExportButtonDisabled, "label-text-status": !1, "loading-status": t.isExporting, "tooltip-options": t.getTooltipOptions("guido__export-button"), "tooltip-text": t.trans("newsletter.export") }, on: { click: t.handleExport } }), (i = t.config.features) != null && i.saveAsTemplate ? e(t.InButtonV2, { attrs: { id: "guido__save-as-button", "left-icon": "line-newsletter-save-as-template", styling: "ghost", type: "secondary", "disabled-status": t.editorStore.isSaveAsButtonDisabled, "label-text-status": !1, "tooltip-options": t.getTooltipOptions("guido__save-as-button"), "tooltip-text": t.trans("newsletter.save-templates") }, on: { click: t.handleSaveAs } }) : s._e(), (n = t.config.features) != null && n.testMessage ? e(t.InButtonV2, { attrs: { id: "guido__test-button", "left-icon": "line-architect-test-journey", styling: "ghost", type: "secondary", "disabled-status": t.editorStore.isTestButtonDisabled, "label-text-status": !1, "tooltip-options": t.getTooltipOptions("guido__test-button"), "tooltip-text": t.trans("newsletter.test-email") }, on: { click: t.testEmailClick } }) : s._e(), e(t.InButtonV2, { staticClass: "ml-3", attrs: { id: "guido__save-button", "label-text": "Save", "disabled-status": !t.isSaving && t.editorStore.isSaveButtonDisabled, "loading-status": t.isSaving }, on: { click: function(c) {
|
|
7
7
|
return t.handleSave(!1);
|
|
8
8
|
} } })], 1);
|
|
9
|
-
},
|
|
10
|
-
|
|
11
|
-
l,
|
|
9
|
+
}, u = [], d = /* @__PURE__ */ l(
|
|
10
|
+
a,
|
|
12
11
|
r,
|
|
12
|
+
u,
|
|
13
13
|
!1,
|
|
14
14
|
null,
|
|
15
15
|
null
|
|
16
16
|
);
|
|
17
|
-
const
|
|
17
|
+
const f = d.exports;
|
|
18
18
|
export {
|
|
19
|
-
|
|
19
|
+
f as default
|
|
20
20
|
};
|
|
@@ -1,35 +1,36 @@
|
|
|
1
|
-
import { defineComponent as
|
|
2
|
-
import { useConfig as
|
|
3
|
-
import { useExport as
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
1
|
+
import { defineComponent as H, ref as m, computed as _ } from "vue";
|
|
2
|
+
import { useConfig as h } from "../../../composables/useConfig.js";
|
|
3
|
+
import { useExport as V } from "../../../composables/useExport.js";
|
|
4
|
+
import { useTestEmailClick as x } from "../../../composables/useGuidoActions.js";
|
|
5
|
+
import { useSave as E } from "../../../composables/useSave.js";
|
|
6
|
+
import { useTranslations as T } from "../../../composables/useTranslations.js";
|
|
6
7
|
import { useVersionHistoryApi as w } from "../../../composables/useVersionHistoryApi.js";
|
|
7
|
-
import { useEditorStore as
|
|
8
|
-
import { getTooltipOptions as
|
|
9
|
-
import { InButtonV2 as
|
|
10
|
-
const
|
|
8
|
+
import { useEditorStore as C } from "../../../stores/editor.js";
|
|
9
|
+
import { getTooltipOptions as O } from "../../../utils/tooltipUtils.js";
|
|
10
|
+
import { InButtonV2 as A } from "@useinsider/design-system-vue";
|
|
11
|
+
const J = /* @__PURE__ */ H({
|
|
11
12
|
__name: "RightSlot",
|
|
12
|
-
setup(
|
|
13
|
-
const { config: u } =
|
|
13
|
+
setup(k, { expose: c }) {
|
|
14
|
+
const { config: u } = h(), { exportHtml: r } = V(), { save: n } = E(), { openVersionHistory: i, closeVersionHistory: a } = w(), o = C(), t = T(), e = m(!1), s = m(!1), f = x(), v = () => {
|
|
14
15
|
if (o.isVersionHistoryOpen) {
|
|
15
16
|
a();
|
|
16
17
|
return;
|
|
17
18
|
}
|
|
18
19
|
i();
|
|
19
|
-
},
|
|
20
|
+
}, d = async () => {
|
|
20
21
|
e.value = !0, await r(), e.value = !1;
|
|
21
|
-
},
|
|
22
|
+
}, y = () => {
|
|
22
23
|
o.isSaveAsTemplateDrawerOpen = !0;
|
|
23
|
-
},
|
|
24
|
+
}, S = _(() => o.isVersionHistoryOpen ? t("newsletter.close-version-history") : t("newsletter.version-history")), l = async (p) => {
|
|
24
25
|
s.value = !0, o.loadingStatus = !0;
|
|
25
|
-
const
|
|
26
|
-
return s.value = !1, o.loadingStatus = !1,
|
|
26
|
+
const g = await n(p);
|
|
27
|
+
return s.value = !1, p && (o.loadingStatus = !1), g;
|
|
27
28
|
};
|
|
28
|
-
return
|
|
29
|
-
handleSave:
|
|
30
|
-
}), { __sfc: !0, config: u, exportHtml: r, save: n, openVersionHistory: i, closeVersionHistory: a, editorStore: o, trans: t, isExporting: e, isSaving: s, handleVersionHistory:
|
|
29
|
+
return c({
|
|
30
|
+
handleSave: l
|
|
31
|
+
}), { __sfc: !0, config: u, exportHtml: r, save: n, openVersionHistory: i, closeVersionHistory: a, editorStore: o, trans: t, isExporting: e, isSaving: s, testEmailClick: f, handleVersionHistory: v, handleExport: d, handleSaveAs: y, versionHistoryTooltipText: S, handleSave: l, getTooltipOptions: O, InButtonV2: A };
|
|
31
32
|
}
|
|
32
33
|
});
|
|
33
34
|
export {
|
|
34
|
-
|
|
35
|
+
J as default
|
|
35
36
|
};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import g from "./ItemsOnboarding.vue2.js";
|
|
2
|
+
/* empty css */
|
|
3
|
+
import m from "../../../_virtual/_plugin-vue2_normalizer.js";
|
|
4
|
+
var l = function() {
|
|
5
|
+
var e, n, r, i, s, a;
|
|
6
|
+
var o = this, d = o._self._c, t = o._self._setupProxy;
|
|
7
|
+
return t.isVisible ? d(t.InOnboard, { key: "guido__items-onboard", staticClass: "w-21-s p-a z-11", class: (e = t.onboardingStore.getItemsCurrentCard) == null ? void 0 : e.classes, attrs: { id: "guido__items-onboard", "is-multiple-page": "", visible: "", "image-source": "", title: "", "bottom-position": (n = t.onboardingStore.getItemsCurrentCard) == null ? void 0 : n.bottom, "left-position": (r = t.onboardingStore.getItemsCurrentCard) == null ? void 0 : r.left, "pages-config": t.onboardingStore.onboardings.itemsOnboarding.config, "pointer-position": (i = t.onboardingStore.getItemsCurrentCard) == null ? void 0 : i.position, "right-position": (s = t.onboardingStore.getItemsCurrentCard) == null ? void 0 : s.right, "top-position": (a = t.onboardingStore.getItemsCurrentCard) == null ? void 0 : a.top }, on: { backButtonClick: t.handleBack, close: function(b) {
|
|
8
|
+
return t.onboardingStore.close("itemsOnboarding");
|
|
9
|
+
}, nextButtonClick: t.handleNext } }) : o._e();
|
|
10
|
+
}, c = [], p = /* @__PURE__ */ m(
|
|
11
|
+
g,
|
|
12
|
+
l,
|
|
13
|
+
c,
|
|
14
|
+
!1,
|
|
15
|
+
null,
|
|
16
|
+
"dd1a237a"
|
|
17
|
+
);
|
|
18
|
+
const I = p.exports;
|
|
19
|
+
export {
|
|
20
|
+
I as default
|
|
21
|
+
};
|