@useinsider/guido 2.1.0-beta.f30d59a → 2.1.0-beta.f869a80

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.
Files changed (148) hide show
  1. package/dist/@types/config/schemas.js +1 -1
  2. package/dist/components/organisms/extensions/recommendation/FilterItem.vue.js +11 -13
  3. package/dist/components/organisms/extensions/recommendation/FilterItem.vue2.js +54 -23
  4. package/dist/components/organisms/extensions/recommendation/FilterSelectionDrawer.vue.js +7 -5
  5. package/dist/components/organisms/extensions/recommendation/FilterSelectionDrawer.vue2.js +37 -23
  6. package/dist/components/organisms/extensions/recommendation/Filters.vue.js +11 -11
  7. package/dist/components/organisms/extensions/recommendation/Filters.vue2.js +48 -36
  8. package/dist/components/organisms/extensions/recommendation/LogicAdapter.vue2.js +11 -9
  9. package/dist/composables/useHtmlValidator.js +114 -104
  10. package/dist/composables/useRecommendation.js +54 -21
  11. package/dist/config/compiler/recommendationCompilerRules.js +45 -39
  12. package/dist/config/compiler/utils/recommendationCompilerUtils.js +121 -0
  13. package/dist/config/migrator/itemsBlockMigrator.js +101 -97
  14. package/dist/config/migrator/recommendationMigrator.js +2 -2
  15. package/dist/enums/extensions/recommendationBlock.js +1 -1
  16. package/dist/enums/recommendation.js +16 -15
  17. package/dist/extensions/Blocks/Recommendation/block.js +133 -9
  18. package/dist/extensions/Blocks/Recommendation/constants/blockIds.js +4 -0
  19. package/dist/extensions/Blocks/Recommendation/constants/controlIds.js +4 -0
  20. package/dist/extensions/Blocks/Recommendation/constants/defaultConfig.js +66 -0
  21. package/dist/extensions/Blocks/Recommendation/constants/layout.js +22 -0
  22. package/dist/extensions/Blocks/Recommendation/constants/selectors.js +21 -0
  23. package/dist/extensions/Blocks/Recommendation/controls/button/index.js +64 -0
  24. package/dist/extensions/Blocks/Recommendation/controls/cardBackground/index.js +80 -0
  25. package/dist/extensions/Blocks/Recommendation/controls/cardComposition/index.js +232 -0
  26. package/dist/extensions/Blocks/Recommendation/controls/image/index.js +19 -0
  27. package/dist/extensions/Blocks/Recommendation/controls/layout/index.js +92 -0
  28. package/dist/extensions/Blocks/Recommendation/controls/main/algorithm.js +102 -0
  29. package/dist/extensions/Blocks/Recommendation/controls/main/currency.js +209 -0
  30. package/dist/extensions/Blocks/Recommendation/controls/main/filters.js +52 -0
  31. package/dist/extensions/Blocks/Recommendation/controls/main/index.js +269 -0
  32. package/dist/extensions/Blocks/Recommendation/controls/main/locale.js +70 -0
  33. package/dist/extensions/Blocks/Recommendation/controls/main/productLayout.js +160 -0
  34. package/dist/extensions/Blocks/Recommendation/controls/main/shuffle.js +67 -0
  35. package/dist/extensions/Blocks/Recommendation/controls/main/utils.js +307 -0
  36. package/dist/extensions/Blocks/Recommendation/controls/mobileLayout/cssRules.js +21 -0
  37. package/dist/extensions/Blocks/Recommendation/controls/name/index.js +46 -0
  38. package/dist/extensions/Blocks/Recommendation/controls/name/textTrim.js +108 -0
  39. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/index.js +44 -0
  40. package/dist/extensions/Blocks/Recommendation/controls/omnibusDiscount/index.js +48 -0
  41. package/dist/extensions/Blocks/Recommendation/controls/{omnibusDiscountTextAfterControl.js → omnibusDiscount/textAfter.js} +16 -14
  42. package/dist/extensions/Blocks/Recommendation/controls/{omnibusDiscountTextBeforeControl.js → omnibusDiscount/textBefore.js} +16 -14
  43. package/dist/extensions/Blocks/Recommendation/controls/omnibusPrice/index.js +48 -0
  44. package/dist/extensions/Blocks/Recommendation/controls/{omnibusPriceTextAfterControl.js → omnibusPrice/textAfter.js} +16 -14
  45. package/dist/extensions/Blocks/Recommendation/controls/{omnibusPriceTextBeforeControl.js → omnibusPrice/textBefore.js} +14 -12
  46. package/dist/extensions/Blocks/Recommendation/controls/price/index.js +44 -0
  47. package/dist/extensions/Blocks/Recommendation/controls/spacing/index.js +222 -0
  48. package/dist/extensions/Blocks/Recommendation/extension.js +40 -17
  49. package/dist/extensions/Blocks/Recommendation/iconsRegistry.js +19 -3
  50. package/dist/extensions/Blocks/Recommendation/recommendation.css.js +13 -4
  51. package/dist/extensions/Blocks/Recommendation/services/configService.js +240 -0
  52. package/dist/extensions/Blocks/Recommendation/settingsPanel.js +21 -10
  53. package/dist/extensions/Blocks/Recommendation/store/recommendation.js +311 -218
  54. package/dist/extensions/Blocks/Recommendation/templates/grid/elementRenderer.js +228 -0
  55. package/dist/extensions/Blocks/Recommendation/templates/grid/migration.js +251 -0
  56. package/dist/extensions/Blocks/Recommendation/templates/grid/template.js +66 -0
  57. package/dist/extensions/Blocks/Recommendation/templates/index.js +12 -0
  58. package/dist/extensions/Blocks/Recommendation/templates/list/elementRenderer.js +169 -0
  59. package/dist/extensions/Blocks/Recommendation/templates/list/template.js +73 -0
  60. package/dist/extensions/Blocks/Recommendation/templates/utils.js +134 -0
  61. package/dist/extensions/Blocks/Recommendation/types/nodeConfig.js +6 -0
  62. package/dist/extensions/Blocks/Recommendation/utils/filterUtil.js +12 -12
  63. package/dist/extensions/Blocks/Recommendation/utils/preserveTextStyles.js +26 -15
  64. package/dist/extensions/Blocks/Recommendation/utils/priceFormatter.js +29 -0
  65. package/dist/extensions/Blocks/Recommendation/utils/tagName.js +46 -0
  66. package/dist/extensions/Blocks/Recommendation/validation/filterSchema.js +29 -0
  67. package/dist/extensions/Blocks/controlFactories.js +125 -93
  68. package/dist/guido.css +1 -1
  69. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js +242 -186
  70. package/dist/services/recommendationApi.js +11 -8
  71. package/dist/services/stripoApi.js +20 -17
  72. package/dist/services/templateLibraryApi.js +16 -13
  73. package/dist/src/components/organisms/extensions/recommendation/FilterItem.vue.d.ts +1 -0
  74. package/dist/src/components/organisms/extensions/recommendation/Filters.vue.d.ts +17 -1
  75. package/dist/src/components/wrappers/WpDrawer.vue.d.ts +1 -1
  76. package/dist/src/composables/useRecommendation.d.ts +1 -0
  77. package/dist/src/config/compiler/utils/recommendationCompilerUtils.d.ts +17 -0
  78. package/dist/src/extensions/Blocks/Recommendation/block.d.ts +67 -0
  79. package/dist/src/extensions/Blocks/Recommendation/constants/blockIds.d.ts +13 -0
  80. package/dist/src/extensions/Blocks/Recommendation/{constants.d.ts → constants/controlIds.d.ts} +0 -24
  81. package/dist/src/extensions/Blocks/Recommendation/constants/defaultConfig.d.ts +49 -0
  82. package/dist/src/extensions/Blocks/Recommendation/constants/index.d.ts +13 -0
  83. package/dist/src/extensions/Blocks/Recommendation/constants/layout.d.ts +41 -0
  84. package/dist/src/extensions/Blocks/Recommendation/constants/selectors.d.ts +35 -0
  85. package/dist/src/extensions/Blocks/Recommendation/controls/button/index.d.ts +143 -0
  86. package/dist/src/extensions/Blocks/Recommendation/controls/cardBackground/index.d.ts +31 -0
  87. package/dist/src/extensions/Blocks/Recommendation/{cardCompositionControl.d.ts → controls/cardComposition/index.d.ts} +23 -3
  88. package/dist/src/extensions/Blocks/Recommendation/controls/image/index.d.ts +35 -0
  89. package/dist/src/extensions/Blocks/Recommendation/controls/index.d.ts +21 -589
  90. package/dist/src/extensions/Blocks/Recommendation/controls/layout/index.d.ts +37 -0
  91. package/dist/src/extensions/Blocks/Recommendation/controls/main/algorithm.d.ts +29 -0
  92. package/dist/src/extensions/Blocks/Recommendation/controls/main/currency.d.ts +52 -0
  93. package/dist/src/extensions/Blocks/Recommendation/controls/main/filters.d.ts +22 -0
  94. package/dist/src/extensions/Blocks/Recommendation/controls/main/index.d.ts +84 -0
  95. package/dist/src/extensions/Blocks/Recommendation/controls/main/locale.d.ts +24 -0
  96. package/dist/src/extensions/Blocks/Recommendation/controls/main/productLayout.d.ts +60 -0
  97. package/dist/src/extensions/Blocks/Recommendation/controls/main/shuffle.d.ts +23 -0
  98. package/dist/src/extensions/Blocks/Recommendation/controls/main/utils.d.ts +221 -0
  99. package/dist/src/extensions/Blocks/Recommendation/controls/mobileLayout/cssRules.d.ts +29 -0
  100. package/dist/src/extensions/Blocks/Recommendation/controls/name/index.d.ts +97 -0
  101. package/dist/src/extensions/Blocks/Recommendation/controls/name/textTrim.d.ts +34 -0
  102. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/index.d.ts +95 -0
  103. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusDiscount/index.d.ts +100 -0
  104. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusDiscount/textAfter.d.ts +15 -0
  105. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusDiscount/textBefore.d.ts +15 -0
  106. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusPrice/index.d.ts +100 -0
  107. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusPrice/textAfter.d.ts +15 -0
  108. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusPrice/textBefore.d.ts +15 -0
  109. package/dist/src/extensions/Blocks/Recommendation/controls/price/index.d.ts +95 -0
  110. package/dist/src/extensions/Blocks/Recommendation/controls/spacing/index.d.ts +83 -0
  111. package/dist/src/extensions/Blocks/Recommendation/extension.d.ts +9 -0
  112. package/dist/src/extensions/Blocks/Recommendation/services/configService.d.ts +151 -0
  113. package/dist/src/extensions/Blocks/Recommendation/services/index.d.ts +6 -0
  114. package/dist/src/extensions/Blocks/Recommendation/store/recommendation.d.ts +154 -468
  115. package/dist/src/extensions/Blocks/Recommendation/templates/grid/elementRenderer.d.ts +20 -0
  116. package/dist/src/extensions/Blocks/Recommendation/templates/{migrationTemplate.d.ts → grid/migration.d.ts} +11 -4
  117. package/dist/src/extensions/Blocks/Recommendation/templates/grid/template.d.ts +33 -0
  118. package/dist/src/extensions/Blocks/Recommendation/templates/index.d.ts +41 -0
  119. package/dist/src/extensions/Blocks/Recommendation/templates/list/elementRenderer.d.ts +8 -0
  120. package/dist/src/extensions/Blocks/Recommendation/templates/list/migration.d.ts +25 -0
  121. package/dist/src/extensions/Blocks/Recommendation/templates/list/template.d.ts +18 -0
  122. package/dist/src/extensions/Blocks/Recommendation/templates/utils.d.ts +66 -0
  123. package/dist/src/extensions/Blocks/Recommendation/types/index.d.ts +7 -0
  124. package/dist/src/extensions/Blocks/Recommendation/types/nodeConfig.d.ts +166 -0
  125. package/dist/src/extensions/Blocks/Recommendation/utils/priceFormatter.d.ts +33 -0
  126. package/dist/src/extensions/Blocks/Recommendation/utils/stylePreserver.d.ts +113 -0
  127. package/dist/src/extensions/Blocks/Recommendation/utils/tagName.d.ts +77 -0
  128. package/dist/src/extensions/Blocks/Recommendation/validation/filterSchema.d.ts +15 -0
  129. package/dist/static/styles/customEditorStyle.css.js +35 -11
  130. package/dist/static/templates/empty/index.html.js +74 -0
  131. package/dist/static/templates/empty/style.css.js +779 -0
  132. package/dist/utils/pairProductVariables.js +57 -56
  133. package/dist/utils/templatePreparation.js +15 -14
  134. package/package.json +1 -1
  135. package/dist/extensions/Blocks/Recommendation/cardCompositionControl.js +0 -187
  136. package/dist/extensions/Blocks/Recommendation/constants.js +0 -13
  137. package/dist/extensions/Blocks/Recommendation/control.js +0 -336
  138. package/dist/extensions/Blocks/Recommendation/controls/cardBackgroundColorControl.js +0 -68
  139. package/dist/extensions/Blocks/Recommendation/controls/index.js +0 -245
  140. package/dist/extensions/Blocks/Recommendation/controls/nameTextTrimControl.js +0 -74
  141. package/dist/extensions/Blocks/Recommendation/controls/spacingControl.js +0 -188
  142. package/dist/extensions/Blocks/Recommendation/templates/blockTemplate.js +0 -181
  143. package/dist/extensions/Blocks/Recommendation/templates/migrationTemplate.js +0 -189
  144. package/dist/extensions/Blocks/Recommendation/templates/templateUtils.js +0 -209
  145. package/dist/src/extensions/Blocks/Recommendation/control.d.ts +0 -38
  146. package/dist/src/extensions/Blocks/Recommendation/controls/nameTextTrimControl.d.ts +0 -16
  147. package/dist/src/extensions/Blocks/Recommendation/templates/blockTemplate.d.ts +0 -16
  148. package/dist/src/extensions/Blocks/Recommendation/templates/templateUtils.d.ts +0 -52
@@ -0,0 +1,15 @@
1
+ import type { Filter } from '@@/Types/recommendation';
2
+ import * as v from 'valibot';
3
+ export declare const FilterSchema: v.ObjectSchema<{
4
+ readonly type: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>;
5
+ readonly attribute: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>;
6
+ readonly operator: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>;
7
+ readonly innerGroupOperator: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>;
8
+ readonly outerGroupOperator: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>;
9
+ readonly value: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>;
10
+ readonly filterGroup: v.NumberSchema<undefined>;
11
+ readonly filterNumber: v.NumberSchema<undefined>;
12
+ readonly isValid: v.BooleanSchema<undefined>;
13
+ }, undefined>;
14
+ export declare function isFilterValid(filter: Filter): boolean;
15
+ export declare function getInvalidFilterFields(filter: Filter): Set<string>;
@@ -19,22 +19,46 @@ const n = `.esd-x,
19
19
  box-shadow: none;
20
20
  }
21
21
  .ins-product-cart ue-node-actions,
22
- .ins-recommendation-v3-block-v2 .product-attribute-cell ue-node-actions,
23
- .ins-recommendation-v3-block-v2 .product-attribute-cell ue-node-panel {
22
+ /* Horizontal layout - hide for info, image, and button cells */
23
+ .ins-recommendation-v3-block-v2 .product-info-cell ue-node-actions,
24
+ .ins-recommendation-v3-block-v2 .product-info-cell ue-node-panel,
25
+ .ins-recommendation-v3-block-v2 .product-image-cell ue-node-actions,
26
+ .ins-recommendation-v3-block-v2 .product-image-cell ue-node-panel,
27
+ .ins-recommendation-v3-block-v2 .button-cell ue-node-actions,
28
+ .ins-recommendation-v3-block-v2 .button-cell ue-node-panel,
29
+ /* Vertical layout - hide for product-card-segment inner cells */
30
+ .ins-recommendation-v3-block-v2 .product-card-segment ue-node-actions,
31
+ .ins-recommendation-v3-block-v2 .product-card-segment ue-node-panel,
32
+ /* Hide for specific product attribute cells in both layouts */
33
+ .ins-recommendation-v3-block-v2 .product-image ue-node-actions,
34
+ .ins-recommendation-v3-block-v2 .product-image ue-node-panel,
35
+ .ins-recommendation-v3-block-v2 .product-name ue-node-actions,
36
+ .ins-recommendation-v3-block-v2 .product-name ue-node-panel,
37
+ .ins-recommendation-v3-block-v2 .product-price ue-node-actions,
38
+ .ins-recommendation-v3-block-v2 .product-price ue-node-panel,
39
+ .ins-recommendation-v3-block-v2 .product-old-price ue-node-actions,
40
+ .ins-recommendation-v3-block-v2 .product-old-price ue-node-panel,
41
+ .ins-recommendation-v3-block-v2 .product-omnibus-price ue-node-actions,
42
+ .ins-recommendation-v3-block-v2 .product-omnibus-price ue-node-panel,
43
+ .ins-recommendation-v3-block-v2 .product-omnibus-discount ue-node-actions,
44
+ .ins-recommendation-v3-block-v2 .product-omnibus-discount ue-node-panel,
45
+ .ins-recommendation-v3-block-v2 .product-button ue-node-actions,
46
+ .ins-recommendation-v3-block-v2 .product-button ue-node-panel {
24
47
  display: none !important;
25
48
  }
26
49
 
27
- /* Apply to the table cell (td) with text-trim-enabled class */
28
- .text-trim-enabled {
29
- max-width: 0 !important;
50
+ /* Mobile layout: hide mobile container by default in editor */
51
+ .ins-recommendation-mobile-container {
52
+ display: none;
30
53
  }
31
54
 
32
- .text-trim-enabled p {
33
- overflow: hidden !important;
34
- text-overflow: ellipsis !important;
35
- white-space: nowrap !important;
36
- margin: 0 !important;
37
- display: block !important;
55
+ /* Mobile layout: when Stripo mobile mode is active, swap containers */
56
+ .ue-mobile-mode .ins-recommendation-desktop-container {
57
+ display: none !important;
58
+ }
59
+
60
+ .ue-mobile-mode .ins-recommendation-mobile-container {
61
+ display: table !important;
38
62
  }
39
63
  `;
40
64
  export {
@@ -0,0 +1,74 @@
1
+ const t = `<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+ <html>
3
+
4
+ <head>
5
+ <meta charset="UTF-8">
6
+ <meta content="width=device-width, initial-scale=1" name="viewport">
7
+ <meta name="x-apple-disable-message-reformatting">
8
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
9
+ <meta content="telephone=no" name="format-detection">
10
+ <title></title>
11
+ <!--[if (mso 16)]><style type="text/css">a{text-decoration:none}</style><![endif]-->
12
+ <!--[if gte mso 9]><style>sup{font-size:100% !important}</style><![endif]-->
13
+ <!--[if gte mso 9]><style>sup{font-size:100% !important}</style><![endif]-->
14
+ <!--[if gte mso 9]><style>sup{font-size:100% !important}</style><![endif]-->
15
+ <!--[if gte mso 9]><style>sup{font-size:100% !important}</style><![endif]-->
16
+ <!--[if gte mso 9]><style>sup { font-size: 100% !important; }</style><![endif]-->
17
+ </head>
18
+
19
+ <body>
20
+ <div class="es-wrapper-color">
21
+ <!--[if gte mso 9]>
22
+ <v:background xmlns:v="urn:schemas-microsoft-com:vml" fill="t">
23
+ <v:fill type="tile" color="#f6f6f6"></v:fill>
24
+ </v:background>
25
+ <![endif]-->
26
+ <table class="es-wrapper" width="100%" cellspacing="0" cellpadding="0">
27
+ <tbody>
28
+ <tr>
29
+ <td class="esd-email-paddings" valign="top">
30
+ <table class="es-content esd-footer-popover" cellspacing="0" cellpadding="0" align="center">
31
+ <tbody>
32
+ <tr>
33
+ <td class="esd-stripe" align="center">
34
+ <table class="es-content-body" width="600" cellspacing="0" cellpadding="0" bgcolor="#ffffff" align="center">
35
+ <tbody>
36
+ <tr>
37
+ <td class="esd-structure es-p20" align="left">
38
+ <table cellpadding="0" cellspacing="0" width="100%">
39
+ <tbody>
40
+ <tr>
41
+ <td width="560" class="esd-container-frame" align="center" valign="top">
42
+ <table cellpadding="0" cellspacing="0" width="100%">
43
+ <tbody>
44
+ <tr>
45
+ <td align="center" class="esd-empty-container" style="display: none;"></td>
46
+ </tr>
47
+ </tbody>
48
+ </table>
49
+ </td>
50
+ </tr>
51
+ </tbody>
52
+ </table>
53
+ </td>
54
+ </tr>
55
+ </tbody>
56
+ </table>
57
+ </td>
58
+ </tr>
59
+ </tbody>
60
+ </table>
61
+ </td>
62
+ </tr>
63
+ </tbody>
64
+ </table>
65
+ </div>
66
+ <div style="position: absolute; left: -9999px; top: -9999px; margin: 0px;"></div>
67
+ <div style="position: absolute; left: -9999px; top: -9999px; margin: 0px; padding: 0px; border: 0px none; width: 1px;"></div>
68
+ </body>
69
+
70
+ </html>
71
+ `;
72
+ export {
73
+ t as default
74
+ };