@useinsider/guido 1.0.0-beta.df613dd → 1.0.0-beta.e096204

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 (49) hide show
  1. package/README.md +191 -1
  2. package/dist/@types/generic.d.ts +3 -0
  3. package/dist/components/Guido.vue.js +1 -1
  4. package/dist/components/organisms/header/LeftSlot.vue.d.ts +1 -1
  5. package/dist/components/organisms/header/LeftSlot.vue.js +8 -8
  6. package/dist/components/organisms/header/LeftSlot.vue2.js +5 -3
  7. package/dist/components/organisms/header/MiddleSlot.vue.js +7 -7
  8. package/dist/components/organisms/header/MiddleSlot.vue2.js +6 -4
  9. package/dist/components/organisms/header/RightSlot.vue.d.ts +1 -1
  10. package/dist/components/organisms/header/RightSlot.vue.js +7 -10
  11. package/dist/components/organisms/header/RightSlot.vue2.js +11 -14
  12. package/dist/components/organisms/header/version-history/RestoreButton.vue.d.ts +2 -0
  13. package/dist/components/organisms/header/version-history/RestoreButton.vue.js +19 -0
  14. package/dist/components/organisms/header/version-history/RestoreButton.vue2.js +14 -0
  15. package/dist/components/organisms/header/version-history/VersionHistory.vue.d.ts +13 -1
  16. package/dist/components/organisms/header/version-history/VersionHistory.vue.js +7 -7
  17. package/dist/components/organisms/header/version-history/VersionHistory.vue2.js +13 -10
  18. package/dist/composables/useCustomInterfaceAppearance.js +45 -9
  19. package/dist/composables/useExport.d.ts +1 -1
  20. package/dist/composables/useExport.js +35 -20
  21. package/dist/composables/useHtmlCompiler.d.ts +4 -0
  22. package/dist/composables/useHtmlCompiler.js +16 -0
  23. package/dist/composables/useStripo.js +13 -8
  24. package/dist/config/compiler/htmlCompilerRules.d.ts +2 -0
  25. package/dist/config/compiler/htmlCompilerRules.js +145 -0
  26. package/dist/config/compiler/outlookCompilerRules.d.ts +0 -0
  27. package/dist/enums/displayConditions.d.ts +2 -0
  28. package/dist/enums/displayConditions.js +80 -0
  29. package/dist/guido.css +1 -1
  30. package/dist/static/styles/base.css.js +11 -0
  31. package/dist/static/styles/components/alert-message.css.js +39 -0
  32. package/dist/static/styles/components/amp-block.css.js +18 -0
  33. package/dist/static/styles/components/base-input.css.js +47 -0
  34. package/dist/static/styles/components/button-group.css.js +54 -0
  35. package/dist/static/styles/components/button.css.js +106 -0
  36. package/dist/static/styles/components/combobox.css.js +49 -0
  37. package/dist/static/styles/components/counter.css.js +42 -0
  38. package/dist/static/styles/components/dropdown-menu.css.js +52 -0
  39. package/dist/static/styles/components/narrow-panel.css.js +38 -0
  40. package/dist/static/styles/components/switcher.css.js +11 -0
  41. package/dist/static/styles/components/tabs.css.js +97 -0
  42. package/dist/static/styles/components/tools.css.js +23 -0
  43. package/dist/static/styles/components/version-history.css.js +30 -0
  44. package/dist/static/styles/components/wide-panel.css.js +135 -0
  45. package/dist/static/styles/variables.css.js +23 -0
  46. package/dist/utils/htmlCompiler.d.ts +12 -0
  47. package/dist/utils/htmlCompiler.js +70 -0
  48. package/package.json +5 -5
  49. package/dist/static/editor.css.js +0 -232
package/README.md CHANGED
@@ -43,6 +43,8 @@ export default {
43
43
  userId: '12345',
44
44
  guidoConfig: {
45
45
  translationsPath: 'window.trans.en'
46
+ htmlCompilerRules: [],
47
+ ignoreDefaultHtmlCompilerRules: false,
46
48
  }
47
49
  };
48
50
  }
@@ -68,12 +70,16 @@ export default {
68
70
  ```typescript
69
71
  interface GuidoConfig {
70
72
  translationsPath: string;
73
+ htmlCompilerRules: CompilerRule[];
74
+ ignoreDefaultHtmlCompilerRules: boolean;
71
75
  }
72
76
  ```
73
77
 
74
78
  | Property | Type | Default | Description |
75
79
  |----------|------|---------|-------------|
76
80
  | `translationsPath` | `string` | `'window.trans.en'` | JavaScript path to the translations object |
81
+ | `htmlCompilerRules` | `CompilerRule[]` | `[]` | Additional compiler rules to apply to HTML content. See [HTML Compiler Rules](#-html-compiler-rules) section below |
82
+ | `ignoreDefaultHtmlCompilerRules` | `boolean` | `false` | Skip default compiler rules and only use custom rules. Default rules: `src/config/compiler/htmlCompilerRules.ts` |
77
83
 
78
84
  ### TypeScript Types
79
85
 
@@ -101,6 +107,185 @@ type StripoEventType =
101
107
  | 'export:ready';
102
108
  ```
103
109
 
110
+ ## 🔨 HTML Compiler Rules
111
+
112
+ Guido includes a powerful HTML compiler system that allows you to transform HTML content with custom rules. You can define additional rules and optionally ignore the default rules.
113
+
114
+ ### Rule Types
115
+
116
+ There are 4 types of compiler rules:
117
+
118
+ #### 1. Replace Rule
119
+ Replace specific strings in HTML content.
120
+
121
+ ```typescript
122
+ {
123
+ id: 'fix-encoding',
124
+ description: 'Fix URL encoding issues',
125
+ type: 'replace',
126
+ search: '{%22', // String to find
127
+ replacement: '%7B%22', // String to replace with
128
+ replaceAll: true, // Replace all occurrences (default: true)
129
+ priority: 10 // Execution priority (lower = earlier)
130
+ }
131
+ ```
132
+
133
+ #### 2. Regex Rule
134
+ Use regular expressions for complex pattern matching and replacement.
135
+
136
+ ```typescript
137
+ {
138
+ id: 'remove-comments',
139
+ description: 'Remove HTML comments',
140
+ type: 'regex',
141
+ pattern: '<!--.*?-->', // Regex pattern
142
+ replacement: '', // Replacement string
143
+ flags: 'g', // Regex flags (default: 'g')
144
+ priority: 20
145
+ }
146
+ ```
147
+
148
+ #### 3. Remove Rule
149
+ Remove specific strings or patterns from HTML content.
150
+
151
+ ```typescript
152
+ {
153
+ id: 'cleanup-scripts',
154
+ description: 'Remove unwanted script tags',
155
+ type: 'remove',
156
+ targets: [ // Array of strings or RegExp objects
157
+ '<script src="unwanted.js"></script>',
158
+ /onclick="[^"]*"/g
159
+ ],
160
+ priority: 30
161
+ }
162
+ ```
163
+
164
+ #### 4. Custom Rule
165
+ Define complex transformation logic with a custom processor function.
166
+
167
+ ```typescript
168
+ {
169
+ id: 'add-meta-tags',
170
+ description: 'Add custom meta tags to head',
171
+ type: 'custom',
172
+ processor: (html: string): string => {
173
+ // Custom transformation logic
174
+ const metaTags = '<meta name="custom" content="value">';
175
+ return html.replace('</head>', `${metaTags}</head>`);
176
+ },
177
+ priority: 40
178
+ }
179
+ ```
180
+
181
+ ### Using HTML Compiler Rules
182
+
183
+ #### Basic Usage with Custom Rules
184
+
185
+ ```typescript
186
+ const guidoConfig = {
187
+ translationsPath: 'window.trans.en',
188
+ htmlCompilerRules: [
189
+ {
190
+ id: 'replace-domain',
191
+ description: 'Replace old domain with new one',
192
+ type: 'replace',
193
+ search: 'old-domain.com',
194
+ replacement: 'new-domain.com',
195
+ replaceAll: true,
196
+ priority: 10
197
+ },
198
+ {
199
+ id: 'remove-tracking',
200
+ description: 'Remove tracking pixels',
201
+ type: 'regex',
202
+ pattern: '<img[^>]*tracking[^>]*>',
203
+ replacement: '',
204
+ flags: 'gi',
205
+ priority: 20
206
+ }
207
+ ]
208
+ };
209
+ ```
210
+
211
+ #### Ignoring Default Rules
212
+
213
+ ```typescript
214
+ const guidoConfig = {
215
+ translationsPath: 'window.trans.en',
216
+ ignoreDefaultHtmlCompilerRules: true, // Skip all default rules
217
+ htmlCompilerRules: [
218
+ // Only your custom rules will be applied
219
+ {
220
+ id: 'custom-transformation',
221
+ type: 'replace',
222
+ search: 'old-text',
223
+ replacement: 'new-text',
224
+ priority: 1
225
+ }
226
+ ]
227
+ };
228
+ ```
229
+
230
+ ### Rule Execution Order
231
+
232
+ Rules are executed in priority order (lower numbers first). Rules with the same priority are executed in array order.
233
+
234
+ - **Priority 1-99**: Reserved for critical transformations
235
+ - **Priority 100-999**: Standard transformations
236
+ - **Priority 1000+**: Additional custom rules (automatically assigned)
237
+
238
+ ### Default Rules
239
+
240
+ Guido includes several default rules for common email HTML optimizations:
241
+
242
+ - **URL encoding fixes**: Fixes malformed URL encoding in dynamic content
243
+ - **Template tag restoration**: Restores `{{}}` template tags that got URL encoded
244
+ - **HTML entity decoding**: Converts `&lt;` and `&gt;` back to `<` and `>`
245
+ - **Cleanup rules**: Removes unwanted iframe and style elements
246
+ - **MSO conditions**: Manages Outlook-specific conditional comments
247
+ - **Domain replacement**: Updates old image domains to current ones
248
+
249
+ You can view all default rules in: `src/config/compiler/htmlCompilerRules.ts`
250
+
251
+ ### CompilerRule Interface
252
+
253
+ ```typescript
254
+ type CompilerRuleType = 'replace' | 'regex' | 'remove' | 'custom';
255
+
256
+ interface BaseCompilerRule {
257
+ id: string;
258
+ description?: string;
259
+ priority: number;
260
+ }
261
+
262
+ interface ReplaceRule extends BaseCompilerRule {
263
+ type: 'replace';
264
+ search: string;
265
+ replacement: string;
266
+ replaceAll?: boolean; // Default: true
267
+ }
268
+
269
+ interface RegexRule extends BaseCompilerRule {
270
+ type: 'regex';
271
+ pattern: string;
272
+ replacement: string;
273
+ flags?: string; // Default: 'g'
274
+ }
275
+
276
+ interface RemoveRule extends BaseCompilerRule {
277
+ type: 'remove';
278
+ targets: (string | RegExp)[]; // Array of strings or RegExp objects
279
+ }
280
+
281
+ interface CustomRule extends BaseCompilerRule {
282
+ type: 'custom';
283
+ processor: (html: string) => string;
284
+ }
285
+
286
+ type CompilerRule = ReplaceRule | RegexRule | RemoveRule | CustomRule;
287
+ ```
288
+
104
289
  ---
105
290
 
106
291
  ## 🔧 Development
@@ -211,7 +396,12 @@ ISC License
211
396
  - [@useinsider/design-system-vue](https://github.com/useinsider/design-system-vue) - Insider's Vue design system
212
397
 
213
398
  ## 🎯 TODO:
214
- - [editor.css](src/static/editor.css) should be optimized with variables & `sass-loader`.
399
+ - CSS part should be optimized with variables & `sass-loader`.
215
400
  - Master Version Generator should be fixed.
216
401
  - Playwright integration
217
402
  - Commitlint & Precommit Hooks integration
403
+ - We need to emit save event and we should return template config to it
404
+ - Default template should be same with production
405
+ - Open Guido with saved template
406
+ - Get User ID, Email and Unique Template ID as dynamic from props
407
+ - Get Pre-built display conditions from API
@@ -1,3 +1,6 @@
1
+ import type { CompilerRule } from './html-compiler';
1
2
  export type GuidoConfig = {
2
3
  translationsPath: string;
4
+ htmlCompilerRules?: CompilerRule[];
5
+ ignoreDefaultHtmlCompilerRules?: boolean;
3
6
  };
@@ -10,7 +10,7 @@ var s = function() {
10
10
  _,
11
11
  !1,
12
12
  null,
13
- "d4a5c957"
13
+ "8e229594"
14
14
  );
15
15
  const f = a.exports;
16
16
  export {
@@ -1,2 +1,2 @@
1
- declare const _default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue/types/v3-component-options").ComponentOptionsMixin, import("vue/types/v3-component-options").ComponentOptionsMixin, {}, string, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
1
+ declare const _default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue/types/v3-component-options.js").ComponentOptionsMixin, import("vue/types/v3-component-options.js").ComponentOptionsMixin, {}, string, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
2
2
  export default _default;
@@ -1,17 +1,17 @@
1
1
  import r from "./LeftSlot.vue2.js";
2
2
  import o from "../../../_virtual/_plugin-vue2_normalizer.js";
3
- var _ = function() {
4
- var t = this, e = t._self._c, n = t._self._setupProxy;
5
- return e("div", [e(n.InButtonV2, { attrs: { id: "guido__back-button", "label-text": "Back", "left-icon": "line-arrow-left", styling: "text", type: "secondary" } })], 1);
6
- }, s = [], a = /* @__PURE__ */ o(
3
+ var n = function() {
4
+ var t = this, e = t._self._c, s = t._self._setupProxy;
5
+ return e("div", { staticClass: "d-f a-i-c" }, [e(s.InButtonV2, { staticClass: "p-2", attrs: { id: "guido__back-button", "label-text": "Back", "left-icon": "line-arrow-left", styling: "text", type: "secondary" } }), s.editorStore.isVersionHistoryOpen ? e(s.RestoreButton, { staticClass: "ml-3" }) : t._e()], 1);
6
+ }, a = [], i = /* @__PURE__ */ o(
7
7
  r,
8
- _,
9
- s,
8
+ n,
9
+ a,
10
10
  !1,
11
11
  null,
12
12
  null
13
13
  );
14
- const i = a.exports;
14
+ const f = i.exports;
15
15
  export {
16
- i as default
16
+ f as default
17
17
  };
@@ -1,9 +1,11 @@
1
1
  import { defineComponent as t } from "vue";
2
- import { InButtonV2 as o } from "@useinsider/design-system-vue";
2
+ import { useEditorStore as o } from "../../../stores/editor.js";
3
+ import { InButtonV2 as r } from "@useinsider/design-system-vue";
4
+ import e from "./version-history/RestoreButton.vue.js";
3
5
  const _ = /* @__PURE__ */ t({
4
6
  __name: "LeftSlot",
5
- setup(e) {
6
- return { __sfc: !0, InButtonV2: o };
7
+ setup(m) {
8
+ return { __sfc: !0, editorStore: o(), InButtonV2: r, RestoreButton: e };
7
9
  }
8
10
  });
9
11
  export {
@@ -1,17 +1,17 @@
1
1
  import s from "./MiddleSlot.vue2.js";
2
- import n from "../../../_virtual/_plugin-vue2_normalizer.js";
3
- var i = function() {
2
+ import i from "../../../_virtual/_plugin-vue2_normalizer.js";
3
+ var n = function() {
4
4
  var e = this, o = e._self._c, t = e._self._setupProxy;
5
- return t.editorStore.isVersionHistoryOpen ? o(t.VersionHistory) : o("div", { staticClass: "d-f" }, [o(t.InButtonV2, { attrs: { id: "guido__undo-button", "left-icon": "line-undo", styling: "ghost", type: "secondary", "label-text-status": !1 } }), o(t.InButtonV2, { attrs: { id: "guido__redo-button", "left-icon": "line-redo", styling: "ghost", type: "secondary", "label-text-status": !1 } }), o(t.InButtonV2, { attrs: { id: "guido__code-button", "left-icon": "line-code", styling: "ghost", "tooltip-text": "Code Editor", type: "secondary", "label-text-status": !1, "selected-status": t.editorStore.isCodeEditorOpen, "tooltip-options": t.getTooltipOptions("guido__code-button") } }), o(t.InButtonV2, { attrs: { id: "guido__preview-button", "left-icon": "line-show-on", styling: "ghost", type: "secondary", "label-text-status": !1, "tooltip-options": t.getTooltipOptions("guido__preview-button"), "tooltip-text": t.trans("newsletter.email-preview") } })], 1);
6
- }, l = [], r = /* @__PURE__ */ n(
5
+ return t.editorStore.isVersionHistoryOpen ? o("div", { staticClass: "d-f" }, [o(t.VersionHistory), o(t.VersionHistoryViewOptions)], 1) : o("div", { staticClass: "d-f" }, [o(t.InButtonV2, { attrs: { id: "guido__undo-button", "left-icon": "line-undo", styling: "ghost", type: "secondary", "label-text-status": !1 } }), o(t.InButtonV2, { attrs: { id: "guido__redo-button", "left-icon": "line-redo", styling: "ghost", type: "secondary", "label-text-status": !1 } }), o(t.InButtonV2, { attrs: { id: "guido__code-button", "data-testid": "Code Editor", "left-icon": "line-code", styling: "ghost", "tooltip-text": "Code Editor", type: "secondary", "label-text-status": !1, "selected-status": t.editorStore.isCodeEditorOpen, "tooltip-options": t.getTooltipOptions("guido__code-button") } }), o(t.InButtonV2, { attrs: { id: "guido__preview-button", "left-icon": "line-show-on", styling: "ghost", type: "secondary", "label-text-status": !1, "tooltip-options": t.getTooltipOptions("guido__preview-button"), "tooltip-text": t.trans("newsletter.email-preview") } }), o(t.ViewOptions, { staticClass: "ml-3" })], 1);
6
+ }, l = [], r = /* @__PURE__ */ i(
7
7
  s,
8
- i,
8
+ n,
9
9
  l,
10
10
  !1,
11
11
  null,
12
12
  null
13
13
  );
14
- const _ = r.exports;
14
+ const p = r.exports;
15
15
  export {
16
- _ as default
16
+ p as default
17
17
  };
@@ -3,18 +3,20 @@ import { useTranslations as s } from "../../../composables/useTranslations.js";
3
3
  import { useEditorStore as n } from "../../../stores/editor.js";
4
4
  import { InButtonV2 as e } from "@useinsider/design-system-vue";
5
5
  import m from "./version-history/VersionHistory.vue.js";
6
- const _ = /* @__PURE__ */ r({
6
+ import p from "./version-history/ViewOptions.vue.js";
7
+ import f from "./ViewOptions.vue.js";
8
+ const y = /* @__PURE__ */ r({
7
9
  __name: "MiddleSlot",
8
- setup(p) {
10
+ setup(a) {
9
11
  const o = n(), t = s();
10
12
  return { __sfc: !0, editorStore: o, trans: t, getTooltipOptions: (i) => ({
11
13
  id: `${i}-tooltip`,
12
14
  dynamicPosition: !1,
13
15
  staticPosition: "bottom center",
14
16
  iconStatus: !1
15
- }), InButtonV2: e, VersionHistory: m };
17
+ }), InButtonV2: e, VersionHistory: m, VersionHistoryViewOptions: p, ViewOptions: f };
16
18
  }
17
19
  });
18
20
  export {
19
- _ as default
21
+ y as default
20
22
  };
@@ -1,2 +1,2 @@
1
- declare const _default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue/types/v3-component-options.js").ComponentOptionsMixin, import("vue/types/v3-component-options.js").ComponentOptionsMixin, {}, string, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
1
+ declare const _default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue/types/v3-component-options").ComponentOptionsMixin, import("vue/types/v3-component-options").ComponentOptionsMixin, {}, string, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
2
2
  export default _default;
@@ -1,20 +1,17 @@
1
1
  import o from "./RightSlot.vue2.js";
2
- /* empty css */
3
2
  import i from "../../../_virtual/_plugin-vue2_normalizer.js";
4
- var r = function() {
3
+ var n = function() {
5
4
  var s = this, e = s._self._c, t = s._self._setupProxy;
6
- return e("div", { staticClass: "d-f header-right-slot" }, [e("div", { staticClass: "d-f" }, [t.editorStore.isVersionHistoryOpen ? e(t.VersionHistoryViewOptions) : e(t.ViewOptions)], 1), e("div", { staticClass: "d-f" }, [e(t.InButtonV2, { attrs: { id: "guido__history-button", "left-icon": "line-architect-version-history", styling: "ghost", type: "secondary", "label-text-status": !1, "selected-status": t.editorStore.isVersionHistoryOpen }, on: { click: t.handleVersionHistory } }), e(t.InButtonV2, { attrs: { id: "guido__export-button", "left-icon": "line-export", styling: "ghost", type: "secondary", "disabled-status": t.editorStore.isVersionHistoryOpen, "label-text-status": !1 }, on: { click: t.exportHtml } }), e(t.InButtonV2, { attrs: { id: "guido__save-as-button", "left-icon": "line-newsletter-save-as-template", styling: "ghost", type: "secondary", "disabled-status": t.editorStore.isVersionHistoryOpen, "label-text-status": !1 } }), e(t.InButtonV2, { attrs: { id: "guido__test-button", "left-icon": "line-architect-test-journey", styling: "ghost", type: "secondary", "disabled-status": t.editorStore.isVersionHistoryOpen, "label-text-status": !1 } })], 1), t.editorStore.isVersionHistoryOpen ? e(t.InButtonV2, { attrs: { id: "guido__restore-button", "label-text": "Restore" }, on: { click: function(d) {
7
- return t.restoreVersion(t.versionHistoryStore.currentPatch.id);
8
- } } }) : e(t.InButtonV2, { attrs: { id: "guido__save-button", "label-text": "Save" } })], 1);
9
- }, n = [], a = /* @__PURE__ */ i(
5
+ return e("div", { staticClass: "d-f" }, [e(t.InButtonV2, { attrs: { id: "guido__history-button", "left-icon": "line-architect-version-history", styling: "ghost", type: "secondary", "label-text-status": !1, "selected-status": t.editorStore.isVersionHistoryOpen }, on: { click: t.handleVersionHistory } }), e(t.InButtonV2, { attrs: { id: "guido__export-button", "left-icon": "line-export", styling: "ghost", type: "secondary", "disabled-status": t.editorStore.isVersionHistoryOpen, "label-text-status": !1 }, on: { click: t.exportHtml } }), e(t.InButtonV2, { attrs: { id: "guido__save-as-button", "left-icon": "line-newsletter-save-as-template", styling: "ghost", type: "secondary", "disabled-status": t.editorStore.isVersionHistoryOpen, "label-text-status": !1 } }), e(t.InButtonV2, { attrs: { id: "guido__test-button", "left-icon": "line-architect-test-journey", styling: "ghost", type: "secondary", "disabled-status": t.editorStore.isVersionHistoryOpen, "label-text-status": !1 } }), e(t.InButtonV2, { staticClass: "ml-3", attrs: { id: "guido__save-button", "label-text": "Save", "disabled-status": t.editorStore.isVersionHistoryOpen } })], 1);
6
+ }, r = [], a = /* @__PURE__ */ i(
10
7
  o,
11
- r,
12
8
  n,
9
+ r,
13
10
  !1,
14
11
  null,
15
- "fefca98f"
12
+ null
16
13
  );
17
- const f = a.exports;
14
+ const c = a.exports;
18
15
  export {
19
- f as default
16
+ c as default
20
17
  };
@@ -1,24 +1,21 @@
1
- import { defineComponent as n } from "vue";
2
- import { useExport as m } from "../../../composables/useExport.js";
3
- import { useVersionHistoryApi as p } from "../../../composables/useVersionHistoryApi.js";
4
- import { useEditorStore as f } from "../../../stores/editor.js";
5
- import { useVersionHistoryStore as V } from "../../../stores/version-history.js";
6
- import { InButtonV2 as u } from "@useinsider/design-system-vue";
7
- import H from "./version-history/ViewOptions.vue.js";
8
- import c from "./ViewOptions.vue.js";
9
- const E = /* @__PURE__ */ n({
1
+ import { defineComponent as s } from "vue";
2
+ import { useExport as i } from "../../../composables/useExport.js";
3
+ import { useVersionHistoryApi as n } from "../../../composables/useVersionHistoryApi.js";
4
+ import { useEditorStore as p } from "../../../stores/editor.js";
5
+ import { InButtonV2 as m } from "@useinsider/design-system-vue";
6
+ const d = /* @__PURE__ */ s({
10
7
  __name: "RightSlot",
11
- setup(y) {
12
- const { exportHtml: e } = m(), { openVersionHistory: o, closeVersionHistory: r, restoreVersion: i } = p(), t = f(), s = V();
13
- return { __sfc: !0, exportHtml: e, openVersionHistory: o, closeVersionHistory: r, restoreVersion: i, editorStore: t, versionHistoryStore: s, handleVersionHistory: () => {
8
+ setup(f) {
9
+ const { exportHtml: e } = i(), { openVersionHistory: o, closeVersionHistory: r } = n(), t = p();
10
+ return { __sfc: !0, exportHtml: e, openVersionHistory: o, closeVersionHistory: r, editorStore: t, handleVersionHistory: () => {
14
11
  if (t.isVersionHistoryOpen) {
15
12
  r();
16
13
  return;
17
14
  }
18
15
  o();
19
- }, InButtonV2: u, VersionHistoryViewOptions: H, ViewOptions: c };
16
+ }, InButtonV2: m };
20
17
  }
21
18
  });
22
19
  export {
23
- E as default
20
+ d as default
24
21
  };
@@ -0,0 +1,2 @@
1
+ declare const _default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue/types/v3-component-options").ComponentOptionsMixin, import("vue/types/v3-component-options").ComponentOptionsMixin, {}, string, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
2
+ export default _default;
@@ -0,0 +1,19 @@
1
+ import n from "./RestoreButton.vue2.js";
2
+ import o from "../../../../_virtual/_plugin-vue2_normalizer.js";
3
+ var s = function() {
4
+ var e = this, r = e._self._c, t = e._self._setupProxy;
5
+ return r(t.InButtonV2, { attrs: { id: "guido__restore-button", "label-text": "Restore", type: "subtle-primary" }, on: { click: function(a) {
6
+ return t.restoreVersion(t.versionHistoryStore.currentPatch.id);
7
+ } } });
8
+ }, _ = [], i = /* @__PURE__ */ o(
9
+ n,
10
+ s,
11
+ _,
12
+ !1,
13
+ null,
14
+ null
15
+ );
16
+ const f = i.exports;
17
+ export {
18
+ f as default
19
+ };
@@ -0,0 +1,14 @@
1
+ import { defineComponent as t } from "vue";
2
+ import { useVersionHistoryApi as e } from "../../../../composables/useVersionHistoryApi.js";
3
+ import { useVersionHistoryStore as s } from "../../../../stores/version-history.js";
4
+ import { InButtonV2 as n } from "@useinsider/design-system-vue";
5
+ const _ = /* @__PURE__ */ t({
6
+ __name: "RestoreButton",
7
+ setup(i) {
8
+ const { restoreVersion: o } = e(), r = s();
9
+ return { __sfc: !0, restoreVersion: o, versionHistoryStore: r, InButtonV2: n };
10
+ }
11
+ });
12
+ export {
13
+ _ as default
14
+ };
@@ -1,2 +1,14 @@
1
- declare const _default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue/types/v3-component-options.js").ComponentOptionsMixin, import("vue/types/v3-component-options.js").ComponentOptionsMixin, {}, string, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
1
+ type __VLS_Props = {
2
+ itemStatus?: boolean;
3
+ };
4
+ declare const _default: import("vue").DefineComponent<__VLS_TypePropsToOption<__VLS_Props>, {}, {}, {}, {}, import("vue/types/v3-component-options.js").ComponentOptionsMixin, import("vue/types/v3-component-options.js").ComponentOptionsMixin, {}, string, Readonly<import("vue").ExtractPropTypes<__VLS_TypePropsToOption<__VLS_Props>>>, {}>;
2
5
  export default _default;
6
+ type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
7
+ type __VLS_TypePropsToOption<T> = {
8
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
9
+ type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
10
+ } : {
11
+ type: import('vue').PropType<T[K]>;
12
+ required: true;
13
+ };
14
+ };
@@ -2,21 +2,21 @@ import o from "./VersionHistory.vue2.js";
2
2
  /* empty css */
3
3
  import i from "../../../../_virtual/_plugin-vue2_normalizer.js";
4
4
  var n = function() {
5
- var r = this, e = r._self._c, t = r._self._setupProxy;
6
- return e("div", { staticClass: "version-history-wrapper d-f a-i-c f-g-1 mx-2" }, [e(t.VersionHistoryItem, { attrs: { "text-align": "right", date: t.versionHistoryStore.previousPatch.date, description: t.versionHistoryStore.previousPatch.description } }), e("div", { staticClass: "d-f" }, [e(t.InButtonV2, { attrs: { id: "guido__undo-button", "left-icon": "line-undo", styling: "ghost", type: "secondary", "disabled-status": !t.versionHistoryStore.hasPreviousPatch, "label-text-status": !1 }, on: { click: function(s) {
5
+ var s = this, e = s._self._c, t = s._self._setupProxy;
6
+ return e("div", { staticClass: "version-history-wrapper d-f a-i-c f-g-1 mx-3" }, [t.itemStatus ? e(t.VersionHistoryItem, { attrs: { "text-align": "right", date: t.versionHistoryStore.previousPatch.date, description: t.versionHistoryStore.previousPatch.description } }) : s._e(), e("div", { staticClass: "d-f" }, [e(t.InButtonV2, { attrs: { id: "guido__undo-button", "left-icon": "line-undo", styling: "ghost", type: "secondary", "disabled-status": !t.versionHistoryStore.hasPreviousPatch, "label-text-status": !1 }, on: { click: function(r) {
7
7
  return t.previewVersion(t.versionHistoryStore.previousPatch.id);
8
- } } }), e(t.InButtonV2, { attrs: { id: "guido__redo-button", "left-icon": "line-redo", styling: "ghost", type: "secondary", "disabled-status": !t.versionHistoryStore.hasNextPatch, "label-text-status": !1 }, on: { click: function(s) {
8
+ } } }), e(t.InButtonV2, { attrs: { id: "guido__redo-button", "left-icon": "line-redo", styling: "ghost", type: "secondary", "disabled-status": !t.versionHistoryStore.hasNextPatch, "label-text-status": !1 }, on: { click: function(r) {
9
9
  return t.previewVersion(t.versionHistoryStore.nextPatch.id);
10
- } } })], 1), e(t.VersionHistoryItem, { attrs: { "text-align": "left", date: t.versionHistoryStore.nextPatch.date, description: t.versionHistoryStore.nextPatch.description } })], 1);
10
+ } } })], 1), t.itemStatus ? e(t.VersionHistoryItem, { attrs: { "text-align": "left", date: t.versionHistoryStore.nextPatch.date, description: t.versionHistoryStore.nextPatch.description } }) : s._e()], 1);
11
11
  }, a = [], c = /* @__PURE__ */ i(
12
12
  o,
13
13
  n,
14
14
  a,
15
15
  !1,
16
16
  null,
17
- "187d41fa"
17
+ "52a77eec"
18
18
  );
19
- const p = c.exports;
19
+ const _ = c.exports;
20
20
  export {
21
- p as default
21
+ _ as default
22
22
  };
@@ -1,15 +1,18 @@
1
- import { defineComponent as t } from "vue";
2
- import { useVersionHistoryApi as e } from "../../../../composables/useVersionHistoryApi.js";
3
- import { useVersionHistoryStore as s } from "../../../../stores/version-history.js";
4
- import { InButtonV2 as i } from "@useinsider/design-system-vue";
5
- import n from "./VersionHistoryItem.vue.js";
6
- const c = /* @__PURE__ */ t({
1
+ import { defineComponent as i } from "vue";
2
+ import { useVersionHistoryApi as n } from "../../../../composables/useVersionHistoryApi.js";
3
+ import { useVersionHistoryStore as m } from "../../../../stores/version-history.js";
4
+ import { InButtonV2 as p } from "@useinsider/design-system-vue";
5
+ import f from "./VersionHistoryItem.vue.js";
6
+ const _ = /* @__PURE__ */ i({
7
7
  __name: "VersionHistory",
8
- setup(m) {
9
- const o = s(), { previewVersion: r } = e();
10
- return { __sfc: !0, versionHistoryStore: o, previewVersion: r, InButtonV2: i, VersionHistoryItem: n };
8
+ props: {
9
+ itemStatus: { type: Boolean }
10
+ },
11
+ setup(t) {
12
+ const o = t, r = m(), { previewVersion: e } = n(), { itemStatus: s = !1 } = o;
13
+ return { __sfc: !0, versionHistoryStore: r, previewVersion: e, props: o, itemStatus: s, InButtonV2: p, VersionHistoryItem: f };
11
14
  }
12
15
  });
13
16
  export {
14
- c as default
17
+ _ as default
15
18
  };
@@ -1,13 +1,49 @@
1
- import r from "../static/editor.css.js";
2
- const c = () => ({ importCss: () => {
3
- const e = new CSSStyleSheet();
4
- e.replaceSync(r);
5
- const t = document.querySelector("ui-editor");
6
- if (!t)
1
+ import S from "../static/styles/base.css.js";
2
+ import e from "../static/styles/components/alert-message.css.js";
3
+ import m from "../static/styles/components/amp-block.css.js";
4
+ import i from "../static/styles/components/base-input.css.js";
5
+ import p from "../static/styles/components/button-group.css.js";
6
+ import n from "../static/styles/components/button.css.js";
7
+ import s from "../static/styles/components/combobox.css.js";
8
+ import C from "../static/styles/components/counter.css.js";
9
+ import f from "../static/styles/components/dropdown-menu.css.js";
10
+ import a from "../static/styles/components/narrow-panel.css.js";
11
+ import u from "../static/styles/components/switcher.css.js";
12
+ import c from "../static/styles/components/tabs.css.js";
13
+ import d from "../static/styles/components/tools.css.js";
14
+ import l from "../static/styles/components/version-history.css.js";
15
+ import h from "../static/styles/components/wide-panel.css.js";
16
+ import w from "../static/styles/variables.css.js";
17
+ const y = [
18
+ w,
19
+ // Must be on top
20
+ S,
21
+ // Must be on top
22
+ e,
23
+ m,
24
+ i,
25
+ p,
26
+ n,
27
+ s,
28
+ C,
29
+ f,
30
+ a,
31
+ u,
32
+ c,
33
+ d,
34
+ l,
35
+ h
36
+ ].join(`
37
+
38
+ `), N = () => ({ importCss: () => {
39
+ const o = new CSSStyleSheet();
40
+ o.replaceSync(y);
41
+ const r = document.querySelector("ui-editor");
42
+ if (!r)
7
43
  return;
8
- const o = t.shadowRoot;
9
- o && (o.adoptedStyleSheets = [e]);
44
+ const t = r.shadowRoot;
45
+ t && (t.adoptedStyleSheets = [o]);
10
46
  } });
11
47
  export {
12
- c as useCustomInterfaceAppearance
48
+ N as useCustomInterfaceAppearance
13
49
  };
@@ -1,3 +1,3 @@
1
1
  export declare const useExport: () => {
2
- exportHtml: () => Promise<void>;
2
+ exportHtml: (compile?: boolean) => Promise<void>;
3
3
  };