@useinsider/guido 2.1.0-beta.bc18abc → 2.1.0-beta.bf5c6f2
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 +36 -0
- package/dist/@types/config/schemas.js +70 -65
- package/dist/components/Guido.vue.js +1 -1
- package/dist/components/Guido.vue2.js +69 -58
- package/dist/components/organisms/header/HeaderWrapper.vue.js +9 -9
- package/dist/composables/useActionsApi.js +15 -13
- package/dist/composables/useBlocksConfig.js +26 -16
- package/dist/composables/useStripo.js +25 -23
- package/dist/composables/useVersionHistoryApi.js +1 -1
- package/dist/config/localePatch/index.js +13 -0
- package/dist/config/localePatch/labels.json.js +7 -0
- package/dist/config/localePatch/toasters.json.js +56 -0
- package/dist/config/localePatch/tooltips.json.js +82 -0
- package/dist/config/migrator/itemsBlockMigrator.js +140 -123
- package/dist/enums/defaults.js +8 -4
- package/dist/extensions/Blocks/Items/block.js +19 -28
- package/dist/extensions/Blocks/Items/controls/button/link.js +19 -31
- package/dist/extensions/Blocks/Items/controls/cardComposition.js +124 -85
- package/dist/extensions/Blocks/Items/controls/image/link.js +19 -31
- package/dist/extensions/Blocks/Items/controls/name/trimming.js +28 -40
- package/dist/extensions/Blocks/Items/controls/price/currencyLocation.js +35 -47
- package/dist/extensions/Blocks/Items/controls/price/currencySymbol.js +49 -54
- package/dist/extensions/Blocks/Items/controls/price/formattedPrice.js +42 -51
- package/dist/extensions/Blocks/Items/controls/price/hideDiscount.js +23 -36
- package/dist/extensions/Blocks/Items/controls/price/priceOrientation.js +45 -57
- package/dist/extensions/Blocks/Items/controls/price/singlePrice.js +42 -60
- package/dist/extensions/Blocks/Items/controls/settingsControl.js +189 -196
- package/dist/extensions/Blocks/Items/enums/settingsEnums.js +0 -2
- package/dist/extensions/Blocks/Items/extension.js +8 -9
- package/dist/extensions/Blocks/Items/settingsPanel.js +10 -15
- package/dist/extensions/Blocks/Items/template.js +181 -175
- package/dist/extensions/Blocks/Items/utils/nodeConfigUtils.js +65 -65
- package/dist/extensions/Blocks/Recommendation/utils/preserveTextStyles.js +3 -3
- package/dist/extensions/Blocks/common-control.js +91 -92
- package/dist/extensions/ModulesTabIcons/extension.js +17 -0
- package/dist/guido.css +1 -1
- package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js +163 -95
- package/dist/src/@types/config/schemas.d.ts +8 -0
- package/dist/src/composables/useConfig.d.ts +4 -0
- package/dist/src/config/localePatch/index.d.ts +144 -0
- package/dist/src/enums/defaults.d.ts +4 -0
- package/dist/src/extensions/Blocks/Items/block.d.ts +0 -1
- package/dist/src/extensions/Blocks/Items/controls/button/link.d.ts +0 -1
- package/dist/src/extensions/Blocks/Items/controls/cardComposition.d.ts +5 -5
- package/dist/src/extensions/Blocks/Items/controls/image/link.d.ts +0 -1
- package/dist/src/extensions/Blocks/Items/controls/name/trimming.d.ts +0 -1
- package/dist/src/extensions/Blocks/Items/controls/price/currencyLocation.d.ts +0 -1
- package/dist/src/extensions/Blocks/Items/controls/price/currencySymbol.d.ts +0 -1
- package/dist/src/extensions/Blocks/Items/controls/price/formattedPrice.d.ts +0 -1
- package/dist/src/extensions/Blocks/Items/controls/price/hideDiscount.d.ts +0 -1
- package/dist/src/extensions/Blocks/Items/controls/price/priceOrientation.d.ts +0 -1
- package/dist/src/extensions/Blocks/Items/controls/price/singlePrice.d.ts +0 -5
- package/dist/src/extensions/Blocks/Items/controls/settingsControl.d.ts +10 -12
- package/dist/src/extensions/Blocks/Items/utils/nodeConfigUtils.d.ts +2 -1
- package/dist/src/extensions/Blocks/common-control.d.ts +4 -5
- package/dist/src/extensions/ModulesTabIcons/extension.d.ts +2 -0
- package/dist/src/stores/config.d.ts +36 -0
- package/dist/static/styles/components/notification.css.js +19 -0
- package/dist/static/styles/components/tools.css.js +6 -2
- package/dist/static/styles/components/version-history.css.js +10 -2
- package/dist/static/styles/components/wide-panel.css.js +18 -2
- package/dist/static/styles/variables.css.js +1 -0
- package/package.json +1 -1
- package/dist/extensions/Blocks/Items/store/items-block.js +0 -79
- package/dist/src/extensions/Blocks/Items/store/items-block.d.ts +0 -45
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Stripo Editor Translation Overrides
|
|
3
|
+
*
|
|
4
|
+
* Custom translations for Stripo editor UI elements.
|
|
5
|
+
* Translations are stored in JSON files for easier maintenance.
|
|
6
|
+
*
|
|
7
|
+
* Reference: https://email-static.useinsider.com/guido/{version}/assets/i18n/en.json
|
|
8
|
+
* @module config/localePatch
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* Combined locale patch for Stripo editor initialization.
|
|
12
|
+
* Merges labels, tooltips, and toasters into a single object.
|
|
13
|
+
*/
|
|
14
|
+
export declare const localePatch: {
|
|
15
|
+
en: {
|
|
16
|
+
"The image has been deleted.": string;
|
|
17
|
+
"Aim for the drop zone!": string;
|
|
18
|
+
"Image processing": string;
|
|
19
|
+
"Can not get image from an external source.": string;
|
|
20
|
+
"The selected basic color cannot be added to My Palette. Please choose a different one from the color picker.": string;
|
|
21
|
+
"Copied to clipboard": string;
|
|
22
|
+
"The file {fileName} has wrong format {fileFormat}": string;
|
|
23
|
+
"The file {fileName} size exceeds the allowed size {maxFileSize}": string;
|
|
24
|
+
"Image link invalid": string;
|
|
25
|
+
"Image upload failed": string;
|
|
26
|
+
"Image upload error": string;
|
|
27
|
+
"Error message from video service": string;
|
|
28
|
+
"Error message from image processing": string;
|
|
29
|
+
"The AI is fine-tuning your result... Please wait! This may take up to 1 minute.": string;
|
|
30
|
+
"Can not complete AI request. Try again later": string;
|
|
31
|
+
"Http failure response for https://plugins.stripo.email/api/v1/documents/v3/documents/link: 400 OK": string;
|
|
32
|
+
"Http failure response for https://plugins.stripo.email/api/v1/documents/v3/documents/base64: 400 OK": string;
|
|
33
|
+
"AI is processing your request": string;
|
|
34
|
+
"Whoops, something went wrong. Our experts are working to resolve this issue. Try again later please": string;
|
|
35
|
+
"Unable to paste text. Limit is 256kB. Please trim it down.": string;
|
|
36
|
+
"Banner src included merge tag": string;
|
|
37
|
+
"Module deletion error": string;
|
|
38
|
+
"Can`t delete the module": string;
|
|
39
|
+
"Block action error": string;
|
|
40
|
+
history_revert_to_patch: string;
|
|
41
|
+
"There is no connection to the server. Please reload the page or click 'Reconnect' to continue.": string;
|
|
42
|
+
"Reconnecting...": string;
|
|
43
|
+
"Failed to load version history. Contact support for assistance.": string;
|
|
44
|
+
"Connection restored": string;
|
|
45
|
+
"Invalid base64 image format. Please replace the image link.": string;
|
|
46
|
+
"Timer update error": string;
|
|
47
|
+
"Cannot edit base64 images": string;
|
|
48
|
+
"Failed to copy URL": string;
|
|
49
|
+
"Error message from image service": string;
|
|
50
|
+
"Error message from image preload": string;
|
|
51
|
+
"An error has occurred. Please report the error code to support: {trace_id} and reload the editor. Also, send a bug report with email logs to the development team.": string;
|
|
52
|
+
"The number of requests within your session has been exceeded. Please wait.": string;
|
|
53
|
+
"An error has occurred. Please report the error code to support.": string;
|
|
54
|
+
"Warning: custom fonts": string;
|
|
55
|
+
"Image recovery error": string;
|
|
56
|
+
"Image moved to trash": string;
|
|
57
|
+
Recover: string;
|
|
58
|
+
Stop: string;
|
|
59
|
+
"Can`t delete the image": string;
|
|
60
|
+
"Can`t restore the image": string;
|
|
61
|
+
"Image delete error": string;
|
|
62
|
+
"The maximum number of users who can simultaneously work with the sheet has been exceeded. Maximum allowed number: {{max_users_per_model}}": string;
|
|
63
|
+
"The monthly limit of Timer basic block is reached. Please change the subscription pricing plan to activate new quotas": string;
|
|
64
|
+
"Add template/pre-built modules, or structures with containers": string;
|
|
65
|
+
"Allows uploading and editing images": string;
|
|
66
|
+
"Allows working on text styles, adding merge tags and lists": string;
|
|
67
|
+
"Allows designing buttons of any shape, size, and color": string;
|
|
68
|
+
"Meant to visually separate elements with a horizontal line": string;
|
|
69
|
+
"Offers 70+ social media icons and chats of different design styles": string;
|
|
70
|
+
"Helps taking users from emails to necessary pages on your site": string;
|
|
71
|
+
"Allows adding elements with custom code in emails": string;
|
|
72
|
+
"Allows applying filters to images and placing text over them": string;
|
|
73
|
+
"Allows setting thumbnail images & play buttons for videos": string;
|
|
74
|
+
"Adds a countdown to a specific date. Use the timer in emails for promotions, launches, and events": string;
|
|
75
|
+
"The \"AMP Carousel\" block is currently being developed. Switch to the Old version of the Editor to access the full functionality needed to continue working on this email. Please note, that all changes you have already made to this email will be saved and available in the Old version": string;
|
|
76
|
+
"The \"AMP Accordion\" block is currently being development. Switch to the Old version of the Editor to access the full functionality needed to continue working on this email. Please note, that all changes you have already made to this email will be saved and available in the Old version": string;
|
|
77
|
+
"An AMP Form block lets users collect feedback or run surveys directly in an email. It includes input fields and can be added in the Editor, allowing recipients to respond right from their inbox": string;
|
|
78
|
+
"Will be applied to the entire email": string;
|
|
79
|
+
"Background image for the entire email. Some email clients (Windows 10 Mail, Android 4.4, the Gmail app for iOS, and Android for non-Gmail accounts) do not support background images. Thus, we recommend choosing a background color for the entire email similar to the selected image as a fallback.": string;
|
|
80
|
+
"Repetition of the email background image. In Outlook for Windows, the image will be repeated in any case, regardless of whether this option is enabled or not. To bypass the Outlook limitation, you need to create an image in a third-party editor of the needed color and size so that it fits the entire background size, apply the required graphics to it, upload it, and center-align it in the email. The dimensions of such a background image should be at least 1,920 pixels in width, and the height should be equal to the height of the email.": string;
|
|
81
|
+
"The standard width of the email varies between 540-700 pixels. <a href=\"https://stripo.email/blog/email-template-size-width-height/\" target=\"_blank\" aria-label=\"Read more about the message width in our blog.\">Read more here</a>": string;
|
|
82
|
+
"Alignment of the email content area ": string;
|
|
83
|
+
"Your email will automatically adjust for smaller screens by displaying content in a single column. Side-by-side blocks will be stacked vertically": string;
|
|
84
|
+
"Your email will display the desktop version on mobile devices. Mobile-specific settings will be turned off in the Editor": string;
|
|
85
|
+
"Enable the right-to-left (RTL) text direction to build emails easily without coding for recipients using RTL scripts, such as Arabic, Hebrew, Persian, Urdu, etc.": string;
|
|
86
|
+
"Margins around the email message area": string;
|
|
87
|
+
"The background image of the stripe. The image will not be displayed in an Outlook app on Windows email clients. We recommend choosing a stripe background color similar to the selected image as a fallback": string;
|
|
88
|
+
"We automatically calculate the optimal indentation for your text. It depends on font size and line spacing <a href=\"https://en.wikipedia.org/wiki/Leading\" target=\"_blank\">leading<a/>": string;
|
|
89
|
+
"Padding in the \"Text\" block makes space around the added text.": string;
|
|
90
|
+
"If an email client doesn't support the non-standard font, a similar standard font will be used instead.": string;
|
|
91
|
+
"This option ensures the most accurate display of your buttons in MS Outlook email clients by inserting a special VML-code. When this option is activated, the email message size can be increased up to kilobyte for each added button.": string;
|
|
92
|
+
"Outlook for Windows does not have support for a separate button border width setting": string;
|
|
93
|
+
"Outlook for Windows does not have a support for the border radius property. We recommend enabling the Outlook support option.": string;
|
|
94
|
+
"The option \"hover button styles\" (changing colors upon a mouseover) is supported by a limited number of email clients. <a href=\"{link}\" target=\"_blank\">Learn more</a>": string;
|
|
95
|
+
"Button padding that makes the space around the button text": string;
|
|
96
|
+
"The icon inside the button will not show in Outlook 2002, 2007, 2010, 2013, 2016, 2019 on Windows.": string;
|
|
97
|
+
"Margins around the button": string;
|
|
98
|
+
"It only works with CSS styles, so it is not supported by Outlook on Windows. We recommend enabling the Support for Outlook option.": string;
|
|
99
|
+
"Not supported by Outlook on Windows, so we recommend enabling the Support for Outlook option in the General Settings tab.": string;
|
|
100
|
+
"Add content to the email, click it, and choose \u201CSave as a module\u201D. Stripes, Structures, and Containers can be saved as a module.": string;
|
|
101
|
+
"This feature is only supported by Yahoo! Mail, Ukr.net, AOL, Gmail, iCloud Mail, Outlook 2003, Outlook for Mac and macOS Apple Mail": string;
|
|
102
|
+
"The aspect ratio of the added image does not match the others. Please replace it to match the {ratio} format": string;
|
|
103
|
+
"Margins around the image": string;
|
|
104
|
+
"The image will automatically adjust to the width of the screen on mobile devices that support it": string;
|
|
105
|
+
"Images won't be adjusted to the width of the screen on mobile devices, which may lead to poor display of images and content": string;
|
|
106
|
+
"Make the image to fit to the width of a mobile screen. Please note: It only works on devices that have support for media queries.": string;
|
|
107
|
+
"You have the option of displaying a different image when your countdown timer expires.": string;
|
|
108
|
+
"Margins around the timer": string;
|
|
109
|
+
"Not all email clients support the selected link protocol. Check the <a href=\"https://support.stripo.email/en/articles/5332466-what-are-link-protocols-compatible-with-emails\" target=\"_blank\">compatibility guide</a> to learn more about supported clients.": string;
|
|
110
|
+
"This forces the accordion to only allow one expanded section at any given time. Expanding one section will cause any other open sections to close.": string;
|
|
111
|
+
"Outlook for Windows does not have support for dashed and dotted borders": string;
|
|
112
|
+
"Internal padding creates space around containers and blocks": string;
|
|
113
|
+
"Margins around the separator line": string;
|
|
114
|
+
"Use your own title and alternative text to each icon": string;
|
|
115
|
+
"Margins around social network icons": string;
|
|
116
|
+
"Makes the menu fit to the container width": string;
|
|
117
|
+
"Margins around elements formed by custom code": string;
|
|
118
|
+
"Margins around the banner": string;
|
|
119
|
+
"Creates an anchor for this element. Anchor links in emails are designed to make navigation easier. They help take readers to specific places in the email without the need to scroll. <a href=\"https://support.stripo.email/en/articles/3174098-how-to-apply-anchor-hyperlinks\" target=\"_blank\">Learn more</a> about how it works and how to create one with Stripo.": string;
|
|
120
|
+
"Include the element in the necessary version of the email, or in both. <a target=\"_blank\" href=\"https://stripo.email/blog/how-to-build-amp-emails-with-stripo/\">Learn more about \u26A1 HTML (AMP HTML).</a>": string;
|
|
121
|
+
"The element will be included in both MIME versions of the email: classic HTML and AMP HTML": string;
|
|
122
|
+
"The element will be included only in the HTML MIME version of the email message. The item will be hidden in the AMP HTML version": string;
|
|
123
|
+
"The element will be included only in the AMP HTML MIME version of the email message. The item will be hidden in the HTML version": string;
|
|
124
|
+
"This element will not be hidden in email clients which do not support media queries.": string;
|
|
125
|
+
"The element will be hidden on Yahoo mobile App, as well as in mobile email client which do not support media queries.": string;
|
|
126
|
+
"The element already hidden on Desktop. Activating this option you turning off hidden state for Desktop.": string;
|
|
127
|
+
"The element already hidden on Mobile. Activating this option you turning off hidden state for Mobile.": string;
|
|
128
|
+
"An anchor link should not exceed more than 150 characters": string;
|
|
129
|
+
"An alternate text should not exceed more than 255 characters": string;
|
|
130
|
+
"A HEX color value should not exceed more than 8 symbols": string;
|
|
131
|
+
"A keyword must have at least 2 characters": string;
|
|
132
|
+
"Button label should not exceed more than 255 characters": string;
|
|
133
|
+
"Link Name should not exceed more than 500 characters": string;
|
|
134
|
+
"Menu Item Name should not exceed more than 255 characters": string;
|
|
135
|
+
"It is not possible to upload more than 50 files simultaneously. If possible, please try to complete this over a few iterations.": string;
|
|
136
|
+
"Please enter a valid link": string;
|
|
137
|
+
"The image with the invalid link cannot be saved to the image gallery": string;
|
|
138
|
+
"The data source link is unavailable. Please, make sure there is an access to the data source.": string;
|
|
139
|
+
"The file should not exceed the maximum resolution of {maxImageResolution}px.": string;
|
|
140
|
+
"The option is disabled because was overridden in the Code editor": string;
|
|
141
|
+
"Global Styles & Layout": string;
|
|
142
|
+
"Structures & Modules": string;
|
|
143
|
+
};
|
|
144
|
+
};
|
|
@@ -9,3 +9,7 @@ export declare const TemplateTypes: {
|
|
|
9
9
|
export declare const EditorType: number;
|
|
10
10
|
export declare const MAX_DEFAULT_TEMPLATE_ID = 13;
|
|
11
11
|
export declare const ProductIds: Record<string, number>;
|
|
12
|
+
export declare const ModuleFolderDefaults: {
|
|
13
|
+
readonly SAVED_MODULES: "savedModules";
|
|
14
|
+
readonly DEFAULT_MODULES: "defaultModules";
|
|
15
|
+
};
|
|
@@ -3,7 +3,6 @@ import { CommonControl } from '../../../common-control';
|
|
|
3
3
|
import { ItemsBlockControlId } from '../../enums/controlEnums';
|
|
4
4
|
export declare const CONTROL_BLOCK_ID = ItemsBlockControlId.BUTTON_LINK;
|
|
5
5
|
export declare class ButtonLinkControl extends CommonControl {
|
|
6
|
-
private store;
|
|
7
6
|
getId(): string;
|
|
8
7
|
getTemplate(): string;
|
|
9
8
|
onRender(): void;
|
|
@@ -2,7 +2,6 @@ import { ImmutableHtmlNode } from '@stripoinc/ui-editor-extensions';
|
|
|
2
2
|
import { CommonControl } from '../../common-control';
|
|
3
3
|
export declare const COMPOSITION_CONTROL_BLOCK_ID = "ui-elements-items-card-composition-block";
|
|
4
4
|
export declare class ItemsBlockCardCompositionControl extends CommonControl {
|
|
5
|
-
private store;
|
|
6
5
|
private visibilityState;
|
|
7
6
|
getId(): string;
|
|
8
7
|
getTemplate(): string;
|
|
@@ -19,10 +18,11 @@ export declare class ItemsBlockCardCompositionControl extends CommonControl {
|
|
|
19
18
|
* If itemsType is not BROWSED_ITEMS, show quantity
|
|
20
19
|
* If itemsType is BROWSED_ITEMS, hide quantity
|
|
21
20
|
* and mark it as '0'
|
|
21
|
+
* @param syncOnly - If true, only sync local state and UI without modifying the document
|
|
22
22
|
*/
|
|
23
|
-
_handleBrowsedItemsQuantity(): void;
|
|
24
|
-
_applyVisibilityStyles(): void;
|
|
25
|
-
_updateVisibilityAttribute(elementName: string, isVisible: boolean): void;
|
|
23
|
+
_handleBrowsedItemsQuantity(syncOnly?: boolean): void;
|
|
24
|
+
_applyVisibilityStyles(modifier?: ReturnType<typeof this.api.getDocumentModifier>): void;
|
|
25
|
+
_updateVisibilityAttribute(elementName: string, isVisible: boolean, modifier?: ReturnType<typeof this.api.getDocumentModifier>): void;
|
|
26
26
|
_listenToFormUpdates(): void;
|
|
27
27
|
_onProductImageChange(value: boolean): void;
|
|
28
28
|
_onProductNameChange(value: boolean): void;
|
|
@@ -37,6 +37,6 @@ export declare class ItemsBlockCardCompositionControl extends CommonControl {
|
|
|
37
37
|
* - When price is hidden, original price cell expands to 100%
|
|
38
38
|
* - When both are visible, they share 50% each
|
|
39
39
|
*/
|
|
40
|
-
_updatePriceCellWidthsForVerticalLayout(): void;
|
|
40
|
+
_updatePriceCellWidthsForVerticalLayout(modifier?: ReturnType<typeof this.api.getDocumentModifier>): void;
|
|
41
41
|
_onProductButtonChange(value: boolean): void;
|
|
42
42
|
}
|
|
@@ -3,7 +3,6 @@ import { CommonControl } from '../../../common-control';
|
|
|
3
3
|
import { ItemsBlockControlId } from '../../enums/controlEnums';
|
|
4
4
|
export declare const CONTROL_BLOCK_ID = ItemsBlockControlId.IMAGE_LINK;
|
|
5
5
|
export declare class ImageLinkControl extends CommonControl {
|
|
6
|
-
private store;
|
|
7
6
|
getId(): string;
|
|
8
7
|
getTemplate(): string;
|
|
9
8
|
onRender(): void;
|
|
@@ -3,7 +3,6 @@ import { CommonControl } from '../../../common-control';
|
|
|
3
3
|
import { ItemsBlockControlId } from '../../enums/controlEnums';
|
|
4
4
|
export declare const CONTROL_BLOCK_ID = ItemsBlockControlId.NAME_TRIMMING;
|
|
5
5
|
export declare class NameTrimmingControl extends CommonControl {
|
|
6
|
-
private store;
|
|
7
6
|
getId(): string;
|
|
8
7
|
getTemplate(): string;
|
|
9
8
|
onRender(): void;
|
|
@@ -3,7 +3,6 @@ import { CommonControl } from '../../../common-control';
|
|
|
3
3
|
import { ItemsBlockControlId } from '../../enums/controlEnums';
|
|
4
4
|
export declare const CONTROL_BLOCK_ID = ItemsBlockControlId.PRICE_CURRENCY_LOCATION;
|
|
5
5
|
export declare class PriceCurrencyLocationControl extends CommonControl {
|
|
6
|
-
private store;
|
|
7
6
|
getId(): string;
|
|
8
7
|
getTemplate(): string;
|
|
9
8
|
onRender(): void;
|
|
@@ -3,7 +3,6 @@ import { CommonControl } from '../../../common-control';
|
|
|
3
3
|
import { ItemsBlockControlId } from '../../enums/controlEnums';
|
|
4
4
|
export declare const CONTROL_BLOCK_ID = ItemsBlockControlId.PRICE_CURRENCY_SYMBOL;
|
|
5
5
|
export declare class PriceCurrencySymbolControl extends CommonControl {
|
|
6
|
-
private store;
|
|
7
6
|
private originalPriceContents;
|
|
8
7
|
getId(): string;
|
|
9
8
|
getTemplate(): string;
|
|
@@ -3,7 +3,6 @@ import { CommonControl } from '../../../common-control';
|
|
|
3
3
|
import { ItemsBlockControlId } from '../../enums/controlEnums';
|
|
4
4
|
export declare const CONTROL_BLOCK_ID = ItemsBlockControlId.PRICE_FORMATTED_PRICE;
|
|
5
5
|
export declare class PriceFormattedPriceControl extends CommonControl {
|
|
6
|
-
private store;
|
|
7
6
|
getId(): string;
|
|
8
7
|
getTemplate(): string;
|
|
9
8
|
onRender(): void;
|
|
@@ -3,7 +3,6 @@ import { CommonControl } from '../../../common-control';
|
|
|
3
3
|
import { ItemsBlockControlId } from '../../enums/controlEnums';
|
|
4
4
|
export declare const CONTROL_BLOCK_ID = ItemsBlockControlId.PRICE_HIDE_DISCOUNT;
|
|
5
5
|
export declare class PriceHideDiscountControl extends CommonControl {
|
|
6
|
-
private store;
|
|
7
6
|
getId(): string;
|
|
8
7
|
getTemplate(): string;
|
|
9
8
|
onRender(): void;
|
|
@@ -3,7 +3,6 @@ import { CommonControl } from '../../../common-control';
|
|
|
3
3
|
import { ItemsBlockControlId } from '../../enums/controlEnums';
|
|
4
4
|
export declare const CONTROL_BLOCK_ID = ItemsBlockControlId.PRICE_ORIENTATION;
|
|
5
5
|
export declare class PriceOrientationControl extends CommonControl {
|
|
6
|
-
private store;
|
|
7
6
|
getId(): string;
|
|
8
7
|
getTemplate(): string;
|
|
9
8
|
onRender(): void;
|
|
@@ -3,15 +3,10 @@ import { CommonControl } from '../../../common-control';
|
|
|
3
3
|
import { ItemsBlockControlId } from '../../enums/controlEnums';
|
|
4
4
|
export declare const CONTROL_BLOCK_ID = ItemsBlockControlId.PRICE_SINGLE_PRICE;
|
|
5
5
|
export declare class PriceSinglePriceControl extends CommonControl {
|
|
6
|
-
private store;
|
|
7
6
|
getId(): string;
|
|
8
7
|
getTemplate(): string;
|
|
9
8
|
onRender(): void;
|
|
10
9
|
onTemplateNodeUpdated(node: ImmutableHtmlNode): void;
|
|
11
|
-
/**
|
|
12
|
-
* Syncs single price state from nodeConfig.
|
|
13
|
-
*/
|
|
14
|
-
private _syncSinglePriceFromNodeConfig;
|
|
15
10
|
_onSinglePriceChange(value: boolean): void;
|
|
16
11
|
private _updatePriceBlock;
|
|
17
12
|
_getSinglePrice(): string;
|
|
@@ -3,12 +3,10 @@ import { ImmutableHtmlNode } from '@stripoinc/ui-editor-extensions';
|
|
|
3
3
|
import { CommonControl } from '../../common-control';
|
|
4
4
|
export declare const CONTROL_BLOCK_ID = "ui-elements-items-block";
|
|
5
5
|
export declare class ItemsBlockControl extends CommonControl {
|
|
6
|
-
private store;
|
|
7
6
|
getId(): string;
|
|
8
7
|
getTemplate(): string;
|
|
9
8
|
onRender(): void;
|
|
10
9
|
onTemplateNodeUpdated(node: ImmutableHtmlNode): void;
|
|
11
|
-
onDestroy(): void;
|
|
12
10
|
_getItemsType(): string;
|
|
13
11
|
_getOrientation(): string;
|
|
14
12
|
_getItemInCart(): string;
|
|
@@ -18,7 +16,7 @@ export declare class ItemsBlockControl extends CommonControl {
|
|
|
18
16
|
_initializeSelectItems(): void;
|
|
19
17
|
_listenToFormUpdates(): void;
|
|
20
18
|
_renderTemplate(): void;
|
|
21
|
-
_getTemplateData(): {
|
|
19
|
+
_getTemplateData(itemsTypeOverride?: ProductType, itemIdOverride?: string): {
|
|
22
20
|
imageSrc: string;
|
|
23
21
|
name: string;
|
|
24
22
|
price: string;
|
|
@@ -26,15 +24,15 @@ export declare class ItemsBlockControl extends CommonControl {
|
|
|
26
24
|
quantity: string;
|
|
27
25
|
button: string;
|
|
28
26
|
};
|
|
29
|
-
_updateImageSrc(imageSrc: string): void;
|
|
30
|
-
_updateName(name: string): void;
|
|
31
|
-
_updatePrice(price: string): void;
|
|
32
|
-
_updateOriginalPrice(originalPrice: string): void;
|
|
33
|
-
_updateQuantity(quantity: string): void;
|
|
34
|
-
_reOrderTemplate(): void;
|
|
35
|
-
_updateDataTypeAttributes(itemsType: ProductType): void;
|
|
36
|
-
_updateDataNumberAttributes(itemId: string): void;
|
|
37
|
-
_reFillTemplate(): void;
|
|
27
|
+
_updateImageSrc(imageSrc: string, modifier: ReturnType<typeof this.api.getDocumentModifier>): void;
|
|
28
|
+
_updateName(name: string, modifier: ReturnType<typeof this.api.getDocumentModifier>): void;
|
|
29
|
+
_updatePrice(price: string, modifier: ReturnType<typeof this.api.getDocumentModifier>): void;
|
|
30
|
+
_updateOriginalPrice(originalPrice: string, modifier: ReturnType<typeof this.api.getDocumentModifier>): void;
|
|
31
|
+
_updateQuantity(quantity: string, itemsTypeOverride: ProductType | undefined, modifier: ReturnType<typeof this.api.getDocumentModifier>): void;
|
|
32
|
+
_reOrderTemplate(modifier?: ReturnType<typeof this.api.getDocumentModifier>): void;
|
|
33
|
+
_updateDataTypeAttributes(itemsType: ProductType, modifier: ReturnType<typeof this.api.getDocumentModifier>): void;
|
|
34
|
+
_updateDataNumberAttributes(itemId: string, modifier: ReturnType<typeof this.api.getDocumentModifier>): void;
|
|
35
|
+
_reFillTemplate(itemsType?: ProductType): void;
|
|
38
36
|
_recalculateTrimming(): void;
|
|
39
37
|
private _getParagraphFromBlock;
|
|
40
38
|
private _escapeRegex;
|
|
@@ -66,8 +66,9 @@ export declare function getItemsBlockConfig(currentNode: ImmutableHtmlNode | und
|
|
|
66
66
|
* @param currentNode - The current node from the control
|
|
67
67
|
* @param api - The API object (ControlApi or BlockApi)
|
|
68
68
|
* @param config - The configuration to set (partial update supported)
|
|
69
|
+
* @param modifier - Optional document modifier for batching updates
|
|
69
70
|
*/
|
|
70
|
-
export declare function setItemsBlockConfig(currentNode: ImmutableHtmlNode | undefined, api: ControlApi | BlockApi, config: Partial<ItemsBlockConfig>): void;
|
|
71
|
+
export declare function setItemsBlockConfig(currentNode: ImmutableHtmlNode | undefined, api: ControlApi | BlockApi, config: Partial<ItemsBlockConfig>, modifier?: ReturnType<typeof api.getDocumentModifier>): void;
|
|
71
72
|
/**
|
|
72
73
|
* Gets the block instance ID from the node config.
|
|
73
74
|
* @param currentNode - The current node from the control
|
|
@@ -66,14 +66,13 @@ export declare abstract class CommonControl extends Control {
|
|
|
66
66
|
*/
|
|
67
67
|
protected getBlockInstanceId(): string | null;
|
|
68
68
|
/**
|
|
69
|
-
* Handles block instance change detection and
|
|
70
|
-
* This is a helper method for controls that need to
|
|
69
|
+
* Handles block instance change detection and UI updates.
|
|
70
|
+
* This is a helper method for controls that need to update UI when switching between block instances.
|
|
71
71
|
* Uses Stripo V2 nodeConfig API for block instance tracking.
|
|
72
|
-
* @param
|
|
73
|
-
* @param updateUI - Function to call to update the UI (called both on change and when same block)
|
|
72
|
+
* @param updateUI - Function to call to update the UI (called on every update)
|
|
74
73
|
* @returns true if block instance changed, false otherwise
|
|
75
74
|
*/
|
|
76
|
-
protected handleBlockInstanceChange(
|
|
75
|
+
protected handleBlockInstanceChange(updateUI: () => void): boolean;
|
|
77
76
|
_GuLabel({ text, name }: LabelProps): string;
|
|
78
77
|
_GuToggle(name: string): string;
|
|
79
78
|
_GuSelectItem({ text, value }: {
|
|
@@ -46,6 +46,8 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
|
|
|
46
46
|
senderName: string;
|
|
47
47
|
subject: string;
|
|
48
48
|
};
|
|
49
|
+
savedModulesFolderName: string;
|
|
50
|
+
defaultModulesFolderName: string;
|
|
49
51
|
};
|
|
50
52
|
ui: {
|
|
51
53
|
showHeader: boolean;
|
|
@@ -141,6 +143,8 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
|
|
|
141
143
|
senderName: string;
|
|
142
144
|
subject: string;
|
|
143
145
|
};
|
|
146
|
+
savedModulesFolderName: string;
|
|
147
|
+
defaultModulesFolderName: string;
|
|
144
148
|
};
|
|
145
149
|
ui: {
|
|
146
150
|
showHeader: boolean;
|
|
@@ -236,6 +240,8 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
|
|
|
236
240
|
senderName: string;
|
|
237
241
|
subject: string;
|
|
238
242
|
};
|
|
243
|
+
savedModulesFolderName: string;
|
|
244
|
+
defaultModulesFolderName: string;
|
|
239
245
|
};
|
|
240
246
|
ui: {
|
|
241
247
|
showHeader: boolean;
|
|
@@ -331,6 +337,8 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
|
|
|
331
337
|
senderName: string;
|
|
332
338
|
subject: string;
|
|
333
339
|
};
|
|
340
|
+
savedModulesFolderName: string;
|
|
341
|
+
defaultModulesFolderName: string;
|
|
334
342
|
};
|
|
335
343
|
ui: {
|
|
336
344
|
showHeader: boolean;
|
|
@@ -426,6 +434,8 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
|
|
|
426
434
|
senderName: string;
|
|
427
435
|
subject: string;
|
|
428
436
|
};
|
|
437
|
+
savedModulesFolderName: string;
|
|
438
|
+
defaultModulesFolderName: string;
|
|
429
439
|
};
|
|
430
440
|
ui: {
|
|
431
441
|
showHeader: boolean;
|
|
@@ -521,6 +531,8 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
|
|
|
521
531
|
senderName: string;
|
|
522
532
|
subject: string;
|
|
523
533
|
};
|
|
534
|
+
savedModulesFolderName: string;
|
|
535
|
+
defaultModulesFolderName: string;
|
|
524
536
|
};
|
|
525
537
|
ui: {
|
|
526
538
|
showHeader: boolean;
|
|
@@ -616,6 +628,8 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
|
|
|
616
628
|
senderName: string;
|
|
617
629
|
subject: string;
|
|
618
630
|
};
|
|
631
|
+
savedModulesFolderName: string;
|
|
632
|
+
defaultModulesFolderName: string;
|
|
619
633
|
};
|
|
620
634
|
ui: {
|
|
621
635
|
showHeader: boolean;
|
|
@@ -711,6 +725,8 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
|
|
|
711
725
|
senderName: string;
|
|
712
726
|
subject: string;
|
|
713
727
|
};
|
|
728
|
+
savedModulesFolderName: string;
|
|
729
|
+
defaultModulesFolderName: string;
|
|
714
730
|
};
|
|
715
731
|
ui: {
|
|
716
732
|
showHeader: boolean;
|
|
@@ -806,6 +822,8 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
|
|
|
806
822
|
senderName: string;
|
|
807
823
|
subject: string;
|
|
808
824
|
};
|
|
825
|
+
savedModulesFolderName: string;
|
|
826
|
+
defaultModulesFolderName: string;
|
|
809
827
|
};
|
|
810
828
|
ui: {
|
|
811
829
|
showHeader: boolean;
|
|
@@ -901,6 +919,8 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
|
|
|
901
919
|
senderName: string;
|
|
902
920
|
subject: string;
|
|
903
921
|
};
|
|
922
|
+
savedModulesFolderName: string;
|
|
923
|
+
defaultModulesFolderName: string;
|
|
904
924
|
};
|
|
905
925
|
ui: {
|
|
906
926
|
showHeader: boolean;
|
|
@@ -996,6 +1016,8 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
|
|
|
996
1016
|
senderName: string;
|
|
997
1017
|
subject: string;
|
|
998
1018
|
};
|
|
1019
|
+
savedModulesFolderName: string;
|
|
1020
|
+
defaultModulesFolderName: string;
|
|
999
1021
|
};
|
|
1000
1022
|
ui: {
|
|
1001
1023
|
showHeader: boolean;
|
|
@@ -1091,6 +1113,8 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
|
|
|
1091
1113
|
senderName: string;
|
|
1092
1114
|
subject: string;
|
|
1093
1115
|
};
|
|
1116
|
+
savedModulesFolderName: string;
|
|
1117
|
+
defaultModulesFolderName: string;
|
|
1094
1118
|
};
|
|
1095
1119
|
ui: {
|
|
1096
1120
|
showHeader: boolean;
|
|
@@ -1186,6 +1210,8 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
|
|
|
1186
1210
|
senderName: string;
|
|
1187
1211
|
subject: string;
|
|
1188
1212
|
};
|
|
1213
|
+
savedModulesFolderName: string;
|
|
1214
|
+
defaultModulesFolderName: string;
|
|
1189
1215
|
};
|
|
1190
1216
|
ui: {
|
|
1191
1217
|
showHeader: boolean;
|
|
@@ -1281,6 +1307,8 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
|
|
|
1281
1307
|
senderName: string;
|
|
1282
1308
|
subject: string;
|
|
1283
1309
|
};
|
|
1310
|
+
savedModulesFolderName: string;
|
|
1311
|
+
defaultModulesFolderName: string;
|
|
1284
1312
|
};
|
|
1285
1313
|
ui: {
|
|
1286
1314
|
showHeader: boolean;
|
|
@@ -1376,6 +1404,8 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
|
|
|
1376
1404
|
senderName: string;
|
|
1377
1405
|
subject: string;
|
|
1378
1406
|
};
|
|
1407
|
+
savedModulesFolderName: string;
|
|
1408
|
+
defaultModulesFolderName: string;
|
|
1379
1409
|
};
|
|
1380
1410
|
ui: {
|
|
1381
1411
|
showHeader: boolean;
|
|
@@ -1471,6 +1501,8 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
|
|
|
1471
1501
|
senderName: string;
|
|
1472
1502
|
subject: string;
|
|
1473
1503
|
};
|
|
1504
|
+
savedModulesFolderName: string;
|
|
1505
|
+
defaultModulesFolderName: string;
|
|
1474
1506
|
};
|
|
1475
1507
|
ui: {
|
|
1476
1508
|
showHeader: boolean;
|
|
@@ -1566,6 +1598,8 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
|
|
|
1566
1598
|
senderName: string;
|
|
1567
1599
|
subject: string;
|
|
1568
1600
|
};
|
|
1601
|
+
savedModulesFolderName: string;
|
|
1602
|
+
defaultModulesFolderName: string;
|
|
1569
1603
|
};
|
|
1570
1604
|
ui: {
|
|
1571
1605
|
showHeader: boolean;
|
|
@@ -1661,6 +1695,8 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
|
|
|
1661
1695
|
senderName: string;
|
|
1662
1696
|
subject: string;
|
|
1663
1697
|
};
|
|
1698
|
+
savedModulesFolderName: string;
|
|
1699
|
+
defaultModulesFolderName: string;
|
|
1664
1700
|
};
|
|
1665
1701
|
ui: {
|
|
1666
1702
|
showHeader: boolean;
|
|
@@ -4,6 +4,7 @@ const n = `ue-notifications-container {
|
|
|
4
4
|
bottom: 32px;
|
|
5
5
|
top: unset;
|
|
6
6
|
width: unset;
|
|
7
|
+
position: fixed;
|
|
7
8
|
}
|
|
8
9
|
|
|
9
10
|
ue-notifications-container ue-message + ue-message {
|
|
@@ -16,6 +17,24 @@ ue-notifications-container .alert-message-wrapper {
|
|
|
16
17
|
padding: 16px 24px;
|
|
17
18
|
}
|
|
18
19
|
|
|
20
|
+
ue-notifications-container .alert-message-wrapper.info,
|
|
21
|
+
ue-notifications-container .alert-message-wrapper.loader {
|
|
22
|
+
background-color: var(--guido-color-background-toaster-info) !important;
|
|
23
|
+
color: inherit;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
.alert-message-wrapper .alert-message-main {
|
|
27
|
+
align-items: center;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
ue-notifications-container ue-caption .caption {
|
|
31
|
+
color: var(--guido-color-white) !important;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
ue-block-thumb-hint {
|
|
35
|
+
text-align: left;
|
|
36
|
+
}
|
|
37
|
+
|
|
19
38
|
ue-notifications-container .alert-message-wrapper .alert-message-main .alert-message-content {
|
|
20
39
|
width: calc(100% - 64px);
|
|
21
40
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const
|
|
1
|
+
const e = `ue-emoji .emoji-tabs .active-smile-tab {
|
|
2
2
|
border-color: var(--guido-color-primary-500);
|
|
3
3
|
}
|
|
4
4
|
|
|
@@ -17,7 +17,11 @@ ue-insert-table .template-cell {
|
|
|
17
17
|
border: 1px solid var(--guido-color-gray-300);
|
|
18
18
|
box-shadow: var(--guido-box-shadow);
|
|
19
19
|
}
|
|
20
|
+
|
|
21
|
+
.ue-popover.dark-tiny {
|
|
22
|
+
text-align: left !important;
|
|
23
|
+
}
|
|
20
24
|
`;
|
|
21
25
|
export {
|
|
22
|
-
|
|
26
|
+
e as default
|
|
23
27
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const
|
|
1
|
+
const n = `.patch-session-container {
|
|
2
2
|
row-gap: 16px;
|
|
3
3
|
}
|
|
4
4
|
|
|
@@ -24,7 +24,15 @@ ue-vh-patch.selected .patch-wrapper {
|
|
|
24
24
|
background-color: var(--guido-color-primary-100);
|
|
25
25
|
box-shadow: 0 0 0 1px var(--guido-color-primary-500);
|
|
26
26
|
}
|
|
27
|
+
|
|
28
|
+
.change-history-panel-wrapper .control-panel-header {
|
|
29
|
+
padding: 16px 0 16px 16px;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
.change-history-panel-wrapper .header-control-panel-label {
|
|
33
|
+
grid-area: 1 / 1 / 2 / 12;
|
|
34
|
+
}
|
|
27
35
|
`;
|
|
28
36
|
export {
|
|
29
|
-
|
|
37
|
+
n as default
|
|
30
38
|
};
|
|
@@ -60,7 +60,6 @@ ue-control-panel,
|
|
|
60
60
|
|
|
61
61
|
.control-panel-header {
|
|
62
62
|
grid-template-columns: repeat(12, 1fr);
|
|
63
|
-
padding: 16px 0px 16px 16px;
|
|
64
63
|
}
|
|
65
64
|
|
|
66
65
|
.control-panel-header > * {
|
|
@@ -94,7 +93,9 @@ ue-control-panel,
|
|
|
94
93
|
.container.droppable-header-container ue-button:last-child {
|
|
95
94
|
margin-right: 0;
|
|
96
95
|
}
|
|
97
|
-
|
|
96
|
+
.container.droppable-header-container {
|
|
97
|
+
margin-top: 13px;
|
|
98
|
+
}
|
|
98
99
|
.secondary-control-group {
|
|
99
100
|
gap: 16px;
|
|
100
101
|
}
|
|
@@ -133,6 +134,21 @@ ue-label.accent-dot:after {
|
|
|
133
134
|
font-size: 13px;
|
|
134
135
|
}
|
|
135
136
|
|
|
137
|
+
.e2e-container-video-size {
|
|
138
|
+
grid-template-columns: 1fr !important;
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
.e2e-container-video-size .control-shadow-wrapper:not(ue-button) {
|
|
142
|
+
display: flex;
|
|
143
|
+
width: 100%;
|
|
144
|
+
justify-content: flex-end;
|
|
145
|
+
background-color: transparent !important;
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
.e2e-container-video-size .control-shadow-wrapper input {
|
|
149
|
+
background-color: var(--guido-color-gray-0);
|
|
150
|
+
}
|
|
151
|
+
|
|
136
152
|
.e2e-size,
|
|
137
153
|
.e2e-timer-size {
|
|
138
154
|
grid-auto-flow: row;
|