@useinsider/guido 3.7.1-beta.4622f87 → 3.7.1-beta.794b3fc

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 (33) hide show
  1. package/dist/components/organisms/unsubscribe/UnsubscribePageSelection.vue.js +2 -2
  2. package/dist/components/organisms/unsubscribe/UnsubscribePageSelection.vue2.js +24 -22
  3. package/dist/composables/useHtmlValidator.js +79 -73
  4. package/dist/enums/extensions/recommendationBlock.js +3 -1
  5. package/dist/enums/html-validator.js +13 -5
  6. package/dist/enums/toaster.js +1 -1
  7. package/dist/extensions/Blocks/Recommendation/block.js +35 -16
  8. package/dist/extensions/Blocks/Recommendation/controls/main/index.js +35 -30
  9. package/dist/extensions/Blocks/Recommendation/controls/main/productLayout.js +62 -50
  10. package/dist/extensions/Blocks/Recommendation/controls/main/utils.js +208 -193
  11. package/dist/extensions/Blocks/Recommendation/store/recommendation.js +21 -20
  12. package/dist/extensions/Blocks/Recommendation/useRecommendationBlockWarning.js +16 -0
  13. package/dist/extensions/Blocks/Recommendation/utils/recommendationBlockCount.js +9 -0
  14. package/dist/extensions/Blocks/Unsubscribe/block.js +122 -72
  15. package/dist/extensions/Blocks/Unsubscribe/control.js +33 -26
  16. package/dist/extensions/Blocks/Unsubscribe/template.js +4 -4
  17. package/dist/guido.css +1 -1
  18. package/dist/services/recommendationApi.js +31 -19
  19. package/dist/src/enums/extensions/recommendationBlock.d.ts +1 -0
  20. package/dist/src/enums/html-validator.d.ts +4 -0
  21. package/dist/src/enums/toaster.d.ts +2 -1
  22. package/dist/src/extensions/Blocks/Recommendation/block.d.ts +13 -0
  23. package/dist/src/extensions/Blocks/Recommendation/block.test.d.ts +1 -0
  24. package/dist/src/extensions/Blocks/Recommendation/controls/main/index.d.ts +1 -0
  25. package/dist/src/extensions/Blocks/Recommendation/store/recommendation.d.ts +1 -0
  26. package/dist/src/extensions/Blocks/Recommendation/useRecommendationBlockWarning.d.ts +12 -0
  27. package/dist/src/extensions/Blocks/Recommendation/utils/recommendationBlockCount.d.ts +28 -0
  28. package/dist/src/extensions/Blocks/Recommendation/utils/recommendationBlockCount.test.d.ts +1 -0
  29. package/dist/src/extensions/Blocks/Unsubscribe/block.d.ts +9 -0
  30. package/dist/src/extensions/Blocks/Unsubscribe/control.d.ts +1 -0
  31. package/dist/static/styles/components/base-input.css.js +5 -0
  32. package/dist/stores/autosave.js +6 -6
  33. package/package.json +1 -1
package/dist/guido.css CHANGED
@@ -1 +1 @@
1
- .gap-16[data-v-5553d071],.gap-16[data-v-0e1b0c54]{gap:16px}[data-v-73199fa4] .in-button-v2__wrapper{line-height:0}[data-v-22226124] .in-segments-wrapper__button_selected,[data-v-22226124] .in-segments-wrapper__button_selected:hover{background-color:#dae1fb;color:#0010ac;border-color:#0010ac}[data-v-2cb418af] .in-progress-wrapper__progress p span:last-child{display:none!important}[data-v-2cb418af] .in-progress-description-status{display:none!important}.view-options-wrapper[data-v-195ab6d4]{position:relative;display:inline-block}.new-tag[data-v-195ab6d4]{position:absolute;top:-8px;right:-16px;z-index:10}[data-v-195ab6d4] .guido__view-option-selection-desktop svg,[data-v-195ab6d4] .guido__view-option-selection-mobile svg{margin:0 0 0 2px}[data-v-195ab6d4] .in-segments-wrapper__button_selected,[data-v-195ab6d4] .in-segments-wrapper__button_selected:hover{background-color:#dae1fb}[data-v-195ab6d4] .in-tooltip-wrapper__icon{cursor:pointer}.editor-toolbar[data-v-173c3a40]{gap:4px}.version-history-item[data-v-ee4b9c3f]{flex-basis:200px}.version-history[data-v-64c52560]{gap:8px}.version-history__toolbar[data-v-64c52560]{gap:4px}.view-options-wrapper[data-v-d405ca59]{position:relative;display:inline-block}.new-tag[data-v-d405ca59]{position:absolute;top:-8px;right:-16px;z-index:10}[data-v-d405ca59] .guido__verion-history-view-option-selection-desktop svg,[data-v-d405ca59] .guido__verion-history-view-option-selection-mobile svg{margin:0 0 0 2px}[data-v-d405ca59] .in-segments-wrapper__button_selected,[data-v-d405ca59] .in-segments-wrapper__button_selected:hover{background-color:#dae1fb}[data-v-d405ca59] .in-tooltip-wrapper__icon{cursor:pointer}.auto-save-toggle[data-v-2c964af4]{position:relative}.auto-save-toggle__info-box[data-v-2c964af4]{position:absolute;top:100%;left:0;z-index:10;width:280px}.editor-actions[data-v-82128f7d]{gap:4px}.header-wrapper[data-v-5c02dcc7]{min-width:1000px}.guido-loading__wrapper[data-v-07c4b2d8]{height:100%;top:75px!important;bottom:0!important}.guido-editor__wrapper[data-v-50dac6de]{--ribbon-offset: 0px;position:relative;width:100%;height:calc(100vh - 128px - var(--ribbon-offset))}.guido-editor__container[data-v-50dac6de]{width:100%;height:calc(100vh - 128px - var(--ribbon-offset))}.guido-editor__no-header[data-v-50dac6de]{height:calc(100vh - 75px - var(--ribbon-offset))}[data-v-293f1c47] .in-breadcrumb-wrapper__links{cursor:pointer}.templates-wrapper[data-v-df672485]{gap:16px;grid-template-columns:repeat(3,1fr)}.templates-wrapper .template-wrapper[data-v-df672485]{cursor:pointer}.templates-wrapper .template-wrapper .template-container[data-v-df672485]{height:274px;padding:2px;transition:none}.templates-wrapper .template-wrapper .template-container.selected[data-v-df672485]{padding:1px}.templates-wrapper .template-wrapper .template-container .thumbnail[data-v-df672485]{object-fit:cover;transform:scale(1)}[data-v-43c617a7] .guido__verion-history-view-option-selection-desktop svg,[data-v-43c617a7] .guido__verion-history-view-option-selection-mobile svg{margin:0 0 0 2px}[data-v-43c617a7] .in-segments-wrapper__button_selected,[data-v-43c617a7] .in-segments-wrapper__button_selected:hover{background-color:#dae1fb}.error-list[data-v-c3fd5d4b]{gap:16px}.desktop-browser-header[data-v-d86c5af5]{height:79px;min-height:79px}.desktop-browser-header__left[data-v-d86c5af5]{-webkit-user-drag:none;height:79px;width:378px}.desktop-browser-header__center[data-v-d86c5af5]{height:79px;background-repeat:repeat-x;background-size:auto 100%;background-position:left top}.desktop-browser-header__right[data-v-d86c5af5]{-webkit-user-drag:none;height:79px;width:112px}.desktop-preview[data-v-988f8da6]{min-width:602px;height:70vh;min-height:583px;border-radius:10px}.desktop-preview iframe[data-v-988f8da6]{min-height:504px}.iframe-wrapper[data-v-e0424e99]{width:258px}.iframe-scaled[data-v-e0424e99]{width:320px;height:124.0310077519%;transform:scale(.80625);transform-origin:top left}.cropped-text[data-v-eb3d05d7]{width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-preview-wrapper__phone[data-v-3f472f96]{width:282px}.mobile-preview-wrapper__phone img[data-v-3f472f96]{object-fit:cover;border-radius:44px}.mobile-preview-wrapper__content[data-v-3f472f96]{width:258px;height:450px;left:12px}[data-v-7419ae06] .vueperslides__bullets,[data-v-796d193b] .vueperslides__bullets{pointer-events:none!important}[data-v-796d193b] .vueperslides__parallax-wrapper{height:110px!important}[data-v-cadfc82d] .vueperslides__bullets{pointer-events:none!important}[data-v-cadfc82d] .vueperslides__parallax-wrapper{height:110px!important}
1
+ .gap-16[data-v-5553d071],.gap-16[data-v-0e1b0c54]{gap:16px}[data-v-73199fa4] .in-button-v2__wrapper{line-height:0}[data-v-22226124] .in-segments-wrapper__button_selected,[data-v-22226124] .in-segments-wrapper__button_selected:hover{background-color:#dae1fb;color:#0010ac;border-color:#0010ac}[data-v-2cb418af] .in-progress-wrapper__progress p span:last-child{display:none!important}[data-v-2cb418af] .in-progress-description-status{display:none!important}.view-options-wrapper[data-v-195ab6d4]{position:relative;display:inline-block}.new-tag[data-v-195ab6d4]{position:absolute;top:-8px;right:-16px;z-index:10}[data-v-195ab6d4] .guido__view-option-selection-desktop svg,[data-v-195ab6d4] .guido__view-option-selection-mobile svg{margin:0 0 0 2px}[data-v-195ab6d4] .in-segments-wrapper__button_selected,[data-v-195ab6d4] .in-segments-wrapper__button_selected:hover{background-color:#dae1fb}[data-v-195ab6d4] .in-tooltip-wrapper__icon{cursor:pointer}.editor-toolbar[data-v-173c3a40]{gap:4px}.version-history-item[data-v-ee4b9c3f]{flex-basis:200px}.version-history[data-v-64c52560]{gap:8px}.version-history__toolbar[data-v-64c52560]{gap:4px}.view-options-wrapper[data-v-d405ca59]{position:relative;display:inline-block}.new-tag[data-v-d405ca59]{position:absolute;top:-8px;right:-16px;z-index:10}[data-v-d405ca59] .guido__verion-history-view-option-selection-desktop svg,[data-v-d405ca59] .guido__verion-history-view-option-selection-mobile svg{margin:0 0 0 2px}[data-v-d405ca59] .in-segments-wrapper__button_selected,[data-v-d405ca59] .in-segments-wrapper__button_selected:hover{background-color:#dae1fb}[data-v-d405ca59] .in-tooltip-wrapper__icon{cursor:pointer}.auto-save-toggle[data-v-2c964af4]{position:relative}.auto-save-toggle__info-box[data-v-2c964af4]{position:absolute;top:100%;left:0;z-index:10;width:280px}.editor-actions[data-v-82128f7d]{gap:4px}.header-wrapper[data-v-5c02dcc7]{min-width:1000px}.guido-loading__wrapper[data-v-07c4b2d8]{height:100%;top:75px!important;bottom:0!important}.guido-editor__wrapper[data-v-50dac6de]{--ribbon-offset: 0px;position:relative;width:100%;height:calc(100vh - 128px - var(--ribbon-offset))}.guido-editor__container[data-v-50dac6de]{width:100%;height:calc(100vh - 128px - var(--ribbon-offset))}.guido-editor__no-header[data-v-50dac6de]{height:calc(100vh - 75px - var(--ribbon-offset))}[data-v-293f1c47] .in-breadcrumb-wrapper__links{cursor:pointer}.templates-wrapper[data-v-f6a8cb4c]{gap:16px;grid-template-columns:repeat(3,1fr)}.templates-wrapper .template-wrapper[data-v-f6a8cb4c]{cursor:pointer}.templates-wrapper .template-wrapper .template-container[data-v-f6a8cb4c]{height:274px;padding:2px;transition:none}.templates-wrapper .template-wrapper .template-container.selected[data-v-f6a8cb4c]{padding:1px}.templates-wrapper .template-wrapper .template-container .thumbnail[data-v-f6a8cb4c]{object-fit:cover;transform:scale(1)}[data-v-43c617a7] .guido__verion-history-view-option-selection-desktop svg,[data-v-43c617a7] .guido__verion-history-view-option-selection-mobile svg{margin:0 0 0 2px}[data-v-43c617a7] .in-segments-wrapper__button_selected,[data-v-43c617a7] .in-segments-wrapper__button_selected:hover{background-color:#dae1fb}.error-list[data-v-c3fd5d4b]{gap:16px}.desktop-browser-header[data-v-d86c5af5]{height:79px;min-height:79px}.desktop-browser-header__left[data-v-d86c5af5]{-webkit-user-drag:none;height:79px;width:378px}.desktop-browser-header__center[data-v-d86c5af5]{height:79px;background-repeat:repeat-x;background-size:auto 100%;background-position:left top}.desktop-browser-header__right[data-v-d86c5af5]{-webkit-user-drag:none;height:79px;width:112px}.desktop-preview[data-v-988f8da6]{min-width:602px;height:70vh;min-height:583px;border-radius:10px}.desktop-preview iframe[data-v-988f8da6]{min-height:504px}.iframe-wrapper[data-v-e0424e99]{width:258px}.iframe-scaled[data-v-e0424e99]{width:320px;height:124.0310077519%;transform:scale(.80625);transform-origin:top left}.cropped-text[data-v-eb3d05d7]{width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-preview-wrapper__phone[data-v-3f472f96]{width:282px}.mobile-preview-wrapper__phone img[data-v-3f472f96]{object-fit:cover;border-radius:44px}.mobile-preview-wrapper__content[data-v-3f472f96]{width:258px;height:450px;left:12px}[data-v-7419ae06] .vueperslides__bullets,[data-v-796d193b] .vueperslides__bullets{pointer-events:none!important}[data-v-796d193b] .vueperslides__parallax-wrapper{height:110px!important}[data-v-cadfc82d] .vueperslides__bullets{pointer-events:none!important}[data-v-cadfc82d] .vueperslides__parallax-wrapper{height:110px!important}
@@ -1,40 +1,52 @@
1
- import { useHttp as a } from "../composables/useHttp.js";
2
- import { QUERY_PARAMS as d, URLS as h } from "../enums/extensions/recommendationBlock.js";
3
- const y = () => {
4
- const { get: r } = a(), { get: s } = a({ headers: {} }), m = "6KcLM9TwheVB1mgK";
1
+ import { useHttp as d } from "../composables/useHttp.js";
2
+ import { QUERY_PARAMS as l, URLS as u } from "../enums/extensions/recommendationBlock.js";
3
+ const R = (o) => o.reduce(
4
+ (a, t, s) => (a[s] = {
5
+ attributeName: t.attributeName,
6
+ attributeJs: t.attributeJs,
7
+ attributeType: t.attributeType,
8
+ type: t.type,
9
+ displayName: t.displayName,
10
+ isFilterable: t.isFilterable
11
+ }, a),
12
+ {}
13
+ ), f = () => {
14
+ const { get: o } = d(), { get: a } = d({ headers: {} }), t = "6KcLM9TwheVB1mgK";
5
15
  return {
6
16
  fetchRecommendationCreateData: async () => {
7
17
  try {
8
- return (await r("/newsletter/recommendations/create-data")).data;
18
+ return (await o("/newsletter/recommendations/create-data")).data;
9
19
  } catch (e) {
10
20
  throw console.error("fetchUserModalState error:", e), e;
11
21
  }
12
22
  },
13
23
  fetchRecommendationFilters: async () => {
14
24
  try {
15
- const { data: e } = await r("/stripo/email-recommendation-attributes");
16
- return e;
25
+ const { data: e } = await o(
26
+ u.PRODUCT_ATTRIBUTES_PATH
27
+ ), n = Array.isArray(e) ? e : (e == null ? void 0 : e.data) ?? [];
28
+ return R(n);
17
29
  } catch (e) {
18
30
  throw console.error("fetchRecommendationFilters error:", e), e;
19
31
  }
20
32
  },
21
- fetchRecommendationProducts: async (e, i) => {
22
- var n;
33
+ fetchRecommendationProducts: async (e, n) => {
34
+ var i;
23
35
  try {
24
- const t = new URLSearchParams(Object.entries(i));
25
- t.set(d.CLIENT_ID, m);
26
- const c = decodeURIComponent(t.toString());
27
- console.debug("🏁 Recommendation API Query:", c);
28
- const o = await s(
29
- `${h.RECOMMENDATION_API_URL}/v2/${e}?${c}`
36
+ const r = new URLSearchParams(Object.entries(n));
37
+ r.set(l.CLIENT_ID, t);
38
+ const m = decodeURIComponent(r.toString());
39
+ console.debug("🏁 Recommendation API Query:", m);
40
+ const c = await a(
41
+ `${u.RECOMMENDATION_API_URL}/v2/${e}?${m}`
30
42
  );
31
- return ((n = o == null ? void 0 : o.data) == null ? void 0 : n.data) ?? [];
32
- } catch (t) {
33
- throw console.error("fetchRecommendationProducts error:", t), t;
43
+ return ((i = c == null ? void 0 : c.data) == null ? void 0 : i.data) ?? [];
44
+ } catch (r) {
45
+ throw console.error("fetchRecommendationProducts error:", r), r;
34
46
  }
35
47
  }
36
48
  };
37
49
  };
38
50
  export {
39
- y as useRecommendationApi
51
+ f as useRecommendationApi
40
52
  };
@@ -2,6 +2,7 @@ import type { TextValueObject } from '@@/Types/generic';
2
2
  import type { RecommendationFeedItem } from '@@/Types/recommendation';
3
3
  export declare const URLS: {
4
4
  RECOMMENDATION_API_URL: string;
5
+ PRODUCT_ATTRIBUTES_PATH: string;
5
6
  };
6
7
  export declare const QUERY_PARAMS: {
7
8
  CLIENT_ID: string;
@@ -4,3 +4,7 @@ export declare const CampaignCouldNotBeSavedKey = "newsletter.campaign-could-not
4
4
  export declare const DISPLAY_CONDITIONS_REGEX: RegExp;
5
5
  export declare const DISPLAY_CONDITIONS_EXCEPTIONS_REGEX: RegExp;
6
6
  export declare const REMOVE_CONDITIONS_REGEX: RegExp;
7
+ export declare const DYNAMIC_CONTENT_TAG_REGEX: RegExp;
8
+ export declare const DATA_ATTRIBUTE_REGEX: RegExp;
9
+ export declare const VALID_DYNAMIC_VARIABLE_REGEX: RegExp;
10
+ export declare const ALLOWED_DYNAMIC_SYSTEM_TOKENS: string[];
@@ -1,5 +1,6 @@
1
1
  export declare enum ToasterTypeOptions {
2
2
  Success = "success",
3
3
  Warning = "warning",
4
- Alert = "alert"
4
+ Alert = "alert",
5
+ Dark = "dark"
5
6
  }
@@ -55,6 +55,19 @@ export declare class RecommendationBlock extends Block {
55
55
  * @param node - The block node being deleted
56
56
  */
57
57
  onDelete(node: ImmutableHtmlNode): void;
58
+ /**
59
+ * Warns (dark advisory toaster) when the design holds more than one live
60
+ * recommendation block. Triggered from the user-add paths only (fresh drop
61
+ * and duplicate) — never from document-load/migration, so opening a template
62
+ * that already has multiple blocks does not fire it. `onCreated` also runs
63
+ * for a reco block that arrives inside a saved structure (SD-143028), so this
64
+ * covers that case too — no separate `module_dropped` handling is needed.
65
+ *
66
+ * Counting lives in `useRecommendationBlockWarning`, whose DOM-based logic
67
+ * ignores the empty shells deletions leave behind (SD-143028). Wrapped in
68
+ * try/catch because the document root may be unavailable during initial load.
69
+ */
70
+ private _warnIfMultipleBlocks;
58
71
  /**
59
72
  * Generates the next unique recommendation ID by scanning all existing blocks
60
73
  * in the document and finding the maximum existing ID + 1.
@@ -18,6 +18,7 @@ export * from './utils';
18
18
  export declare class RecommendationBlockControl extends CommonControl {
19
19
  private store;
20
20
  private storeUnsubscription;
21
+ private syncedBlockIds;
21
22
  private algorithmControl;
22
23
  private localeControl;
23
24
  private currencyControl;
@@ -13,6 +13,7 @@ export interface PerBlockConfigs {
13
13
  filters: Filter[];
14
14
  id: number;
15
15
  language: string;
16
+ mobileCardsInRow: number;
16
17
  mobileLayoutEnabled: boolean;
17
18
  orientation: Orientation;
18
19
  productIds: string[];
@@ -0,0 +1,12 @@
1
+ import type { QueryableRoot } from './utils/recommendationBlockCount';
2
+ /**
3
+ * Advisory shown when a design ends up with more than one recommendation block,
4
+ * since multiple blocks can slow campaign delivery. Driven from the block
5
+ * lifecycle (`onCreated` for direct drop / duplicate, counting the editor's
6
+ * document root). `onCreated` also fires for a reco block that arrives inside a
7
+ * saved structure (SD-143028), so that case is covered without a separate
8
+ * `module_dropped` re-check.
9
+ */
10
+ export declare const useRecommendationBlockWarning: () => {
11
+ warnIfMultipleBlocks: (root: QueryableRoot) => void;
12
+ };
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Counts *live* recommendation blocks in a document.
3
+ *
4
+ * Deleting a recommendation block strips its inner content but leaves an empty
5
+ * `.recommendation-block-v2` container shell behind — present in every document
6
+ * representation the editor exposes (`getDocumentRoot`, `getDocumentRootHtmlNode`
7
+ * and even `getTemplateData`). A raw class count therefore over-reports after a
8
+ * delete→add cycle (SD-143028). The product row (`.recommendation-product-row`)
9
+ * is present on every live block from drop time (the default template ships
10
+ * product rows, both grid and list layouts) and is removed from a deleted
11
+ * block's leftover shell, so filtering by it cleanly separates live blocks from
12
+ * ghosts without reading any store.
13
+ */
14
+ export declare const RECOMMENDATION_BLOCK_SELECTOR = ".recommendation-block-v2";
15
+ export declare const RECOMMENDATION_PRODUCT_ROW_SELECTOR = ".recommendation-product-row";
16
+ interface QueryableNode {
17
+ querySelector(selector: string): unknown;
18
+ }
19
+ export interface QueryableRoot {
20
+ querySelectorAll(selector: string): Iterable<QueryableNode>;
21
+ }
22
+ /**
23
+ * Counts the live recommendation blocks reachable from `root`. Works on the
24
+ * editor's `ImmutableHtmlNode` document root (the `onCreated` drop / duplicate
25
+ * paths) and on any DOM-like root exposing `querySelectorAll`.
26
+ */
27
+ export declare function countLiveRecommendationBlocks(root: QueryableRoot): number;
28
+ export {};
@@ -6,6 +6,7 @@ export declare class UnsubscribeBlock extends Block {
6
6
  private cancelEventListener;
7
7
  private currentNode?;
8
8
  private linkStateByBlockId;
9
+ private guardAttemptsByBlockId;
9
10
  constructor();
10
11
  getId(): string;
11
12
  getIcon(): string;
@@ -15,9 +16,17 @@ export declare class UnsubscribeBlock extends Block {
15
16
  getTemplate(): string;
16
17
  getContextActionsIds(): string[];
17
18
  onSelect(node: ImmutableHtmlElementNode): void;
19
+ onCreated(node: ImmutableHtmlNode): void;
20
+ onDocumentInit(): void;
18
21
  onDocumentChanged(node: ImmutableHtmlNode): void;
19
22
  onDelete(node: ImmutableHtmlElementNode): void;
20
23
  onDestroy(): void;
24
+ /**
25
+ * Guarantees a plain-text node before the link's wrapper inside the <p>.
26
+ * Without it the only caret position left of the link is inside the anchor,
27
+ * so anything typed there becomes part of the link (SD-143097).
28
+ */
29
+ private _ensureLeadingTextGuard;
21
30
  private _hasUnsubscribeLink;
22
31
  private _readBlockId;
23
32
  /**
@@ -15,6 +15,7 @@ export declare class UnsubscribeControl extends Control {
15
15
  private get totalTemplates();
16
16
  private _listenToFormUpdates;
17
17
  private _onButtonClick;
18
+ private _reseedSelectionFromBlock;
18
19
  private _onPrevClick;
19
20
  private _onNextClick;
20
21
  private _loadAndUpdatePreview;
@@ -36,6 +36,11 @@ ue-contenteditable .base-input {
36
36
  line-height: 24px;
37
37
  }
38
38
 
39
+ /* Image link input is auto-height; lift the fixed 40px cap so it can grow. */
40
+ ue-contenteditable.link-autoheight-contenteditable .base-input {
41
+ max-height: none;
42
+ }
43
+
39
44
  ue-icon-component.icon-button.icon-clear-input {
40
45
  right: 2px;
41
46
  top: 2px;
@@ -1,17 +1,17 @@
1
- import { defineStore as e } from "pinia";
2
- const t = {
1
+ import { defineStore as t } from "pinia";
2
+ const e = {
3
3
  IDLE: "idle",
4
4
  SAVING: "saving",
5
5
  SAVED: "saved",
6
6
  ERROR: "error"
7
- }, o = e("guidoAutosave", {
7
+ }, o = t("guidoAutosave", {
8
8
  state: () => ({
9
- isOn: !1,
9
+ isOn: !0,
10
10
  lastSavedAt: null,
11
- status: t.IDLE
11
+ status: e.IDLE
12
12
  })
13
13
  });
14
14
  export {
15
- t as AUTOSAVE_STATUS,
15
+ e as AUTOSAVE_STATUS,
16
16
  o as useAutosaveStore
17
17
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@useinsider/guido",
3
- "version": "3.7.1-beta.4622f87",
3
+ "version": "3.7.1-beta.794b3fc",
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",