@useinsider/guido 3.20.1 → 3.21.0-beta.0df5409
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/dist/components/Guido.vue.js +1 -1
- package/dist/components/Guido.vue2.js +65 -64
- package/dist/components/organisms/AutoSaveController.vue2.js +10 -9
- package/dist/components/organisms/header/EditorActions.vue.js +4 -4
- package/dist/components/organisms/header/EditorActions.vue2.js +53 -51
- package/dist/components/organisms/validation/ValidationErrorDrawer.vue.js +3 -3
- package/dist/components/organisms/validation/ValidationErrorDrawer.vue2.js +23 -22
- package/dist/composables/useActionsApi.js +80 -63
- package/dist/composables/useAutoSave.js +46 -44
- package/dist/composables/useGuidoStateBridge.js +3 -3
- package/dist/composables/useLegacyStrategyConversion.js +16 -16
- package/dist/composables/useSave.js +26 -23
- package/dist/composables/useSaveValidation.js +113 -114
- package/dist/composables/useSaveValidationRollout.js +17 -6
- package/dist/composables/useStripo.js +11 -10
- package/dist/extensions/Blocks/Items/block.js +43 -42
- package/dist/extensions/Blocks/Recommendation/block.js +33 -29
- package/dist/extensions/Blocks/Recommendation/controls/cardComposition/index.js +78 -83
- package/dist/extensions/Blocks/Recommendation/controls/customAttribute/textTrim.js +1 -2
- package/dist/extensions/Blocks/Recommendation/controls/main/algorithm.js +2 -12
- package/dist/extensions/Blocks/Recommendation/controls/main/currency.js +104 -86
- package/dist/extensions/Blocks/Recommendation/controls/main/index.js +348 -263
- package/dist/extensions/Blocks/Recommendation/controls/main/layoutOrientation.js +48 -50
- package/dist/extensions/Blocks/Recommendation/controls/main/locale.js +16 -21
- package/dist/extensions/Blocks/Recommendation/controls/main/pricePlacement.js +44 -40
- package/dist/extensions/Blocks/Recommendation/controls/main/productCount.js +14 -19
- package/dist/extensions/Blocks/Recommendation/controls/main/productLayout.js +104 -102
- package/dist/extensions/Blocks/Recommendation/controls/main/shuffle.js +18 -23
- package/dist/extensions/Blocks/Recommendation/controls/main/utils.js +312 -286
- package/dist/extensions/Blocks/Recommendation/controls/mobileLayout/cssRules.js +24 -20
- package/dist/extensions/Blocks/Recommendation/controls/name/textTrim.js +6 -7
- package/dist/extensions/Blocks/Recommendation/controls/shared/textTrimCssRules.js +8 -8
- package/dist/extensions/Blocks/Recommendation/controls/spacing/index.js +113 -151
- package/dist/extensions/Blocks/Recommendation/store/recommendation.js +221 -203
- package/dist/extensions/Blocks/Recommendation/utils/blockRefresh.js +28 -0
- package/dist/extensions/Blocks/Recommendation/utils/captureStyleTemplates.js +1 -1
- package/dist/extensions/Blocks/Recommendation/utils/currencySettings.js +25 -0
- package/dist/extensions/Blocks/Recommendation/utils/nodeConfigWriter.js +111 -40
- package/dist/extensions/Blocks/Recommendation/utils/strategyCommit.js +31 -35
- package/dist/extensions/Blocks/Unsubscribe/block.js +70 -75
- package/dist/guido.css +1 -1
- package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js +271 -192
- package/dist/package.json.js +1 -1
- package/dist/services/settingsApi.js +11 -0
- package/dist/src/components/Guido.vue.d.ts +1 -1
- package/dist/src/components/organisms/header/EditorActions.vue.d.ts +1 -1
- package/dist/src/components/organisms/header/HeaderWrapper.vue.d.ts +1 -1
- package/dist/src/components/organisms/header/RightSlot.vue.d.ts +1 -1
- package/dist/src/composables/useActionsApi.d.ts +5 -1
- package/dist/src/composables/useAutoSave.d.ts +4 -1
- package/dist/src/composables/useSaveValidationRollout.d.ts +1 -0
- package/dist/src/extensions/Blocks/Checkbox/controls/blockBackground/index.d.ts +1 -0
- package/dist/src/extensions/Blocks/CouponBlock/controls/index.d.ts +8 -0
- package/dist/src/extensions/Blocks/Items/controls/index.d.ts +40 -0
- package/dist/src/extensions/Blocks/RadioButton/controls/blockBackground/index.d.ts +1 -0
- package/dist/src/extensions/Blocks/Recommendation/block.d.ts +1 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/blockBackground/index.d.ts +1 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/button/index.d.ts +11 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/cardComposition/index.d.ts +3 -6
- package/dist/src/extensions/Blocks/Recommendation/controls/customAttribute/index.d.ts +7 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/image/index.d.ts +2 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/main/currency.d.ts +5 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/main/index.d.ts +21 -12
- package/dist/src/extensions/Blocks/Recommendation/controls/main/layoutOrientation.d.ts +6 -3
- package/dist/src/extensions/Blocks/Recommendation/controls/main/pricePlacement.d.ts +6 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/main/productLayout.d.ts +6 -3
- package/dist/src/extensions/Blocks/Recommendation/controls/main/utils.d.ts +21 -9
- package/dist/src/extensions/Blocks/Recommendation/controls/mobileLayout/cssRules.d.ts +19 -13
- package/dist/src/extensions/Blocks/Recommendation/controls/name/index.d.ts +7 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/index.d.ts +7 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/omnibusDiscount/index.d.ts +7 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/omnibusPrice/index.d.ts +7 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/price/index.d.ts +7 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/shared/textTrimCssRules.d.ts +10 -8
- package/dist/src/extensions/Blocks/Recommendation/controls/spacing/index.d.ts +9 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/title/index.d.ts +7 -0
- package/dist/src/extensions/Blocks/Recommendation/store/recommendation.d.ts +9 -1
- package/dist/src/extensions/Blocks/Recommendation/utils/blockRefresh.d.ts +17 -0
- package/dist/src/extensions/Blocks/Recommendation/utils/currencySettings.d.ts +6 -0
- package/dist/src/extensions/Blocks/Recommendation/utils/nodeConfigWriter.d.ts +18 -11
- package/dist/src/extensions/Blocks/Unsubscribe/block.d.ts +1 -6
- package/dist/src/extensions/Blocks/_Boilerplate/controls/blockBackground/index.d.ts +1 -0
- package/dist/src/extensions/Blocks/controlFactories.d.ts +22 -0
- package/dist/src/services/settingsApi.d.ts +6 -0
- package/dist/src/stores/editor.d.ts +3 -1
- package/dist/src/stores/setup-settings.d.ts +4 -0
- package/dist/static/styles/components/button.css.js +5 -0
- package/dist/stores/editor.js +5 -0
- package/dist/stores/setup-settings.js +10 -0
- package/package.json +4 -4
|
@@ -18,6 +18,7 @@ export declare const PriceControls: {
|
|
|
18
18
|
getModificationDescription(): import("@stripoinc/ui-editor-extensions").ModificationDescription | undefined;
|
|
19
19
|
getAdditionalModifications(_root: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").TemplateModifier<import("@stripoinc/ui-editor-extensions").HtmlNodeModifier, import("@stripoinc/ui-editor-extensions").CssNodeModifier> | undefined;
|
|
20
20
|
isVisible(_node: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): boolean;
|
|
21
|
+
getElementLockCategory(): import("@stripoinc/ui-editor-extensions").ElementLockCategory | undefined;
|
|
21
22
|
};
|
|
22
23
|
};
|
|
23
24
|
readonly color: {
|
|
@@ -30,6 +31,7 @@ export declare const PriceControls: {
|
|
|
30
31
|
getModificationDescription(): import("@stripoinc/ui-editor-extensions").ModificationDescription | undefined;
|
|
31
32
|
getAdditionalModifications(_root: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").TemplateModifier<import("@stripoinc/ui-editor-extensions").HtmlNodeModifier, import("@stripoinc/ui-editor-extensions").CssNodeModifier> | undefined;
|
|
32
33
|
isVisible(_node: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): boolean;
|
|
34
|
+
getElementLockCategory(): import("@stripoinc/ui-editor-extensions").ElementLockCategory | undefined;
|
|
33
35
|
};
|
|
34
36
|
};
|
|
35
37
|
readonly size: {
|
|
@@ -42,6 +44,7 @@ export declare const PriceControls: {
|
|
|
42
44
|
getModificationDescription(): import("@stripoinc/ui-editor-extensions").ModificationDescription | undefined;
|
|
43
45
|
getAdditionalModifications(_root: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").TemplateModifier<import("@stripoinc/ui-editor-extensions").HtmlNodeModifier, import("@stripoinc/ui-editor-extensions").CssNodeModifier> | undefined;
|
|
44
46
|
isVisible(_node: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): boolean;
|
|
47
|
+
getElementLockCategory(): import("@stripoinc/ui-editor-extensions").ElementLockCategory | undefined;
|
|
45
48
|
};
|
|
46
49
|
};
|
|
47
50
|
readonly style: {
|
|
@@ -54,6 +57,7 @@ export declare const PriceControls: {
|
|
|
54
57
|
getModificationDescription(): import("@stripoinc/ui-editor-extensions").ModificationDescription | undefined;
|
|
55
58
|
getAdditionalModifications(_root: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").TemplateModifier<import("@stripoinc/ui-editor-extensions").HtmlNodeModifier, import("@stripoinc/ui-editor-extensions").CssNodeModifier> | undefined;
|
|
56
59
|
isVisible(_node: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): boolean;
|
|
60
|
+
getElementLockCategory(): import("@stripoinc/ui-editor-extensions").ElementLockCategory | undefined;
|
|
57
61
|
};
|
|
58
62
|
};
|
|
59
63
|
readonly fontFamily: {
|
|
@@ -66,6 +70,7 @@ export declare const PriceControls: {
|
|
|
66
70
|
getModificationDescription(): import("@stripoinc/ui-editor-extensions").ModificationDescription | undefined;
|
|
67
71
|
getAdditionalModifications(_root: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").TemplateModifier<import("@stripoinc/ui-editor-extensions").HtmlNodeModifier, import("@stripoinc/ui-editor-extensions").CssNodeModifier> | undefined;
|
|
68
72
|
isVisible(_node: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): boolean;
|
|
73
|
+
getElementLockCategory(): import("@stripoinc/ui-editor-extensions").ElementLockCategory | undefined;
|
|
69
74
|
};
|
|
70
75
|
};
|
|
71
76
|
readonly background: {
|
|
@@ -78,6 +83,7 @@ export declare const PriceControls: {
|
|
|
78
83
|
getLabels(): import("@stripoinc/ui-editor-extensions").ControlLabels | undefined;
|
|
79
84
|
getModificationDescription(): import("@stripoinc/ui-editor-extensions").ModificationDescription | undefined;
|
|
80
85
|
isVisible(_node: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): boolean;
|
|
86
|
+
getElementLockCategory(): import("@stripoinc/ui-editor-extensions").ElementLockCategory | undefined;
|
|
81
87
|
};
|
|
82
88
|
};
|
|
83
89
|
readonly paddings: {
|
|
@@ -90,6 +96,7 @@ export declare const PriceControls: {
|
|
|
90
96
|
getModificationDescription(): import("@stripoinc/ui-editor-extensions").ModificationDescription | undefined;
|
|
91
97
|
getAdditionalModifications(_root: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").TemplateModifier<import("@stripoinc/ui-editor-extensions").HtmlNodeModifier, import("@stripoinc/ui-editor-extensions").CssNodeModifier> | undefined;
|
|
92
98
|
isVisible(_node: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): boolean;
|
|
99
|
+
getElementLockCategory(): import("@stripoinc/ui-editor-extensions").ElementLockCategory | undefined;
|
|
93
100
|
};
|
|
94
101
|
};
|
|
95
102
|
};
|
|
@@ -11,19 +11,21 @@
|
|
|
11
11
|
import type { ImmutableCssNode } from '@stripoinc/ui-editor-extensions';
|
|
12
12
|
import { ModificationDescription } from '@stripoinc/ui-editor-extensions';
|
|
13
13
|
export declare const CSS_CLASS_TEXT_TRIM = "text-trim-enabled";
|
|
14
|
+
interface CssModifier {
|
|
15
|
+
modifyCss: (node: ImmutableCssNode) => {
|
|
16
|
+
appendRule: (rule: string) => void;
|
|
17
|
+
};
|
|
18
|
+
apply: (desc: ModificationDescription) => void;
|
|
19
|
+
}
|
|
14
20
|
interface CssCapableApi {
|
|
15
21
|
getDocumentRootCssNode: () => ImmutableCssNode | null;
|
|
16
|
-
getDocumentModifier: () =>
|
|
17
|
-
modifyCss: (node: ImmutableCssNode) => {
|
|
18
|
-
appendRule: (rule: string) => void;
|
|
19
|
-
};
|
|
20
|
-
apply: (desc: ModificationDescription) => void;
|
|
21
|
-
};
|
|
22
|
+
getDocumentModifier: () => CssModifier;
|
|
22
23
|
}
|
|
23
24
|
/**
|
|
24
25
|
* Ensures the text-trim CSS rules exist in the document stylesheet.
|
|
25
26
|
* Only adds rules if they don't already exist (prevents duplicates across blocks).
|
|
26
|
-
*
|
|
27
|
+
* @param batch - stage into this modifier and let the caller apply it (one undo entry)
|
|
28
|
+
* @returns whether any rule was staged
|
|
27
29
|
*/
|
|
28
|
-
export declare function ensureTextTrimCssRulesExist(api: CssCapableApi):
|
|
30
|
+
export declare function ensureTextTrimCssRulesExist(api: CssCapableApi, batch?: CssModifier): boolean;
|
|
29
31
|
export {};
|
|
@@ -12,8 +12,9 @@
|
|
|
12
12
|
* Configuration is stored via node config (persists with template).
|
|
13
13
|
* Actual spacing is applied to DOM elements via inline styles.
|
|
14
14
|
*/
|
|
15
|
-
import {
|
|
15
|
+
import type { CssNodeModifier, HtmlNodeModifier, ImmutableHtmlNode, TemplateModifier } from '@stripoinc/ui-editor-extensions';
|
|
16
16
|
import { CommonControl } from '../../../common-control';
|
|
17
|
+
type DocumentModifier = TemplateModifier<HtmlNodeModifier, CssNodeModifier>;
|
|
17
18
|
export declare const SPACING_CONTROL_ID = "recommendation-spacing-control";
|
|
18
19
|
/**
|
|
19
20
|
* Control for managing spacing between product cards
|
|
@@ -81,10 +82,12 @@ export declare class SpacingControl extends CommonControl {
|
|
|
81
82
|
* Applies height only to spacer elements in the mobile container.
|
|
82
83
|
*/
|
|
83
84
|
_onMobileRowSpacingChange(spacing: number): void;
|
|
84
|
-
/**
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
85
|
+
/** Horizontal padding on every card cell inside the container the selector finds. */
|
|
86
|
+
_stageColumnPadding(modifier: DocumentModifier, containerSelector: string, spacing: number): void;
|
|
87
|
+
/** Height on every spacer row inside the container the selector finds. */
|
|
88
|
+
_stageSpacerHeight(modifier: DocumentModifier, containerSelector: string, spacing: number): void;
|
|
89
|
+
/** Mirrors a spacing value onto the block root as a data attribute (regeneration reads it back). */
|
|
90
|
+
_stageDataAttribute(modifier: DocumentModifier, attr: string, spacing: number): void;
|
|
88
91
|
_listenToFormUpdates(): void;
|
|
89
92
|
/**
|
|
90
93
|
* Debounced version of _onColumnSpacingChange
|
|
@@ -109,3 +112,4 @@ export declare class SpacingControl extends CommonControl {
|
|
|
109
112
|
*/
|
|
110
113
|
_subscribeToOrientationChanges(): void;
|
|
111
114
|
}
|
|
115
|
+
export {};
|
|
@@ -9,6 +9,7 @@ export declare const TitleControls: {
|
|
|
9
9
|
getModificationDescription(): import("@stripoinc/ui-editor-extensions").ModificationDescription | undefined;
|
|
10
10
|
getAdditionalModifications(_root: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").TemplateModifier<import("@stripoinc/ui-editor-extensions").HtmlNodeModifier, import("@stripoinc/ui-editor-extensions").CssNodeModifier> | undefined;
|
|
11
11
|
isVisible(_node: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): boolean;
|
|
12
|
+
getElementLockCategory(): import("@stripoinc/ui-editor-extensions").ElementLockCategory | undefined;
|
|
12
13
|
};
|
|
13
14
|
};
|
|
14
15
|
readonly color: {
|
|
@@ -21,6 +22,7 @@ export declare const TitleControls: {
|
|
|
21
22
|
getModificationDescription(): import("@stripoinc/ui-editor-extensions").ModificationDescription | undefined;
|
|
22
23
|
getAdditionalModifications(_root: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").TemplateModifier<import("@stripoinc/ui-editor-extensions").HtmlNodeModifier, import("@stripoinc/ui-editor-extensions").CssNodeModifier> | undefined;
|
|
23
24
|
isVisible(_node: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): boolean;
|
|
25
|
+
getElementLockCategory(): import("@stripoinc/ui-editor-extensions").ElementLockCategory | undefined;
|
|
24
26
|
};
|
|
25
27
|
};
|
|
26
28
|
readonly size: {
|
|
@@ -33,6 +35,7 @@ export declare const TitleControls: {
|
|
|
33
35
|
getModificationDescription(): import("@stripoinc/ui-editor-extensions").ModificationDescription | undefined;
|
|
34
36
|
getAdditionalModifications(_root: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").TemplateModifier<import("@stripoinc/ui-editor-extensions").HtmlNodeModifier, import("@stripoinc/ui-editor-extensions").CssNodeModifier> | undefined;
|
|
35
37
|
isVisible(_node: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): boolean;
|
|
38
|
+
getElementLockCategory(): import("@stripoinc/ui-editor-extensions").ElementLockCategory | undefined;
|
|
36
39
|
};
|
|
37
40
|
};
|
|
38
41
|
readonly style: {
|
|
@@ -45,6 +48,7 @@ export declare const TitleControls: {
|
|
|
45
48
|
getModificationDescription(): import("@stripoinc/ui-editor-extensions").ModificationDescription | undefined;
|
|
46
49
|
getAdditionalModifications(_root: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").TemplateModifier<import("@stripoinc/ui-editor-extensions").HtmlNodeModifier, import("@stripoinc/ui-editor-extensions").CssNodeModifier> | undefined;
|
|
47
50
|
isVisible(_node: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): boolean;
|
|
51
|
+
getElementLockCategory(): import("@stripoinc/ui-editor-extensions").ElementLockCategory | undefined;
|
|
48
52
|
};
|
|
49
53
|
};
|
|
50
54
|
readonly fontFamily: {
|
|
@@ -57,6 +61,7 @@ export declare const TitleControls: {
|
|
|
57
61
|
getModificationDescription(): import("@stripoinc/ui-editor-extensions").ModificationDescription | undefined;
|
|
58
62
|
getAdditionalModifications(_root: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").TemplateModifier<import("@stripoinc/ui-editor-extensions").HtmlNodeModifier, import("@stripoinc/ui-editor-extensions").CssNodeModifier> | undefined;
|
|
59
63
|
isVisible(_node: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): boolean;
|
|
64
|
+
getElementLockCategory(): import("@stripoinc/ui-editor-extensions").ElementLockCategory | undefined;
|
|
60
65
|
};
|
|
61
66
|
};
|
|
62
67
|
readonly background: {
|
|
@@ -69,6 +74,7 @@ export declare const TitleControls: {
|
|
|
69
74
|
getLabels(): import("@stripoinc/ui-editor-extensions").ControlLabels | undefined;
|
|
70
75
|
getModificationDescription(): import("@stripoinc/ui-editor-extensions").ModificationDescription | undefined;
|
|
71
76
|
isVisible(_node: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): boolean;
|
|
77
|
+
getElementLockCategory(): import("@stripoinc/ui-editor-extensions").ElementLockCategory | undefined;
|
|
72
78
|
};
|
|
73
79
|
};
|
|
74
80
|
readonly paddings: {
|
|
@@ -81,6 +87,7 @@ export declare const TitleControls: {
|
|
|
81
87
|
getModificationDescription(): import("@stripoinc/ui-editor-extensions").ModificationDescription | undefined;
|
|
82
88
|
getAdditionalModifications(_root: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").TemplateModifier<import("@stripoinc/ui-editor-extensions").HtmlNodeModifier, import("@stripoinc/ui-editor-extensions").CssNodeModifier> | undefined;
|
|
83
89
|
isVisible(_node: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): boolean;
|
|
90
|
+
getElementLockCategory(): import("@stripoinc/ui-editor-extensions").ElementLockCategory | undefined;
|
|
84
91
|
};
|
|
85
92
|
};
|
|
86
93
|
};
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { Orientation, Languages, Currency, NumericSeparator, FiltersResponse, Filter, RecommendationCampaignUrlValue, RecommendationProduct, RrsMigrationPayload, RrsMigrationTarget, RrsStrategy } from '@@/Types/recommendation';
|
|
2
|
+
export declare const disposeStrategyPageReturnListeners: () => void;
|
|
2
3
|
export interface PerBlockConfigs {
|
|
3
4
|
cardsInRow: number;
|
|
4
5
|
currencySettings: {
|
|
@@ -54,6 +55,8 @@ interface PerBlockState {
|
|
|
54
55
|
*/
|
|
55
56
|
syncedConfigFingerprint: string | null;
|
|
56
57
|
legacyConversionLoading: boolean;
|
|
58
|
+
configVersion: number;
|
|
59
|
+
adoptedSizeVersion: number;
|
|
57
60
|
}
|
|
58
61
|
/**
|
|
59
62
|
* Persisted-config subset used by `seedBlockUrlConfig` to reconstruct
|
|
@@ -618,7 +621,12 @@ export declare const useRecommendationExtensionStore: import("pinia").StoreDefin
|
|
|
618
621
|
*/
|
|
619
622
|
invalidBlockFields(): string[];
|
|
620
623
|
fetchRecommendationProducts(): Promise<void>;
|
|
621
|
-
|
|
624
|
+
/**
|
|
625
|
+
* Fetches one block's products whether or not it is selected: the panel teardown and the
|
|
626
|
+
* strategy drawer refresh the block they were handed after the user may have moved on.
|
|
627
|
+
*/
|
|
628
|
+
fetchRecommendationProductsForBlock(blockId: number): Promise<void>;
|
|
629
|
+
_doFetchProducts(targetBlockId?: number): Promise<void>;
|
|
622
630
|
/**
|
|
623
631
|
* Block-scoped counterpart of `fetchRecommendationProducts`, which only serves the selected block:
|
|
624
632
|
* the legacy conversion and the duplicate refresh must reach a block that may no longer be selected.
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { PerBlockConfigs } from '../store/recommendation';
|
|
2
|
+
import type { PartialNodeConfig } from '../types/nodeConfig';
|
|
3
|
+
interface BlockRefreshOptions {
|
|
4
|
+
pickUpdates: (configs: PerBlockConfigs) => PartialNodeConfig;
|
|
5
|
+
description: string;
|
|
6
|
+
fetch?: boolean;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Fetches one block's products and commits them with its config straight to the document, for
|
|
10
|
+
* callers the settings panel can no longer serve (deselect, block switch, host-rendered strategy UI).
|
|
11
|
+
* @param options.pickUpdates - the config keys this caller owns on the node
|
|
12
|
+
* @param options.description - labels the undo entry
|
|
13
|
+
* @param options.fetch - false when the block's products already landed and only need rendering
|
|
14
|
+
* @returns whether the write reached a node
|
|
15
|
+
*/
|
|
16
|
+
export declare function refreshBlockOutsidePanel(blockId: number, { pickUpdates, description, fetch }: BlockRefreshOptions): Promise<boolean>;
|
|
17
|
+
export {};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { PerBlockConfigs } from '../store/recommendation';
|
|
2
|
+
import type { CurrencyConfig } from '../types/nodeConfig';
|
|
3
|
+
export type CurrencySettings = PerBlockConfigs['currencySettings'];
|
|
4
|
+
/** The store mirror of a node currency: alignment is '0' | '1' and decimalCount a string. */
|
|
5
|
+
export declare function toCurrencySettings(currency: CurrencyConfig): CurrencySettings;
|
|
6
|
+
export declare function toCurrencyConfig(settings: CurrencySettings): CurrencyConfig;
|
|
@@ -6,6 +6,8 @@ interface ConfigWriterApi {
|
|
|
6
6
|
getDocumentModifier: () => DocumentModifier;
|
|
7
7
|
getDocumentRootHtmlNode: () => ImmutableHtmlNode;
|
|
8
8
|
}
|
|
9
|
+
export declare const UPDATE_FILTERS_DESCRIPTION = "Update recommendation filters";
|
|
10
|
+
export type OutsidePanelWriteResult = 'applied' | 'unchanged' | 'missing';
|
|
9
11
|
/**
|
|
10
12
|
* Keeps a document handle alive for writes the settings panel can no longer make.
|
|
11
13
|
* Deliberately not cleared on deselect — that is the exact moment the handle is
|
|
@@ -13,20 +15,25 @@ interface ConfigWriterApi {
|
|
|
13
15
|
* itself is torn down.
|
|
14
16
|
*/
|
|
15
17
|
export declare function registerNodeConfigWriter(api: ConfigWriterApi): void;
|
|
18
|
+
/** Registers a config write still waiting for its product fetch; the flush reports whether it applied a patch. */
|
|
19
|
+
export declare function registerPendingConfigFlush(flush: () => boolean): () => void;
|
|
20
|
+
/** Lands every deferred config write before the document is read (save, export, autosave); returns the patches applied. */
|
|
21
|
+
export declare function flushPendingNodeConfigWrites(): number;
|
|
22
|
+
export declare function describeConfigChange(nodeConfig: RecommendationNodeConfig, updates: PartialNodeConfig): string | null;
|
|
23
|
+
export declare function hasEditedConfigChange(node: ImmutableHtmlNode, updates: PartialNodeConfig): boolean;
|
|
24
|
+
/** Stages the config and the compiler-read currency attributes that must follow it, without applying. */
|
|
25
|
+
export declare function stageConfigChange(documentModifier: DocumentModifier, node: ImmutableHtmlNode, updates: PartialNodeConfig): void;
|
|
26
|
+
/**
|
|
27
|
+
* Writes a config change to the block's node on its own, found by id — never through a
|
|
28
|
+
* panel-held node, which may already belong to the block the user switched to.
|
|
29
|
+
* @param description - overrides the label derived from the keys that move
|
|
30
|
+
*/
|
|
31
|
+
export declare function writeBlockConfigOutsidePanel(blockId: number, updates: PartialNodeConfig, description?: string): OutsidePanelWriteResult;
|
|
16
32
|
/** Reads the persisted config of every node carrying a block id (two while a duplicate still shares it). */
|
|
17
33
|
export declare function readBlockNodeConfigs(blockId: number): RecommendationNodeConfig[];
|
|
18
34
|
/**
|
|
19
|
-
* Commits a config change and its
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
* Host-rendered UI (the remove-strategy modal) lives outside `ui-editor`, and
|
|
23
|
-
* Stripo deselects the block on the first click that lands there — destroying the
|
|
24
|
-
* control that normally does both, before the store change even happens.
|
|
25
|
-
*
|
|
26
|
-
* Mirrors the control's regenerate routine so config and cards land in ONE undo
|
|
27
|
-
* entry, and so partner-managed blocks keep their hand-authored cells.
|
|
28
|
-
* @param description - labels the undo entry only when there are no cards to
|
|
29
|
-
* re-render; the product helpers label their own batch.
|
|
35
|
+
* Commits a config change and its cards to the document in ONE apply, bypassing the settings panel
|
|
36
|
+
* (host-rendered UI deselects the block first): one Undo reverts both and Version History previews the cards.
|
|
30
37
|
* @returns whether the write reached a node
|
|
31
38
|
*/
|
|
32
39
|
export declare function commitBlockChangeOutsidePanel(blockId: number, updates: PartialNodeConfig, products: RecommendationProduct[], description: string): boolean;
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import type { ImmutableHtmlElementNode, ImmutableHtmlNode } from '@stripoinc/ui-editor-extensions';
|
|
2
2
|
import { Block, BlockCompositionType } from '@stripoinc/ui-editor-extensions';
|
|
3
3
|
export declare const UNSUBSCRIBE_BLOCK_ID = "unsubscribe-block";
|
|
4
|
+
export declare const disposeUnsubscribeListeners: () => void;
|
|
4
5
|
export declare class UnsubscribeBlock extends Block {
|
|
5
|
-
private selectEventListener;
|
|
6
|
-
private cancelEventListener;
|
|
7
6
|
private currentNode?;
|
|
8
7
|
private linkStateByBlockId;
|
|
9
8
|
private guardAttemptsByBlockId;
|
|
@@ -20,7 +19,6 @@ export declare class UnsubscribeBlock extends Block {
|
|
|
20
19
|
onDocumentInit(): void;
|
|
21
20
|
onDocumentChanged(node: ImmutableHtmlNode): void;
|
|
22
21
|
onDelete(node: ImmutableHtmlElementNode): void;
|
|
23
|
-
onDestroy(): void;
|
|
24
22
|
/**
|
|
25
23
|
* Guarantees a plain-text node before the link's wrapper inside the <p>.
|
|
26
24
|
* Without it the only caret position left of the link is inside the anchor,
|
|
@@ -44,11 +42,8 @@ export declare class UnsubscribeBlock extends Block {
|
|
|
44
42
|
private _generateNextBlockId;
|
|
45
43
|
private _warnLinkRemoved;
|
|
46
44
|
private _setupSelectEventListener;
|
|
47
|
-
private _removeSelectEventListener;
|
|
48
45
|
private _setupCancelEventListener;
|
|
49
|
-
private _removeCancelEventListener;
|
|
50
46
|
private _handleCancel;
|
|
51
|
-
private _removeEventListeners;
|
|
52
47
|
private _updateBlock;
|
|
53
48
|
private _getMergeTag;
|
|
54
49
|
private _openDrawer;
|
|
@@ -10,5 +10,6 @@ export declare const BlockBackgroundControl: {
|
|
|
10
10
|
api: import("@stripoinc/ui-editor-extensions").ControlApi;
|
|
11
11
|
getModificationDescription(): import("@stripoinc/ui-editor-extensions").ModificationDescription | undefined;
|
|
12
12
|
isVisible(_node: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): boolean;
|
|
13
|
+
getElementLockCategory(): import("@stripoinc/ui-editor-extensions").ElementLockCategory | undefined;
|
|
13
14
|
};
|
|
14
15
|
};
|
|
@@ -24,6 +24,7 @@ export declare function createTextAlignControl(controlId: string, targetBlockId?
|
|
|
24
24
|
getModificationDescription(): import("@stripoinc/ui-editor-extensions").ModificationDescription | undefined;
|
|
25
25
|
getAdditionalModifications(_root: ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").TemplateModifier<import("@stripoinc/ui-editor-extensions").HtmlNodeModifier, import("@stripoinc/ui-editor-extensions").CssNodeModifier> | undefined;
|
|
26
26
|
isVisible(_node: ImmutableHtmlNode): boolean;
|
|
27
|
+
getElementLockCategory(): import("@stripoinc/ui-editor-extensions").ElementLockCategory | undefined;
|
|
27
28
|
};
|
|
28
29
|
};
|
|
29
30
|
/**
|
|
@@ -40,6 +41,7 @@ export declare function createTextColorControl(controlId: string, targetBlockId?
|
|
|
40
41
|
getModificationDescription(): import("@stripoinc/ui-editor-extensions").ModificationDescription | undefined;
|
|
41
42
|
getAdditionalModifications(_root: ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").TemplateModifier<import("@stripoinc/ui-editor-extensions").HtmlNodeModifier, import("@stripoinc/ui-editor-extensions").CssNodeModifier> | undefined;
|
|
42
43
|
isVisible(_node: ImmutableHtmlNode): boolean;
|
|
44
|
+
getElementLockCategory(): import("@stripoinc/ui-editor-extensions").ElementLockCategory | undefined;
|
|
43
45
|
};
|
|
44
46
|
};
|
|
45
47
|
/**
|
|
@@ -56,6 +58,7 @@ export declare function createTextSizeControl(controlId: string, targetBlockId?:
|
|
|
56
58
|
getModificationDescription(): import("@stripoinc/ui-editor-extensions").ModificationDescription | undefined;
|
|
57
59
|
getAdditionalModifications(_root: ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").TemplateModifier<import("@stripoinc/ui-editor-extensions").HtmlNodeModifier, import("@stripoinc/ui-editor-extensions").CssNodeModifier> | undefined;
|
|
58
60
|
isVisible(_node: ImmutableHtmlNode): boolean;
|
|
61
|
+
getElementLockCategory(): import("@stripoinc/ui-editor-extensions").ElementLockCategory | undefined;
|
|
59
62
|
};
|
|
60
63
|
};
|
|
61
64
|
/**
|
|
@@ -72,6 +75,7 @@ export declare function createTextStyleControl(controlId: string, targetBlockId?
|
|
|
72
75
|
getModificationDescription(): import("@stripoinc/ui-editor-extensions").ModificationDescription | undefined;
|
|
73
76
|
getAdditionalModifications(_root: ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").TemplateModifier<import("@stripoinc/ui-editor-extensions").HtmlNodeModifier, import("@stripoinc/ui-editor-extensions").CssNodeModifier> | undefined;
|
|
74
77
|
isVisible(_node: ImmutableHtmlNode): boolean;
|
|
78
|
+
getElementLockCategory(): import("@stripoinc/ui-editor-extensions").ElementLockCategory | undefined;
|
|
75
79
|
};
|
|
76
80
|
};
|
|
77
81
|
/**
|
|
@@ -88,6 +92,7 @@ export declare function createTextFontFamilyControl(controlId: string, targetBlo
|
|
|
88
92
|
getModificationDescription(): import("@stripoinc/ui-editor-extensions").ModificationDescription | undefined;
|
|
89
93
|
getAdditionalModifications(_root: ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").TemplateModifier<import("@stripoinc/ui-editor-extensions").HtmlNodeModifier, import("@stripoinc/ui-editor-extensions").CssNodeModifier> | undefined;
|
|
90
94
|
isVisible(_node: ImmutableHtmlNode): boolean;
|
|
95
|
+
getElementLockCategory(): import("@stripoinc/ui-editor-extensions").ElementLockCategory | undefined;
|
|
91
96
|
};
|
|
92
97
|
};
|
|
93
98
|
/**
|
|
@@ -113,6 +118,7 @@ export declare function createTextBackgroundColorControl(controlId: string, targ
|
|
|
113
118
|
getLabels(): import("@stripoinc/ui-editor-extensions").ControlLabels | undefined;
|
|
114
119
|
getModificationDescription(): import("@stripoinc/ui-editor-extensions").ModificationDescription | undefined;
|
|
115
120
|
isVisible(_node: ImmutableHtmlNode): boolean;
|
|
121
|
+
getElementLockCategory(): import("@stripoinc/ui-editor-extensions").ElementLockCategory | undefined;
|
|
116
122
|
};
|
|
117
123
|
};
|
|
118
124
|
/**
|
|
@@ -149,6 +155,7 @@ export declare function createBlockBackgroundColorControl(controlId: string, blo
|
|
|
149
155
|
api: import("@stripoinc/ui-editor-extensions").ControlApi;
|
|
150
156
|
getModificationDescription(): import("@stripoinc/ui-editor-extensions").ModificationDescription | undefined;
|
|
151
157
|
isVisible(_node: ImmutableHtmlNode): boolean;
|
|
158
|
+
getElementLockCategory(): import("@stripoinc/ui-editor-extensions").ElementLockCategory | undefined;
|
|
152
159
|
};
|
|
153
160
|
};
|
|
154
161
|
/**
|
|
@@ -165,6 +172,7 @@ export declare function createPaddingsControl(controlId: string, targetBlockId?:
|
|
|
165
172
|
getModificationDescription(): import("@stripoinc/ui-editor-extensions").ModificationDescription | undefined;
|
|
166
173
|
getAdditionalModifications(_root: ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").TemplateModifier<import("@stripoinc/ui-editor-extensions").HtmlNodeModifier, import("@stripoinc/ui-editor-extensions").CssNodeModifier> | undefined;
|
|
167
174
|
isVisible(_node: ImmutableHtmlNode): boolean;
|
|
175
|
+
getElementLockCategory(): import("@stripoinc/ui-editor-extensions").ElementLockCategory | undefined;
|
|
168
176
|
};
|
|
169
177
|
};
|
|
170
178
|
/**
|
|
@@ -181,6 +189,7 @@ export declare function createTextLineSpacingControl(controlId: string, targetBl
|
|
|
181
189
|
getModificationDescription(): import("@stripoinc/ui-editor-extensions").ModificationDescription | undefined;
|
|
182
190
|
getAdditionalModifications(_root: ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").TemplateModifier<import("@stripoinc/ui-editor-extensions").HtmlNodeModifier, import("@stripoinc/ui-editor-extensions").CssNodeModifier> | undefined;
|
|
183
191
|
isVisible(_node: ImmutableHtmlNode): boolean;
|
|
192
|
+
getElementLockCategory(): import("@stripoinc/ui-editor-extensions").ElementLockCategory | undefined;
|
|
184
193
|
};
|
|
185
194
|
};
|
|
186
195
|
/**
|
|
@@ -196,6 +205,7 @@ export declare function createButtonAlignControl(controlId: string, targetBlockI
|
|
|
196
205
|
getModificationDescription(): import("@stripoinc/ui-editor-extensions").ModificationDescription | undefined;
|
|
197
206
|
getAdditionalModifications(_root: ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").TemplateModifier<import("@stripoinc/ui-editor-extensions").HtmlNodeModifier, import("@stripoinc/ui-editor-extensions").CssNodeModifier> | undefined;
|
|
198
207
|
isVisible(_node: ImmutableHtmlNode): boolean;
|
|
208
|
+
getElementLockCategory(): import("@stripoinc/ui-editor-extensions").ElementLockCategory | undefined;
|
|
199
209
|
};
|
|
200
210
|
};
|
|
201
211
|
/**
|
|
@@ -211,6 +221,7 @@ export declare function createButtonColorControl(controlId: string, targetBlockI
|
|
|
211
221
|
getModificationDescription(): import("@stripoinc/ui-editor-extensions").ModificationDescription | undefined;
|
|
212
222
|
getAdditionalModifications(_root: ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").TemplateModifier<import("@stripoinc/ui-editor-extensions").HtmlNodeModifier, import("@stripoinc/ui-editor-extensions").CssNodeModifier> | undefined;
|
|
213
223
|
isVisible(_node: ImmutableHtmlNode): boolean;
|
|
224
|
+
getElementLockCategory(): import("@stripoinc/ui-editor-extensions").ElementLockCategory | undefined;
|
|
214
225
|
};
|
|
215
226
|
};
|
|
216
227
|
/**
|
|
@@ -226,6 +237,7 @@ export declare function createButtonBorderControl(controlId: string, targetBlock
|
|
|
226
237
|
getModificationDescription(): import("@stripoinc/ui-editor-extensions").ModificationDescription | undefined;
|
|
227
238
|
getAdditionalModifications(_root: ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").TemplateModifier<import("@stripoinc/ui-editor-extensions").HtmlNodeModifier, import("@stripoinc/ui-editor-extensions").CssNodeModifier> | undefined;
|
|
228
239
|
isVisible(_node: ImmutableHtmlNode): boolean;
|
|
240
|
+
getElementLockCategory(): import("@stripoinc/ui-editor-extensions").ElementLockCategory | undefined;
|
|
229
241
|
};
|
|
230
242
|
};
|
|
231
243
|
/**
|
|
@@ -241,6 +253,7 @@ export declare function createButtonBorderRadiusControl(controlId: string, targe
|
|
|
241
253
|
getModificationDescription(): import("@stripoinc/ui-editor-extensions").ModificationDescription | undefined;
|
|
242
254
|
getAdditionalModifications(_root: ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").TemplateModifier<import("@stripoinc/ui-editor-extensions").HtmlNodeModifier, import("@stripoinc/ui-editor-extensions").CssNodeModifier> | undefined;
|
|
243
255
|
isVisible(_node: ImmutableHtmlNode): boolean;
|
|
256
|
+
getElementLockCategory(): import("@stripoinc/ui-editor-extensions").ElementLockCategory | undefined;
|
|
244
257
|
};
|
|
245
258
|
};
|
|
246
259
|
/**
|
|
@@ -256,6 +269,7 @@ export declare function createButtonFontFamilyControl(controlId: string, targetB
|
|
|
256
269
|
getModificationDescription(): import("@stripoinc/ui-editor-extensions").ModificationDescription | undefined;
|
|
257
270
|
getAdditionalModifications(_root: ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").TemplateModifier<import("@stripoinc/ui-editor-extensions").HtmlNodeModifier, import("@stripoinc/ui-editor-extensions").CssNodeModifier> | undefined;
|
|
258
271
|
isVisible(_node: ImmutableHtmlNode): boolean;
|
|
272
|
+
getElementLockCategory(): import("@stripoinc/ui-editor-extensions").ElementLockCategory | undefined;
|
|
259
273
|
};
|
|
260
274
|
};
|
|
261
275
|
/**
|
|
@@ -271,6 +285,7 @@ export declare function createButtonMarginsControl(controlId: string, targetBloc
|
|
|
271
285
|
getModificationDescription(): import("@stripoinc/ui-editor-extensions").ModificationDescription | undefined;
|
|
272
286
|
getAdditionalModifications(_root: ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").TemplateModifier<import("@stripoinc/ui-editor-extensions").HtmlNodeModifier, import("@stripoinc/ui-editor-extensions").CssNodeModifier> | undefined;
|
|
273
287
|
isVisible(_node: ImmutableHtmlNode): boolean;
|
|
288
|
+
getElementLockCategory(): import("@stripoinc/ui-editor-extensions").ElementLockCategory | undefined;
|
|
274
289
|
};
|
|
275
290
|
};
|
|
276
291
|
/**
|
|
@@ -286,6 +301,7 @@ export declare function createButtonPaddingsControl(controlId: string, targetBlo
|
|
|
286
301
|
getModificationDescription(): import("@stripoinc/ui-editor-extensions").ModificationDescription | undefined;
|
|
287
302
|
getAdditionalModifications(_root: ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").TemplateModifier<import("@stripoinc/ui-editor-extensions").HtmlNodeModifier, import("@stripoinc/ui-editor-extensions").CssNodeModifier> | undefined;
|
|
288
303
|
isVisible(_node: ImmutableHtmlNode): boolean;
|
|
304
|
+
getElementLockCategory(): import("@stripoinc/ui-editor-extensions").ElementLockCategory | undefined;
|
|
289
305
|
};
|
|
290
306
|
};
|
|
291
307
|
/**
|
|
@@ -301,6 +317,7 @@ export declare function createButtonTextControl(controlId: string, targetBlockId
|
|
|
301
317
|
getModificationDescription(): import("@stripoinc/ui-editor-extensions").ModificationDescription | undefined;
|
|
302
318
|
getAdditionalModifications(_root: ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").TemplateModifier<import("@stripoinc/ui-editor-extensions").HtmlNodeModifier, import("@stripoinc/ui-editor-extensions").CssNodeModifier> | undefined;
|
|
303
319
|
isVisible(_node: ImmutableHtmlNode): boolean;
|
|
320
|
+
getElementLockCategory(): import("@stripoinc/ui-editor-extensions").ElementLockCategory | undefined;
|
|
304
321
|
};
|
|
305
322
|
};
|
|
306
323
|
/**
|
|
@@ -316,6 +333,7 @@ export declare function createButtonTextSizeControl(controlId: string, targetBlo
|
|
|
316
333
|
getModificationDescription(): import("@stripoinc/ui-editor-extensions").ModificationDescription | undefined;
|
|
317
334
|
getAdditionalModifications(_root: ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").TemplateModifier<import("@stripoinc/ui-editor-extensions").HtmlNodeModifier, import("@stripoinc/ui-editor-extensions").CssNodeModifier> | undefined;
|
|
318
335
|
isVisible(_node: ImmutableHtmlNode): boolean;
|
|
336
|
+
getElementLockCategory(): import("@stripoinc/ui-editor-extensions").ElementLockCategory | undefined;
|
|
319
337
|
};
|
|
320
338
|
};
|
|
321
339
|
/**
|
|
@@ -341,6 +359,7 @@ export declare function createButtonTextStyleAndFontColorControl(controlId: stri
|
|
|
341
359
|
api: import("@stripoinc/ui-editor-extensions").ControlApi;
|
|
342
360
|
getModificationDescription(): import("@stripoinc/ui-editor-extensions").ModificationDescription | undefined;
|
|
343
361
|
isVisible(_node: ImmutableHtmlNode): boolean;
|
|
362
|
+
getElementLockCategory(): import("@stripoinc/ui-editor-extensions").ElementLockCategory | undefined;
|
|
344
363
|
};
|
|
345
364
|
};
|
|
346
365
|
/**
|
|
@@ -356,6 +375,7 @@ export declare function createButtonFitToContainerControl(controlId: string, tar
|
|
|
356
375
|
getModificationDescription(): import("@stripoinc/ui-editor-extensions").ModificationDescription | undefined;
|
|
357
376
|
getAdditionalModifications(_root: ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").TemplateModifier<import("@stripoinc/ui-editor-extensions").HtmlNodeModifier, import("@stripoinc/ui-editor-extensions").CssNodeModifier> | undefined;
|
|
358
377
|
isVisible(_node: ImmutableHtmlNode): boolean;
|
|
378
|
+
getElementLockCategory(): import("@stripoinc/ui-editor-extensions").ElementLockCategory | undefined;
|
|
359
379
|
};
|
|
360
380
|
};
|
|
361
381
|
/**
|
|
@@ -371,6 +391,7 @@ export declare function createImageSizeControl(controlId: string, targetBlockId:
|
|
|
371
391
|
getModificationDescription(): import("@stripoinc/ui-editor-extensions").ModificationDescription | undefined;
|
|
372
392
|
getAdditionalModifications(_root: ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").TemplateModifier<import("@stripoinc/ui-editor-extensions").HtmlNodeModifier, import("@stripoinc/ui-editor-extensions").CssNodeModifier> | undefined;
|
|
373
393
|
isVisible(_node: ImmutableHtmlNode): boolean;
|
|
394
|
+
getElementLockCategory(): import("@stripoinc/ui-editor-extensions").ElementLockCategory | undefined;
|
|
374
395
|
};
|
|
375
396
|
};
|
|
376
397
|
/**
|
|
@@ -386,5 +407,6 @@ export declare function createImageMarginsControl(controlId: string, targetBlock
|
|
|
386
407
|
getModificationDescription(): import("@stripoinc/ui-editor-extensions").ModificationDescription | undefined;
|
|
387
408
|
getAdditionalModifications(_root: ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").TemplateModifier<import("@stripoinc/ui-editor-extensions").HtmlNodeModifier, import("@stripoinc/ui-editor-extensions").CssNodeModifier> | undefined;
|
|
388
409
|
isVisible(_node: ImmutableHtmlNode): boolean;
|
|
410
|
+
getElementLockCategory(): import("@stripoinc/ui-editor-extensions").ElementLockCategory | undefined;
|
|
389
411
|
};
|
|
390
412
|
};
|
|
@@ -115,6 +115,11 @@ ue-color .base-input {
|
|
|
115
115
|
width: 100%;
|
|
116
116
|
}
|
|
117
117
|
|
|
118
|
+
/* Stripo 2.79.0: empty unless templateThemeMode is DARK; its min-width: 10% squeezes ue-color by ~8px. */
|
|
119
|
+
.container > ue-check-buttons.dark-mode-border-color-switcher {
|
|
120
|
+
min-width: 0;
|
|
121
|
+
}
|
|
122
|
+
|
|
118
123
|
ue-select-text-input .select-text-input-toggle {
|
|
119
124
|
top: 0;
|
|
120
125
|
right: 0;
|
package/dist/stores/editor.js
CHANGED
|
@@ -35,6 +35,11 @@ const o = e("guidoEditor", {
|
|
|
35
35
|
isSaveButtonDisabled: (i) => i.loadingStatus || i.isVersionHistoryOpen || i.isPreviewModeOpen,
|
|
36
36
|
// Autosave
|
|
37
37
|
isInSaveableState: (i) => !i.loadingStatus && !i.isVersionHistoryOpen && !i.isPreviewModeOpen && !i.isCodeEditorOpen
|
|
38
|
+
},
|
|
39
|
+
actions: {
|
|
40
|
+
markChanged() {
|
|
41
|
+
this.hasChanges = !0, this.changeSeq += 1;
|
|
42
|
+
}
|
|
38
43
|
}
|
|
39
44
|
});
|
|
40
45
|
export {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@useinsider/guido",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.21.0-beta.0df5409",
|
|
4
4
|
"description": "Guido is a Vue + TypeScript wrapper for Email Plugin. Easily embed the email editor in your Vue applications.",
|
|
5
5
|
"main": "./dist/guido.umd.cjs",
|
|
6
6
|
"module": "./dist/library.js",
|
|
@@ -52,9 +52,9 @@
|
|
|
52
52
|
"author": "",
|
|
53
53
|
"license": "ISC",
|
|
54
54
|
"dependencies": {
|
|
55
|
-
"@stripoinc/ui-editor-extensions": "3.
|
|
55
|
+
"@stripoinc/ui-editor-extensions": "3.11.0",
|
|
56
56
|
"@useinsider/design-system-organisms": "0.0.3-beta.d816f06",
|
|
57
|
-
"@useinsider/design-system-vue": "
|
|
57
|
+
"@useinsider/design-system-vue": "2.3.1",
|
|
58
58
|
"@vueuse/core": "11.3.0",
|
|
59
59
|
"lodash-es": "4.17.21",
|
|
60
60
|
"pinia": "2.3.1",
|
|
@@ -123,7 +123,7 @@
|
|
|
123
123
|
},
|
|
124
124
|
"guido": {
|
|
125
125
|
"stripo": {
|
|
126
|
-
"version": "2.
|
|
126
|
+
"version": "2.79.0"
|
|
127
127
|
}
|
|
128
128
|
}
|
|
129
129
|
}
|